状态检测防火墙
这是第三代防火墙技术,能对网络通信的各层实行检测。同包过滤技术一样,它能够检测通过IP地址、端口号以及TCP标记,过滤
进出的数据包。它允许受信任的客户机和不受信任的主机建立直接连接,不依靠
与应用层有关的代理,而是依靠某种算法来识别进出的应用层数据,这些算法通
过己知合法数据包的模式来比较进出数据包,这样从理论上就能比应用级代理在
过滤数据包上更有效。
状态监视器的监视模块支持多种协议和应用程序,可方便地实现应用和服务的扩充。此外,它还可监测RPC和UDP端口信息,而包过滤和代理都不支持此类端口。这样,通过对各层进行监测,状态监视器实现网络安全的目的。目前,多使用状态监测防火墙,它对用户透明,在OSI最高层上加密数据,而无需修改客户端程序,也无需对每个需在防火墙上运行的服务额外增加一个代理。
状态检测型防火墙工作原理
状态检测防火墙基本保持了简单包过滤防火墙的优点,性能比较好,同时对应用是透明的,在此基础上,对于安全性有了大幅提升。这种防火墙摒弃了简单包过滤防火墙仅仅考察进出网络的数据包,不关心数据包状态的缺点,在防火墙的核心部分建立状态连接表,维护了连接,将进出网络的数据当成一个个的事件来处理。可以这样说,状态检测包过滤防火墙规范了网络层和传输层行为,而应用代理型防火墙则是规范了特定的应用协议上的行为。
状态检测型防火墙优点
1. 安全性好
状态检测防火墙工作在数据链路层和网络层之间,它从这里截取数据包,因为数据链路层是网卡工作的真正位置,网络层是协议栈的第一层,这样防火墙确保了截取和检查所有通过网络的原始数据包。防火墙截取到数据包就处理它们,首先根据安全策略从数据包中提取有用信息,保存在内存中;然后将相关信息组合起来,进行一些逻辑或数学运算,获得相应的结论,进行相应的操作,如允许数据包通过、拒绝数据包、认证连接、加密数据等。状态检测防火墙虽然工作在协议栈较低层,但它检测所有应用层的数据包,从中提取有用信息,如IP地址、端口号、数据内容等,这样安全性得到很大提高。
2. 性能高效
状态检测防火墙工作在协议栈的较低层,通过防火墙的所有的数据包都在低层处理,而不需要协议栈的上层处理任何数据包,这样减少了高层协议头的开销,执行效率提高很多;另外在这种防火墙中一旦一个连接建立起来,就不用再对这个连接做更多工作,系统可以去处理别的连接,执行效率明显提高。
3. 扩展性好
状态检测防火墙不像应用网关式防火墙那样,每一个应用对应一个服务程序,这样所能提供的服务是有限的,而且当增加一个新的服务时,必须为新的服务开发相应的服务程序,这样系统的可扩展性降低。状态检测防火墙不区分每个具体的应用,只是根据从数据包中提取出的信息、对应的安全策略及过滤规则处理数据包,当有一个新的应用时,它能动态产生新的应用的新的规则,而不用另外写代码,所以具有很好的伸缩性和扩展性。
4. 配置方便,应用范围广
状态检测防火墙不仅支持基于TCP的应用,而且支持基于无连接协议的应用,如RPC、基于UDP的应用(DNS 、WAIS、 Archie等)等。对于无连接的协议,连接请求和应答没有区别,包过滤防火墙和应用网关对此类应用要么不支持,要么开放一个大范围的UDP端口,这样暴露了内部网,降低了安全性。
状态检测防火墙实现了基于UDP应用的安全,通过在UDP通信之上保持一个虚拟连接来实现。防火墙保存通过网关的每一个连接的状态信息,允许穿过防火墙的UDP请求包被记录,当UDP包在相反方向上通过时,依据连接状态表确定该UDP包是否被授权的,若已被授权,则通过,否则拒绝。如果在指定的一段时间内响应数据包没有到达,连接超时,则该连接被阻塞,这样所有的攻击都被阻塞.状态检测防火墙可以控制无效连接的连接时间,避免大量的无效连接占用过多的网络资源,可以很好的降低DOS和DDOS攻击的风险。
状态检测防火墙也支持RPC,因为对于RPC服务来说,其端口号是不定的,因此简单的跟踪端口号是不能实现该种服务的安全,状态检测防火墙通过动态端口映射图记录端口号,为验证该连接还保存连接状态、程序号等,通过动态端口映射图来实现此类应用的安全。
状态检测防火墙缺点
包过滤防火墙得以进行正常工作的一切依据都在于过滤规则的实施,但又不能满足建立精细规则的要求,并不能分析高级协议中的数据。应用网络关防火墙的每个连接都必须建立在为之创建的有一套复杂的协议分析机制的代理程序进程上,这会导致数据延迟的现象。
状态检测防火墙虽然继承了包过滤防火墙和应用网关防火墙的优点,克服了它们的缺点,但它仍只是检测数据包的第三层信息,无法彻底的识别数据包中大量的垃圾邮件、广告以及木马程序等等。
包过滤防火墙和网关代理防火墙以及状态检测防火墙都有固有的无法克服的缺陷,不能满足用户对于安全性的不断的要求,于是深度包检测防火墙技术被提出了。