首页 百科知识 防火墙过滤数据包的原理

防火墙过滤数据包的原理

时间:2022-10-01 百科知识 版权反馈
【摘要】:其中,基于包过滤技术的防火墙主要包括静态包过滤防火墙和动态包过滤防火墙等;基于代理技术的防火墙主要包括电路级网关和应用层网关等;复合型防火墙则主要包括状态检测防火墙、切换代理防火墙、深度包检测防火墙、自适应代理防火墙以及统一威胁管理防火墙等。

防火墙的产生与发展已经经历了相当一段时间,按照其中所使用的技术的不同,防火墙可分为基于包过滤(Packet Filter)技术的防火墙、基于代理(Proxy)技术的防火墙以及基于上述多种技术混合的复合型防火墙。其中,基于包过滤技术的防火墙主要包括静态包过滤防火墙和动态包过滤防火墙等;基于代理技术的防火墙主要包括电路级网关和应用层网关等;复合型防火墙则主要包括状态检测防火墙、切换代理防火墙、深度包检测防火墙、自适应代理防火墙以及统一威胁管理防火墙等。

1. 静态包过滤(Static Packet Filter)防火墙

静态包过滤防火墙为第一代的包过滤防火墙,静态包过滤防火墙通常被安装在路由器上,如图8.5所示。其工作原理为:路由器检查每一个传入的数据包,查看数据包中可用的基本信息(源地址和目的地址、端口号、协议等),然后将这些信息与预先设立的过滤规则相比较,决定是否转发或丢弃该数据包。当一个数据包到达时,路由器对过滤规则表从上到下进行检查,检查该数据包是否符合过滤规则,如果规则匹配,那么调用该规则;否则,调用一个默认的动作设置(默认动作包括“丢弃”或“转发”两种)。

图8.5 包过滤防火墙原理图

例如:如果在过滤规则中已经设置了阻断Telnet连接,而数据包的目的端口号为23(Telnet的端口),那么该数据包将会被丢弃;而如果在过滤规则中设置了允许传入Web连接,且数据包的目的端口号为80(Http的端口),则该数据包就会被放行。

静态包过滤防火墙中的包过滤算法的基本工作流程如图8.6所示。

图8.6 包过滤算法

下面给出一些包过滤规则的具体例子:

示例1:见表8.9,在该例中,到指定网关主机(OUR-GW)的流入邮件(SMTP 的端口号为25)将会被允许,而对来自特定主机SPIGOT的所有数据包都将会被阻止;默认的策略是丢弃(阻止)。

表8.9 示例1

示例2:见表8.10,此规则设置的目的是允许任意内部主机都可以向外部发送邮件。

表8.10 示例2

静态包过滤防火墙的优点是速度快,逻辑简单,成本低,易于安装和使用,网络性能高,对用户透明。其主要缺点在于:

(1)定义过滤规则是一个非常复杂的工作,面对复杂的过滤需求,过滤规则将是一个冗长、复杂、不易理解和管理的集合,同时,还很难测试规则的正确性。

(2)任何一个直接通过路由器的数据包都可能被利用来发起一个数据驱动的攻击。

(3)随着过滤数目的增加,将降低路由器的吞吐量,从而影响系统的性能。

(4)难以进行有效的流量控制,因为静态包过滤防火墙虽然可以允许或拒绝一个特定的服务,但却无法理解一个特定服务的内容或数据。

(5)遇到动态端口协议时会发生困难,静态包过滤防火墙由于事先无法知道哪些端口需要打开,因此,只能把所有可能用到的端口都大范围地打开,从而将给安全带来很大的隐患。

2. 动态包过滤(Dynamic Packet Filter)防火墙

动态包过滤防火墙为第二代的包过滤防火墙,其工作原理为:对新建的应用连接,状态检测检查预先设置的安全规则,允许符合规则的连接通过,并在内存中记录下该连接的相关信息,生成状态表。对该连接的后续数据包,只要符合状态表,就可以通过。动态包过滤防火墙主要工作在网络层,与静态包过滤防火墙不同的是,部分工作在传输层。动态包过滤防火墙的好处在于:

(1)由于不需要对每个数据包进行规则检查,而是一个连接的后续数据包(通常是大量的数据包)通过散列算法直接进行状态检查,从而使得系统性能得到了较大提高。

(2)由于状态表是动态的,因而可以有选择地、动态地开通1024号以上的端口,由此解决了静态包过滤防火墙在遇到动态端口协议时所发生的困难,从而使得系统的安全性得到了进一步的提高。

(3)动态包过滤防火墙动态设置过滤规则,跟踪每个通过防火墙的连接,根据需要动态地增加或更改过滤规则条目,可区分新旧连接的不同。

3. 电路级防火墙

电路级防火墙也称为电路级网关(Circuit Level Gateway),电路级网关用来监控受信任的内部主机与不受信任的外部主机之间的TCP握手信息,以此来决定该会话(Session)是否合法,因此,电路级网关是在OSI模型中的会话层上过滤数据包,比包过滤防火墙要高两层。如图8.7所示,电路级网关的工作原理为:不允许内部网络中的主机与外部主机之间直接进行TCP连接,而是通过在内部主机与外主机之间建立一个虚电路来进行通信,因此,电路层网关中存在两个TCP连接,一个是内部连接,用于在防火墙和内部主机之间建立TCP连接;另一个是外部连接,用于在防火墙和外部主机之间建立TCP连接。当建立向外连接时,网络管理员信任内部用户,防火墙在接受了来自外部网络的连接之后,将不再检查连接的TCP数据段内容,而是直接将其转发到内部连接。

图8.7 电路级网关的工作原理

电路级防火墙的优点是具有证实握手的功能,可对建立连接的序列号检查合法性;另外,通过对客户程序的改进,可对不同协议进行服务,具有较好的通透性;此外,在电路层网关设备上可增加很多功能,可塑性相当高。电路级防火墙的主要不足之处在于:电路级网关只支持建立在TCP协议之上的客户服务,对用户不透明,另外,电路级网关不能严密控制应用层信息。

4. 应用层防火墙

应用层防火墙也称为应用层网关(Application Layer Gateway),如图8.8所示,其工作原理为:应用代理(Proxy)服务器参与每个TCP连接全过程,一个代理程序针对一个特定应用,工作在应用层上。当内部用户请求访问外部站点的时候,防火墙代理将检查请求是否符合规定,如果规则允许用户访问该站点,将连接请求用特定的安全化的Proxy应用程序处理,再传递到真实的服务器上,代替客户访问站点,接收服务器应答,处理答复,再交给发出请求的最终客户。当外部网通过防火墙代理访问内部网的时候,内部网只接受代理提出的服务请求,拒绝外部网络其他节点的直接请求,答复也由代理服务器转交。

代理防火墙的优点是支持可靠的用户认证并提供详细的注册信息,过滤规则比包过滤规则容易配置和测试,提供详细日志和安全审计功能,解决内部IP地址不合法问题,同时还隐藏了内部网IP地址,从而避免了入侵者使用数据驱动类型的攻击方式入侵内部网,而这在包过滤类型的防火墙中是很难避免的。

图8.8 应用层网关的工作原理

代理防火墙的缺点是连接性及技术有限,没有代理不提供服务,不能对通用协议簇提供代理服务;另外,由于安全检查的细致,从而导致系统的工作量相对较大,处理速度较慢,由此影响了系统的性能;同时,代理相当于一个简化应用服务的服务器端和客户端程序,且每个合法通过的服务都要在代理上启动服务器进程,因此,系统的开销也比较大;此外,代理防火墙还要求用户改变自身的行为,以及要求使用固定的客户端程序,要求用户使用特定的步骤通过服务器,因此透明性较差。

5. 状态检测(Stateful Inspection)防火墙

状态检测防火墙组合了多种动态包过滤防火墙、电路级网关以及应用层网关的功能,主要工作在网络层。其工作原理为:采用“多级过滤技术”,通过一个检测模块来抽取数据的状态信息,对OSI七层中的各层都进行检测。其中,“多级过滤技术”是指防火墙采用多级过滤措施并辅以鉴别手段。在网络层一级,过滤掉所有的源路由分组和假冒的IP源地址;在传输层一级,过滤掉所有禁止出/入的协议和有害数据包;在应用层一级,利用FTP、SMTP等各种网关来控制和监测Internet提供的所用通用服务。这是针对以上各种已有基于单层过滤防火墙技术的不足而产生的一种综合型过滤技术,它可以弥补以上各种单独过滤技术的不足。

与应用层网关相比,由于状态检测引擎了解应用层的情况,因此,状态检测防火墙所具有的安全保护水平与应用层网关基本相同,且状态检测型防火墙更加灵活,比应用层网关具有更好的扩展能力。因为它可以在应用程序一级保证通信的完整性,而不需要代表客户机/服务器在连接的两端对所有的连接来进行代理处理。因此,状态检测防火墙既提供了包过滤防火墙的处理速度和灵活性,又兼具了应用层网关理解应用程序状态的能力与高度的安全性。

态检测防火墙的优点是安全性好,对用户透明,支持多种协议和应用程序,易实现应用和服务的扩充,同时,还支持对RPC和UDP等端口信息进行监测,这是基于包过滤技术的防火墙和基于代理技术的防火墙都不支持的。缺点主要是配置复杂,降低了网络的速度。

6. 切换代理防火墙

切换代理防火墙是一种组合了动态包过滤和电路网关功能的混合型防火墙。其工作原理为:首先作为电路网关执行三次握手和认证要求,然后,切换到动态包过滤模式。因此,切换代理防火墙在开始的时候工作在会话层,而在建立连接之后则转到了网络层工作。

7. 深度包检测(Deep Packet Inspection)防火墙

虽然只检测包头部分是一种更加经济的方式,但是很多恶意行为可能隐藏在数据载荷中,通过防御边界在安全体系内部产生严重的危害。因为数据载荷中可能充斥着垃圾邮件、广告视频以及企业所不欣赏的P2P传输,而各种电子商务程序的HTML和XML格式数据中也可能夹带着后门和木马程序在网络节点之间交换。因此,在应用形式及其格式以爆炸速度增长的今天,仅仅依照数据包的第三层信息来决定其是否准入,实在无法满足网络安全的要求。

深度包检测防火墙的工作原理为:首先,深入检查通过防火墙的每个IP数据包及其应用载荷,从而使得当IP数据包、TCP数据流或UDP数据包经过防火墙时,防火墙可将其重新组合,并由此得到整个应用程序的内容;然后,防火墙再按照企业定义的策略对应用程序进行对应的操作。

由于深度包检测可以探测数据包中的任何内容,因此,可被用来管理任意类型的基于IP的应用程序,以及对所有IP通信业务提供详尽的控制,例如:在大型企业中,深度包检测防火墙可被用来检测和区分对数据库的读请求和写请求。深度包检测防火墙可使得网络业务处理在获得更高效率的同时,能够满足复杂的安全策略和高可用性的要求。

8. 自适应代理(Adaptive Proxy)防火墙

自适应代理防火墙结合了代理型防火墙的安全性和包过滤防火墙的高速度等优点,在不损失安全性的基础之上将代理型防火墙的性能大大提高,本质上是状态检测防火墙的一种改进。自适应代理防火墙有两个基本要素:自适应代理服务器(Adaptive Proxy Server)与动态包过滤器(Dynamic Packet Filter),在自适应代理服务器与动态包过滤器之间存在一套控制机制。用户通过相应Proxy的管理界面配置防火墙所需要的服务类型、安全级别等,自适应代理防火墙根据用户的配置信息来决定代理服务是从应用层代理请求还是从网络层转发包。若是后者,它将动态地通知包过滤器增减过滤规则,以满足用户对速度和安全性的双重要求。

9.UTM(Unified Threat Management)防火墙

统一威胁管理(UTM)一词首先出现在2003年IDC(Internet Data Center,互联网数据中心)的研究报告之中,IDC对UTM防火墙的定义为:由硬件、软件和网络技术组成的具有专门用途的设备,它主要通过将防病毒、入侵检测、防火墙、内容过滤、反垃圾邮件、VPN (Virtual Private Network,虚拟专用网)等诸多安全功能集成到一个设备中,以构成一个标准的统一管理平台,可提供一项或多项安全功能。

在UTM的概念出现之前,区域网络为了防御各式各样的威胁,必须配置多项单功能产品,例如防火墙、防病毒网关、防垃圾邮件装置以及URL网关。区域网络还必须同时兼顾这些平台和其他IT解决方案的管理,用户也必须熟悉各种不同的接口、指令和差异性。UTM的提出解决了区域网络必须管理多项单功能产品的难题。通过单一的操作系统与管理接口,提供一个能够满足多方面安全需求的全功能架构,UTM不但使网络管理人员在学习新系统方面节省很多的时间,同时也提高了IT人员在防御攻击时的有效性。

UTM技术可以进行改良的信息包检查、识别应用层信息、命令入侵检测与阻断、蠕虫病毒防护以及高级的数据包验证机制,从而使得IT管理人员可以很容易地控制如Instant Message信息传输、BT多线程动态应用下载、Skype等新型网络软件的应用,并且阻断来自内部的数据攻击以及垃圾数据流的泛滥。同时,还可以支持动态的行为特征库更新,具备OSI七层的数据包检测能力,克服了深度包检测的技术弱点。

不过,高度集成在带来好处的同时,也带来了一些坏处。作为立体防御的安全网关,UTM在快速发展并被越来越多用户认可的同时,也面临着不少问题:

(1)UTM的安全功能高度集成带来了性能下降问题。

(2)由于UTM中集成有多个功能,因此也提高了在部署配置、管理维护,以及对网络的兼容性上保证方面的复杂性。

(3)由于涉及多个功能模块,UTM系统的稳定性也会受到一定影响,相比传统安全设备而言,UTM的稳定性仍有不足。

(4)由于将所有安全功能放在一个设备上,风险也集中到了UTM上,如果UTM设备出现问题,将会导致安全防御措施失效,若UTM设备存在漏洞,也可能造成严重的影响。

总体来讲,复合型防火墙是功能综合型防火墙,常见的是代理服务和其他技术的组合,具有对一切连接尝试进行过滤的功能,提取和管理多种状态信息,拥有认证功能,提供高性能的服务和灵活的适应性,具有网络内外完全透明的特性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈