防火墙技术之----包过滤(Packet|防火墙技术之----包过滤(Packet Filter)

1.包过滤防火墙简介
防火墙是指设置在不同网络(任何信任的企业内部网络和不信任的公网)或网络安全域之间的一系列的部件组合。她可以通过检测、限制、分析跨越防火墙的数据流,按照用户的需要对这些数据流进行安全性划分,尽可能的对外部屏蔽内部网络的信息、结构和运行情况,以此来实现网络的安全保护。在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,有效的监控了内网和Internet之间的任何活动,保证了内部网络的安全。
防火墙是一把利器,它的发展经历了技术和市场的考验,典型的防火墙技术包括如下几类:包过滤防火墙,状态防火墙,NAT地址转换技术和ALG应用层网关技术等。之所以将NAT技术也划分到防火墙的行列,是因为他天然采用了公司网地址将公网和私网分割开来,对外网屏蔽了内网。
那么包过滤防火墙正如其名是对通过防火墙的数据包逐层进行解析,一般之作用于协议第三层,对防火墙设备的IP包头进行解析,根据事先定义的访问控制列表(ACL)规则对数据包进行过滤。ACL的出现就是配合防火墙的设计而被定义出来的。所以包过滤防火墙的精华之处就在于ACL。当然Packet-filtering即可作用在入方向也可作用在出方向,可能是全局也可能是基于接口的。
2.包过滤防火墙的具体实现细节
1)防火墙缺省规则(Firewall default permit/deny)
一般来说包过滤防火墙都有一个缺省的默认规则,该种方式一般是全局的配置,是对于那些无法匹配定义的ACL的数据包采取的Action,其中需要注意的是当firewall default deny时,数据包会建立会话后立即删除,以保证deny操作对后续报文因匹配session而透传的情况的发生。
2)基于ACL的包过滤
前面也讲到包过滤的核心在于ACL的定义。而ACL的核心其实就是一个典型的五元组(源IP地址、目的IP地址、源端口、目的端口、协议号)。也就是网管需要提前根据需要将网络中的数据流进行划分,根据五元组定义不同的ACL,然后对不同的ACL定义不同的防火墙策略(permit or deny)。所以可以看出ACL是防火墙的基础。一般来说当前的安全设备厂商有一些如cisco,H3C等都是细分了ACL,根据协议层次将ACL分为基础ACL(只对源IP地址有效),高级ACL(五元组),可定义ACL等,还有一些厂商如联想网御则是只提供包分类却不细分,让用户自已根据需要来定义。不管如何划分其实质都是一样的,都是根据五元组,或出入接口,或底层的MAC地址等等作为定义ACL的基础。本文对ACL不作详细的介绍,会单独给予介绍。现在先建立一个概念即可。
定义了ACL之后,然后会在防火墙设备接口上将提前定义的ACL规则跟防火墙进行绑定,进而对IN、OUT方向对Packet进行匹配处理。如:firewall packet-filtering acl 2000 oubound/inbound。当然有些厂商防火墙规则是基于接口的,这种好处显而易见基于接口方便定义,便于细分网络。而有些厂商却是全局的,这样定义上不是很明确,理解起来有点难。
3)防火墙对分片报文的处理
传统的防火墙只对报文首片进行匹配,如首片通过则允许后续分片通过。而实际上用户希望防火墙不仅可以过滤首片,还可以阻止非法后续分片报文。对于传统的防火墙用户可以构造满足防火墙规则的后续分片报文进行***。为了解决这个这个问题,ACL增加了fragment选项,增加了对于分片报文的检测。
如:acl number 3000
rule 0 deny icmp source 20.0.0.2 0 fragment
分片报文和非分片报文都包含三层IP信息(以UDP为例),因此将匹配分为三层信息匹配和三层以外的信息匹配两种,而对三层以外信息匹配分为标准匹配和精确匹配两种。
对于三层IP信息匹配,由于IP分片报文同样包含了三层地址信息和协议类信息,和传统的处理一样,只需将分片考虑进来。而对于三层以外的信息匹配,分为标准匹配和精确匹配两种:
标准匹配:忽略三层以外信息,对permit的acl,该acl项有效且只匹配三层信息;对deny的acl,该acl无效,被忽略。
精确匹配:要求满足所有项,对于分片报文。将保存首片以外的信息,后续分片到达,首先检查属于该分片的首片报文中的三层以外的信息后与acl项匹配,该匹配要求分片首片先于分片到达,否则分片将不匹配。
4)二层以太帧过滤Ethenet Frame filtering(EFF)
传统的包过滤技术多注重三层信息的匹配,基本ACL只根据SIP对数据包进行过滤。高级ACL根据五元组(SIP,DIP,SPORT,DPORT,PROTO)对数据报进行过滤。那么为了实现网桥模式下数据包的过滤,后来又定义了二层以太帧过滤技术,EFF的基础还是ACL,只不过该ACL定义的基础是Frame,也就是二层信息字段。如SMAC,DMAC,TYPE及TOS等字段定义ACL规则。


【防火墙技术之----包过滤(Packet|防火墙技术之----包过滤(Packet Filter)】转载于:https://blog.51cto.com/simonsec/194670

    推荐阅读