理论教育 包过滤技术和代理防火墙的关键技术及特点

包过滤技术和代理防火墙的关键技术及特点

时间:2023-11-21 理论教育 版权反馈
【摘要】:实现包过滤操作的技术为包过滤技术。当把包过滤防火墙安装在网关上之后,包过滤检查模块深入到系统的网络层和数据链路层之间。通过检查模块,防火墙能拦截和检查所有出站和进站的数据。如果需要将不符合规则的数据包丢弃,防火墙可以给发方一个消息。代理在应用层实现防火墙的功能,其主要的特点是有状态性。

包过滤技术和代理防火墙的关键技术及特点

(一)包过滤技术

1.数据包

数据包是互联网上信息传输的基本单位,它由各层连接的协议组成,其基本结构是:在每个层中,数据包都由包含与所在层相关的协议信息的包头和包含所在层的数据信息的包体两部分组成。各层数据包中的数据都包含其上层的全部信息。具体到每一层来说,对数据包的处理是:把从上层获取的全部信息作为包体,然后依本层的协议再加上包头。

数据包的打包和解包过程如图7-12所示。

2.包过滤系统

数据包过滤简称包过滤,它是一个设备所采取的有选择地控制与操作进出网络的数据流的行动,通常包过滤是在数据包由一个网络传输到另一个网络时进行。包过滤系统就是对系统中传输的数据包进行过滤、筛选和控制的系统。实现包过滤操作的技术为包过滤技术。

图7-12 数据包的打包和解包过程

通过对数据包过滤可以控制站点与站点、站点与网络、网络与网络之间的相互访问。这里要特别强调的一点是:包过滤控制的只是“访问”,而不是所传输的“数据和内容”,因为数据本身不是包过滤系统所能辨认的。

包过滤通常由包检查模块实现。包检查模块深入到操作系统的核心,在操作系统或路由器转发包之前拦截所有的数据包。当把包过滤防火墙安装在网关上之后,包过滤检查模块深入到系统的网络层和数据链路层之间。通过检查模块,防火墙能拦截和检查所有出站和进站的数据。

包检查模块对数据包的验证工作是从验证这个包是否符合过滤规则开始的,对于所有被验证的数据包,包括符合或不符合过滤规则的,防火墙通常都记录下数据包的情况。对数据包验证的结果有两种情况:

(1)符合规则的数据包,系统放行。

(2)不符合规则的数据包,系统要进行报警或通知管理员。如果需要将不符合规则的数据包丢弃,防火墙可以给发方一个消息。但是否给发方一个消息要慎重,并取决于包过滤策略,因为如果返回一个消息,攻击者可能会根据拒绝包的类型猜测包过滤规则的大致情况。

包过滤基于如下几个重要原因:

(1)因为IP分段字段中只有第一个段有高层协议的报头,而其他的段中没有,所以,数据包过滤器通常仅对第一个分段进行过滤,对非首段数据包不进行过滤验证。利用这一点,攻击者向目标主机发送非第一个分段的数据包,防火墙因为对这种数据包不作处理而直接让其通过,当目标主机收到大量这种非第一个分段数据包时,它需要占用大量的CPU时间来进行处理。在达到一定极限之后,目标主机就不能处理正常的服务,而造成拒绝服务攻击。另外,当目标主机得不到第一个分段来重组数据包时,会放弃非首段数据包,同时网间控制报文协议ICMP发给源主机一个“数据组装超时”的包。有时,ICMP也会泄露一些有用的信息。

(2)UDP是面向连接的可靠传输协议,TCP协议通过对错误的数据重发来保证数据可靠到达,并且事先要建立起连接才能传输。如果要阻止TCP的连接,仅阻止第一个连接请求包就够了。因为没有第一个数据包,接收端不会把之后的数据组装成数据流,且不会建立起连接。所以,过滤TCP的序列号、确认号等方面的内容对系统的安全性是非常重要的。

(3)UDP数据包有源端口和目标端口,但没有确认号、序列号、ACK位。包过滤系统无法确认UDP包是客户到服务器的请求,还是服务器对客户的响应。因此,要对UDP数据包进行过滤,需要防火墙记住流出的UDP数据包,当一个UDP数据包要进入防火墙时,防火墙要验证它是否和流出的UDP数据包相匹配,若相匹配则允许它进入,否则阻塞该数据包。

返回包的特点是:目标端口是请求包的源端口,目标地址是请求包的源地址,源端口是请求包的目的端口,源地址是请求包的目标地址。

(4)ICMP数据包的功能是响应请求、应答、超时、无法到达目标和重定向等。ICMP数据包还用于主机之间、主机和路由器之间的路径、流量控制、差错控制和阻塞控制等。为了保护系统数据的安全,需要利用包过滤系统根据ICMP的类型来进行过滤。

包检查模块通常检查数据包中的如下几项内容:

(1)IP源地址。

(2)IP目标地址。

(3)协议类型(TCP包、UDP包、ICMP包)。

(4)TCP或UDP的源端口。

(5)TCP或UDP的目标端口。

(6)ICMP消息类型。

(7)TCP报头中的ACK位。

(8)TCP的序列号、确认号。

3.包过滤的特点

包过滤对用户来说有以下优点:

(1)保护整个网络,减少暴露的风险。

(2)对用户完全透明,不需要对客户端作任何改动。

(3)也不需要对用户作任何培训。

(4)很多路由器可以作数据包过滤,因此不需要专门添加设备。

包过滤的缺点:尽管包过滤系统有许多优点,但是它仍有缺点和局限性。因为包过滤不能提供防火墙所必需的防护能力,所以,即使是最基本的网络服务和协议,它也不能提供足够的安全保护,包过滤的缺点主要表现在:

(1)在机器中配置包过滤规则比较困难。

(2)对包过滤规则设置的测试很麻烦。(www.daowen.com)

(3)包过滤功能具有局限性,要找一个比较完整的包过滤产品很难。

(4)包过滤规则难以配置。一旦配置,数据包过滤规则难以检验。

(5)包过滤仅可以访问包头信息中的有限信息。

总之,包过滤对信息的处理能力非常有限,包过滤不能满足系统安全的需要。

(二)代理技术

包过滤系统本身存有某些缺陷,这些缺陷对系统安全性的影响要大大超过代理服务对系统安全性的影响。因为代理服务的缺陷仅仅会使数据无法传送,而包过滤的缺陷则会使得一些平常应该拒绝的包也能进出网络,这对系统的安全性是一个巨大的威胁。即使在系统中安装了比较完整的包过滤系统,对有些协议使用包过滤方式也不太合适。

1.代理服务

代理(Proxy)是一个提供替代连接并且充当服务的网关。代理在应用层实现防火墙的功能,其主要的特点是有状态性。代理能提供部分与传输有关的状态,能完全提供与应用相关的状态和部分传输方面的信息,代理还能处理和管理信息。

代理使得网络管理员能够实现比包过滤路由器更严格的安全策略

代理服务或称代理服务器是运行在防火墙主机上的专门的应用程序,代理服务主要表现在:

(1)应用层网关采用为每种所需服务而安装在网关上特殊代码(代理服务)的方式来管理互联网服务,而不是依赖包过滤工具来管理互联网在防火墙系统中的进出。

(2)应用层网关能够让网络管理员对服务进行全面的控制,如果网络管理员没有为某种应用安装代理编码,那么该项服务就不支持其通过防火墙系统来转发。

提供代理服务的可以是双宿网关,也可以是一台堡垒主机。其中:双宿网关是具有至少两个网络接口的网关;堡垒主机是暴露在外部网上,同时又是内部网络用户主要连接点的计算机系统,堡垒主机易于受到侵袭和损坏。

2.代理服务系统

代理技术与包过滤技术完全不同。包过滤技术是在网络层拦截所有的信息流,代理技术是针对每一个特定应用都有一个程序。

代理服务系统中,代理只对单个或一部分主机提供互联网服务,对于无访问权限的主机来说,只能通过具有访问权限的主机作为代理才能进行工作。

代理服务系统中,代理服务仅仅是网络安全软件解决方案,不是防火墙体系结构本身,当被结合到“防火墙体系结构”中后,代理服务便成为防火墙体系结构中的一个组成部分。

代理服务系统中,代理服务器能够决定处理的请求。它依据用户站点的安全策略,请求可以被允许也可以被拒绝。所以,代理服务器的作用不仅是转送用户的请求以得到互联网络的服务,还能控制用户的作为。一些先进的代理服务可以允许不同的主机有不同的代理能力,而不是在所有主机上都执行一样的限制。

代理服务位于内部网络用户和外部(即互联网)服务之间。代理在幕后处理所有用户和互联网服务之间的通信,以代替相互间的直接交谈。

3.代理服务的特点

代理服务的主要优点:

(1)支持可靠的用户认证,并提供详细的注册信息。

(2)用于应用层的过滤规则相对于包过滤路由器来说更容易配置和测试。

(3)代理工作在客户机和真实服务器之间,完全控制会话,所以可以提供很详细的日志和安全审计功能。

(4)提供代理服务的防火墙可以被配置成唯一的可被外部看见的主机,这样可以隐藏内部网的IP地址,可以保护内部主机免受外部主机的进攻。

(5)通过代理访问互联网可以解决合法的IP地址不够用的问题,因为互联网所见到的只是代理服务器的地址,内部不合法的IP通过代理可以访问互联网。

代理服务的主要缺点:

(1)有限的连接性。代理服务器一般只具有解释应用层命令的功能,所以代理服务器就只能用于某一种服务,所能提供的服务和可伸缩性非常有限。

(2)有限的技术。应用层网关不能为某些基于通用协议族的服务提供代理。

(3)性能下降。应用层实现的防火墙会造成明显的性能下降。

(4)每个应用程序都必须有一个代理服务程序来进行安全控制,每一种应用升级时,一般代理服务程序也要升级。

(5)应用层网关要求用户改变自己的行为,或者在访问代理服务的每个系统上安装特殊的软件。

此外,代理对操作系统和应用层的漏洞是脆弱的,不能有效检查底层的信息,传统的代理也很少是透明的。

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

我要反馈