1
计算机网络技术理论与实践
1.8.2.2 7.2.2 防火墙过滤策略

7.2.2 防火墙过滤策略

防火墙实现技术大致可分为包过滤型和应用代理型两大类。其中,包过滤型又分为简单包过滤型和状态检测型;应用代理型又分为应用网关型和自适应代理型。

1.包过滤(Packet Filtering)型防火墙

包过滤型防火墙工作在OSI参考模型的网络层和传输层,它根据数据包中的源地址、目的地址、端口号和协议类型等字段确定是否允许数据包通过。只有满足过滤条件的数据包才被转发到相应的目的地,不满足的数据包被丢弃。

包过滤方式是一种通用、廉价和有效的安全手段。它不是针对具体的网络服务采取特殊的处理方式,可以适用于所有网络服务,能够在很大程度上满足绝大多数企业的安全要求。通常大多数路由器都需要提供数据包过滤功能,所以这类防火墙大多集成在路由器中。

采用包过滤技术时,数据接收和转发模块所面向的是单个网络数据包。根据对数据包所采用的处理策略,包过滤型防火墙可分为简单包过滤型和状态检测型。

(1)简单包过滤型防火墙

简单包过滤型防火墙又称为静态包过滤防火墙,它是根据定义好的过滤规则在网络层或传输层上检查每个数据包,确定其是否与某一条包过滤规则相匹配,如图7-1所示。过滤规则是基于数据包的报头信息制订的。报头信息中包括源IP地址、目标IP地址、传输协议、TCP/UDP源/目的端口号等。简单包过滤型防火墙原理简单,实现成本较低,能够以较小的代价在一定程度上保证系统的安全。但是它的安全性不高,仅仅根据数据包的报头信息制定静态的过滤规则,无法检测出动态的非法数据。

img180

图7-1 简单包过滤防火墙示意图

(2)状态检测型防火墙

状态检测型防火墙又称为动态包过滤防火墙,是对静态包过滤防火墙进行了功能扩展。状态检测型防火墙中不仅考查数据包报头中的参数,还关注数据包连接状态的变化,在防火墙的核心部分建立连接状态表,将进出网络的数据流根据一定的规则转换为多个会话,利用状态表跟踪每一个会话的状态,如图7-2所示。

img181

图7-2 状态检测防火墙示意图

状态检测型防火墙能够监测无连接状态的远程过程调用和UDP数据报,而静态包过滤型和应用网关型防火墙都不支持此类应用。但是状态检测型防火墙对软硬件的要求比较高,软件的配置也比较复杂,还会增加网络连接的时延。

2.应用代理(Application Proxy)型防火墙

应用代理型防火墙工作在OSI参考模型的应用层。它完全隔离了网络数据流,通过对每种应用服务编制专门的代理程序,实现对应用层数据流的监控,其典型网络结构如图7-3所示。

应用代理型防火墙的安全性非常高,它工作在应用层,可以对网络中任何一层数据通信进行过滤,不像包过滤型防火墙只能对网络层和传输层的数据进行过滤。应用代理型防火墙采取的是一种代理机制,它可以为每一种应用服务建立一个专门的代理,内、外部网络之间不能直接建立连接,需先经过代理服务审核,通过后再由代理服务代为连接,可以防止使用数据驱动类型攻击方式入侵内部网。

应用代理型防火墙的处理速度相对比较慢,当用户对内、外部网络间的吞吐量要求比较高时,不适于采用应用代理型防火墙。因为这种防火墙需要为不同的网络服务建立专门的代理服务,代理服务为内、外部网络用户建立连接时需要一定的时间,会降低系统性能。

应用代理技术将安全保护能力提高到了应用层,可分为应用网关型和自适应代理型。

(1)应用网关型防火墙

应用网关型防火墙通过代理技术可以参与到一个TCP连接的全过程中。防火墙检查进出的数据包,通过复制传递数据的方式,防止在受信主机与非受信主机间直接建立连接。从内部网络发出的数据包经过应用网关型防火墙处理后,就像是源于防火墙的外部网络接口一样,可以达到隐藏内部网络拓扑结构的作用。应用网关型防火墙能够理解应用层的协议,可以实现复杂的访问控制,如图7-4所示。

img182

图7-3 应用代理型防火墙网络结构图

img183

图7-4 应用网关型防火墙示意图

(2)自适应代理型防火墙

自适应代理型防火墙结合了应用代理型防火墙的安全性和包过滤型防火墙的高效性,在不损失安全性的基础上获得了较高的性能。

自适应代理型防火墙包括自适应代理服务器(Adaptive Proxy Server)和动态包过滤器(Dynamic Packet Filter)。在自适应代理服务器与动态包过滤器之间存在一个控制通道。对防火墙进行配置时,用户将所需的服务类型、安全级别等信息通过代理服务器的管理界面进行设置。自适应代理服务器会根据用户的配置信息,决定是使用代理服务从应用层代理请求还是从网络层转发数据包。如果直接从网络层转发,可以通知动态包过滤器增减过滤规则,以满足用户对速度和安全性上的要求,如图7-5所示。

img184

图7-5 自适应代理型防火墙示意图