Chinaunix首页 | 论坛 | 博客
  • 博客访问: 43608
  • 博文数量: 42
  • 博客积分: 2520
  • 博客等级: 少校
  • 技术积分: 610
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-10 13:46
文章分类
文章存档

2008年(42)

我的朋友
最近访客

分类:

2008-04-28 10:44:19

防火墙技术是网络安全领域应用较普遍的一种技术。传统防火墙基本分为两大类:包过滤防火墙和应用网关防火墙,这两种防火墙由于种种原因,逐渐不能适应新的网络安全需求。因此,新一代的防火墙———Stateful-inspection防火墙便应运而生。Stateful-inspection防火墙在传统防火墙的基础上,扬其长,补其短,对防火墙技术的发展具有革新意义。
  防火墙安全性需求
  防火墙为了提供网络稳定可靠的安全性,必须跟踪流经它的所有通信信息。为了达到控制目的,防火墙首先必须获得所有通信层和其它应用的信息,然后存储这些信息,另外还要能够重新获得对这些信息的控制能力。
  防火墙仅检查独立的信息包是不够的,因为状态信息(以前的通信和其它应用信息)是控制新的通信连接的最基本因素。对于某一通信连接,通信状态(以前的通信信息)和应用状态(其他的应用信息)是对该连接做出控制决定的关键因素。因此,为了保证高层的安全,防火墙必须能够访问、分析和利用以下几种信息:
  *通信信息:所有应用层的数据包信息;
  *通信状态:以前的通信状态信息;
  *来自应用的状态:其它应用的状态信息;
  *信息处理:基于以上所有元素的、灵活的、表达式的估算。
   Stateful-inspection防火墙定义
  Stateful-inspection防火墙是新一代的防火墙技术,是由CheckPoint公司引入的。它监视每一个有效连接的状态,并根据这些信息决定网络数据包是否能够通过防火墙。它在协议栈低层截取数据包,然后分析这些数据包,并且将当前数据包和状态信息与前一时刻的数据包和状态信息进行比较,从而得到该数据包的控制信息,来达到保护网络安全的目的。和应用网关防火墙相比较而言,Stateful-inspection防火墙使用用户定义的过滤规则,不依赖预先定义的应用信息,执行效率比应用网关防火墙高;而且它不识别特定的应用信息,所以不用对不同的应用信息制定不同的应用规则,从而具有伸缩性好的优点。表1是Stateful-inspection防火墙与传统防火墙技术(如包过滤和应用网关)的性能比较。
  表1 三种主要防火墙技术的性能比较
   
  Stateful-inspection防火墙工作原理
  有比较才有鉴别,为了更好地理解Stateful-inspection防火墙的工作原理,我们先了解一下传统防火墙的工作原理及其优缺点。
  包过滤防火墙
  包过滤防火墙一般在路由器上实现,用以过滤用户定义的内容,如IP地址。包过滤防火墙的工作原理是:系统在网络层检查数据包,与应用层无关。这样系统就具有很好的传输性能,可扩展能力强。但是,包过滤防火墙的安全性有一定的缺陷,因为系统对应用层信息无感知,也就是说,防火墙不理解通信的内容,所以可能被黑客所攻破。图1为包过滤防火墙工作原理图。
  正是由于这种工作机制,包过滤防火墙存在以下缺陷:
  *通信信息:包过滤防火墙只能访问部分数据包的头信息;
  *通信和应用状态信息:包过滤防火墙是无状态的,所以它不可能保存来自于通信和应用的状态信息;
  *信息处理:包过滤防火墙处理信息的能力是有限的。
   
  图1 包过滤防火墙工作原理图
  应用网关防火墙
  应用网关防火墙检查所有应用层的信息包,并将检查的内容信息放入决策过程,从而提高网络的安全性。然而,应用网关防火墙是通过打破客户机/服务器模式实现的。每个客户机/服务器通信需要两个连接:一个是从客户端到防火墙,另一个是从防火墙到服务器。另外,每个代理需要一个不同的应用进程,或一个后台运行的服务程序,对每个新的应用必须添加针对此应用的服务程序,否则不能使用该服务。所以,应用网关防火墙具有可伸缩性差的缺点。图2为应用网关防火墙工作原理图。
  基于以上这种工作机制,应用网关防火墙存在以下缺陷:
  *连接限制:每一个服务需要自己的代理,所以可提供的服务数和可伸缩性受到限制;
  *技术限制:应用网关不能为UDP、RPC及普通协议族的其他服务提供代理;
  *性能:应用网关防火墙牺牲了一些系统性能。
   
  图2 应用网关防火墙工作原理图
  Stateful-inspection防火墙
  Stateful-inspection防火墙克服了前两种防火墙技术的限制,它在不断开客户机/服务器的模式的前提下,提供一个完全的应用层感知。在Stateful-inspection防火墙里,信息包在网络层就被截取了,然后,防火墙从接收到的数据包中提取与安全策略相关的状态信息,并将这些信息保存在一个动态状态表中,用于验证后续的连接请求。可见,Stateful-inspection防火墙提供了一个高安全性的方案,系统的执行效率提高了,还具有很好的可伸缩性和可扩展性。图3为Stateful-inspection防火墙工作原理图。
  
   图3 Stateful-inspection防火墙工作原理图
  高安全性
  Stateful-inspection防火墙工作在数据链路层和网络层之间,它从中截取数据包。由于数据链路层是网卡工作的真正位置,网络层是协议栈的第一层,所以防火墙确保了对所有通过网络的原始数据包的截取和检查。防火墙对截取到的数据包进行如下的处理:
  首先根据安全策略从数据包中提取有用信息,并保存在内存中;然后将相关信息组合起来,进行一些逻辑或数学运算,再根据运算的结论实施相应的操作,如允许数据包通过、拒绝数据包、认证连接和加密数据等。
  Stateful-inspection防火墙虽然工作在协议栈较低层,但它监测所有应用层的数据包,从中提取有用信息,如IP地址、端口号和数据内容等,安全性从而得到了很大提高。
  高效性
  Stateful-inspection防火墙工作在协议栈的较低层,通过防火墙的所有数据包都在低层处理,而不需要协议栈的上层来处理任何数据包,因此减少了高层协议头的开销,执行效率也大大提高;另外,一旦一个连接在防火墙中建立起来,就不用再对该连接进行更多的处理,这样,系统就可以去处理其他连接,执行效率可以得到进一步的提高。
  可伸缩性和可扩展性
  应用网关防火墙采用一个应用对应一个服务程序的方式。因为这种方式所能提供的服务是有限的,而且当增加一个新的服务时,必须为新的服务开发相应的服务程序,因此,系统的可伸缩性和可扩展性降低。然而,Stateful-inspection防火墙不区分每个具体的应用,只是根据从数据包中提取的信息、对应的安全策略以及过滤规则来处理数据包,当增加一个新的应用时,Stateful-inspec?tion防火墙能动态地产生新应用的规则,而不需要另外编写代码,所以系统具有很好的可伸缩性和可扩展性。
  应用范围广
  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防火墙等,Stateful-inspection防火墙技术的采用无疑在很大程度上保证了这些产品的先进性。
阅读(410) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~