论文部分内容阅读
东大阿尔派软件股份有限公司 黄利萍 曹斌
防火墙技术是网络安全领域应用较普遍的一种技术,传统上防火墙基本分为两大类,即包过滤防火墙和应用网关防火墙,这两种防火墙由于其受限的地方,逐渐不能适应当前的需求,因此新一代的防火墙Stateful-inspection防火墙应运而生,这种防火墙既继承了传统防火墙的优点,又克服了传统防火墙的缺点,是一种革新式的防火墙。
一、防火墙安全性需求
使用防火墙的主要目的就是为了保证网络的安全,一个防火墙为了提供稳定可靠的安全性,必须跟踪流经它的所有通信信息。为了达到控制目的,防火墙首先必须获得所有通信层和其它应用的信息,然后存储这些信息,还要能够重新获得以及控制这些信息。
防火墙仅检查独立的信息包是不够的,因为状态信息——以前的通信和其它应用信息)——是控制新的通信连接的最基本的因素。对于某一通信连接,通信状态(以前的通信信息)和应用状态(其他的应用信息)是对该连接做控制决定的关键因素。因此为了保证高层的安全,防火墙必须能够访问、分析和利用以下几种信息:
* 通信信息:所有应用层的数据包的信息;
* 通信状态:以前的通信状态信息;
* 来自应用的状态:其它应用的状态信息;
* 信息处理:基于以上所有元素的灵活的表达式的估算。
二、Stateful-inspection防火墙定义
Stateful-inspection防火墙是新一代的防火墙技术,由Check Point公司引入。它监视每一个有效连接的状态,并根据这些信息决定网络数据包是否能够通过防火墙。它在协议栈低层截取数据包,然后分析这些数据包,并且将当前数据包及其状态信息和其前一时刻的数据包及其状态信息进行比较,从而得到该数据包的控制信息,来达到保护网络安全的目的。和应用网关不同,Stateful-inspection防火墙使用用户定义的过滤规则,不依赖预先定义的应用信息,执行效率比应用网关高,而且它不识别特定的应用信息,因此不用对不同的应用信息制定不同的应用规则,伸缩性好。表1是Stateful-inspection防火墙与传统的防火墙技术例如包过滤和应用网关的比较表:
三、Stateful-inspection防火墙的工作原理
有比较才知优劣,为了更好的理解Stateful-inspection防火墙的工作原理,我们先了解一下传统防火墙的工作原理及其优缺点。
1.包过滤防火墙的工作原理
包过滤防火墙一般在路由器上实现,过滤用户定义的内容,如IP地址。其工作原理是系统在网络层检查数据包,与应用层无关,这样系统就具有很好的传输性能,易扩展。但是这种防火墙不太安全,因为系统对应用层信息无感知——也就是说,它们不理解通信的内容,这样更容易被黑客攻破。
基于这种工作机制,包过滤防火墙有以下缺陷:
* 通信信息:包过滤防火墙只能访问部分数据包的头信息;
* 通信和应用状态信息:包过滤防火墙是无状态的,所以它不可能保存来自于通信和应用的状态信息;
* 信息处理:包过滤防火墙处理信息的能力是有限的。
2.应用网关
应用网关是检查所有应用层的信息包,并将检查的内容信息放入决策过程,这样安全性有所提高。然而,它们是通过打破客户机/服务器模式实现的,每一个客户机/服务器通信需要两个连接:一个是从客户端到防火墙,另一个是从防火墙到服务器。另外,每一个代理需要一个不同的应用进程,或一个后台运行的服务程序,这样如果有一个新的应用就必须添加对此应用的服务程序,否则不能使用该种服务,可伸缩性差。
基于这种工作机制,应用网关防火墙有以下缺陷:
* 连接限制:每一个服务需要自己的代理,所以可提供的服务数和伸缩性受到限制;
* 技术限制:应用网关不能为UDP、RPC及普通协议族的其他服务提供代理;
* 性能:实现应用网关防火墙牺牲了一些系统性能。
3.Stateful-inspection防火墙
图1 Stateful-inspection防火墙工作原理图
Stateful-inspection克服了前两种方法的限制,其实现是通过不断开客户机/服务器的模式而提供一个完全的应用层感知。在Stateful-inspection里,信息包在网络层就被截取了,然后防火墙从接收到的数据包中提取与安全策略相关的状态信息,将这些信息保存在一个动态状态表中,其目的是为了验证后续的连接请求,这样提供了一个高安全性的方案,系统的执行效率提高了,还具有很好的伸缩性和扩展性。图1为Stateful-inspection防火墙工作原理图。
四、Stateful-inspection防火墙的优点
1.高安全性
Stateful-inspection防火墙工作在数据链路层和网络层之间,它从这里截取数据包,因为数据链路层是网卡工作的真正位置,网络层是协议栈的第一层,这样防火墙确保了截取和检查所有通过网络的原始数据包。防火墙截取到数据包就处理它们,首先根据安全策略从数据包中提取有用信息,保存在内存中;然后将相关信息组合起来,进行一些逻辑或数学运算,获得相应的结论,进行相应的操作,如允许数据包通过、拒绝数据包、认证连接、加密数据等。Stateful-inspection防火墙虽然工作在协议栈较低层,但它监测所有应用层的数据包,从中提取有用信息,如IP地址、端口号、数据内容等,这样安全性得到很大提高。
2.高效性
Stateful-inspection防火墙工作在协议栈的较低层,通过防火墙的所有的数据包都在低层处理,而不需要协议栈的上层处理任何数据包,这样减少了高层协议头的开销,执行效率提高很多;另外在这种防火墙中一旦一个连接建立起来,就不用再对这个连接做更多工作,系统可以去处理别的连接,执行效率明显提高。
3.可伸缩性和易扩展性
Stateful-inspection防火墙不像应用网关式防火墙那样,每一个应用对应一个服务程序,这样所能提供的服务是有限的,而且当增加一个新的服务时,必须为新的服务开发相应的服务程序,这样系统的可伸缩性和可扩展性降低。Stateful-inspection防火墙不区分每个具体的应用,只是根据从数据包中提取出的信息、对应的安全策略及过滤规则处理数据包,当有一个新的应用时,它能动态产生新的应用的新的规则,而不用另外写代码,所以具有很好的伸缩性和扩展性。
4.应用范围广
Stateful-inspection防火墙不仅支持基于TCP的应用,而且支持基于无连接协议的应用,如RPC、基于UDP的应用(DNS、WAIS、Archie等)等。对于无连接的协议,连接请求和应答没有区别,包过滤防火墙和应用网关对此类应用要么不支持,要么开放一个大范围的UDP端口,这样暴露了内部网,降低了安全性。
Stateful-inspection防火墙对基于UDP应用安全的实现是通过在UDP通信之上保持一个虚拟连接来实现。防火墙保存通过网关的每一个连接的状态信息,允许穿过防火墙的UDP请求包被记录,当UDP包在相反方向上通过时,依据连接状态表确定该UDP包是否被授权的,若已被授权,则通过,否则拒绝。如果在指定的一段时间内响应数据包没有到达,连接超时,则该连接被阻塞,这样所有的攻击都被阻塞,UDP应用安全实现了。
Stateful-inspection防火墙也支持RPC,因为对于RPC服务来说,其端口号是不定的,因此简单的跟踪端口号是不能实现该种服务的安全的,Stateful-inspection防火墙通过动态端口映射图记录端口号,为验证该连接还保存连接状态、程序号等,通过动态端口映射图来实现此类应用的安全。
五、结束语
随着网络的高速发展、网络应用的普及,人们对网络安全提出越来越高的要求,Stateful-inspection防火墙不仅继承了包过滤防火墙和应用网关防火墙的优点,而且克服了这两种防火墙的缺点,是新一代的防火墙技术。这种技术自问世以来就成为防火墙产品的主流技术,国内外许多公司的防火墙产品都采用这种技术,如CheckPoint公司的FireWall-1防火墙,NetGuard公司的Guardian Firewall防火墙,东大阿尔派公司的NetEye防火墙等产品都采用此种技术,这种技术的采用不仅使得他们的产品成为市场上的主流产品,并占据着重要地位,而且更加符合广大用户的需要。