浅析防火墙技术原理

/ 2

浅析防火墙技术原理

董春华

(盐城生物工程高等职业技术学校江苏盐城224000)

1数据包过滤技术

数据包过滤技术工作在OSI网络参考模型的网络层和传输层,它是个人防火墙技术的第二道防护屏障。数据包过滤技术在网络的入口,根据数据包头源地址,目的地址、端口号和协议类型等标志确定是否允许通过。只有满足过滤条件的数据包才被转发到相应的目的地,其余数据包则被从数据流中丢弃。

所谓的数据包过滤技术。又称“报文过滤”技术,它是防火墙最传统、最基本的过滤技术。防火墙的产生也是从这一技术开始的,最早是于1989所提出的。防火墙的包过滤技术就是对通信过程中数据进行过滤(又称筛选),使符合事先规定的安全规则(或称“安全策略”)的数据包通过,而使那些不符合安全规则的数据包丢弃。这个安全规则就是防火墙技术的根本,它是通过对各种网络应用、通信类型和端口的使用来规定的。

包过滤方式是一种通用、廉价和有效的安全手段。它的优点是它对于用户来说是透明的,处理速度快而且易于维护,通常被做为一道基本防线。不用改动客户机和主机上的应用程序,因为它工作在网络层和传输层,与应用层无关。之所以通用,是因为它不是针对各个具体的网络服务采取特殊的处理方式,适用于所有网络服务;之所以廉价,是因为大多数路由器都提供数据包过滤功能,所以这类防火墙多数是由路由器集成的;之所以有效,是因为它能很大程度上满足了绝大多数企业安全要求。

防火墙对数据的过滤,首先是根据数据包中包头部分所包含的源IP地址、目的IP地址、协议类型(TCP包、UDP包、ICMP包)、源端口、目的端口及数据包传递方向等信息,判断是否符合安全规则,以此来确定该数据包是否允许通过。

在这个网络结构中防火墙位于内、外部网络的边界,内部网络可能包括各种交换机、路由器等网络设备。而外部网络通常是直接通过防火墙与内部网络连接,中间不会有其它网络设备。防火墙作为内、外部网络的唯一通道,所以进、出的数据都必须通过防火墙来传输的。这就有效地保证了外部网络的所有通信请求,当然包括黑客所发出的非法请求都能在防火墙中进行过滤。

包过滤技术最先使用的是在路由器上进行的,它也是最原始的防火墙方案。实现起来非常容易,只需要在原有的路由器上进行适当的配置即可实现防火墙方案。在整个防火墙技术的发展过程中,包过滤技术出现了两种不同版本,称为“第一代静态包过滤”和“第二代动态包过滤”。

①第一代静态包过滤类型防火墙

这类防火墙几乎是与路由器同时产生的,它是根据定义好的过滤规则审查每个数据包,以便确定其是否与某一条包过滤规则匹配。过滤规则基于数据包的报头信息进行制订。报头信息中包括IP源地址、IP目标地址、传输协议(TCP,UDP,ICMP等等)、TCP/UDP目标端口、ICMP消息类型等。

②第二代动态包过滤类型防火墙

这类防火墙采用动态设置包过滤规则的方法,避免了静态包过滤所具有的问题。这种技术后来发展成为包状态监测技术。采用这种技术的防火墙对通过其建立的每一个连接都进行跟踪,并且根据需要可动态地在过滤规则中增加或更新条目。

2应用网关技术

应用级网关可以工作在OSI七层模型的任一层上,能够检查进出的数据包,通过网关复制传递数据,防止在受信任服务器和客户机与不受信任的主机间直接建立联系。应用级网关能够理解应用层上的协议,能够做复杂一些的访问控制,并做精细的注册。通常是在特殊的服务器上安装软件来实现的。

电路级网关也是一种代理。电路级网关用来监控受信任的客户或服务器与不受信任的主机间的TCP握手信息,这样来决定该会话是否合法,电路级网关是在OS工模型中会话层上来过滤数据包,这样比包过滤防火墙要高两层。另外,电路级网关还提供一个重要的安全功能,即网络地址转移(NAT)将所有公司内部的IP地址映射到一个“安全”的IP地址,这个地址是由防火墙使用的。有两种方法来实现这种类型的网关,一种是由一台主机充当筛选路由器而另一台充当应用级防火墙。另一种是在第一个防火墙主机和第二个之间建立安全的连接。这种结构的好处是当一次攻击发生时能提供容错功能。

3地址翻译技术

地址翻译技术NAT是将一个IP地址用另一个IP地址代替。

地址翻译技术主要模式有以下几种。

(1)静态翻译。按照固定的翻译表,将主机的内部地址翻译成防火墙的外网接口地址。

(2)动态翻译。为隐藏内部主机或扩展的内部网络地址之间,一个大的用户群共享一个或一组小的InternetIP地址。

(3)负载平衡翻译。一个IP地址和端口被翻译为同等配置的多个服务器。当请求到达时,防火墙按照一个算法平衡所有连接到内部的服务器。这样,向一个合法的IP地址请求,实际上有多台服务器在提供服务。

(4)网络冗余翻译。多个连续被附结在一个NAT防火墙上,防火墙根据负载和可用性对连接进行选择和使用。

4状态检测技术

状态检测防火墙采用基于连接的状态检测机制,将属于同一连接的所有包作为一个整体的数据流看待,构成连接状态表,通过规则表与状态表的共同配合,对表中的各个连接因素加以识别。

当一个状态检测防火墙收到一个初始化TCP连接的SYN包该包被防火墙规则库检查,如果检查了所有规则后,该包都没有被接受,那么拒绝该次连接。如该包被接受,那么本次会话被记录到状态监测表里。并设置一个合适的时间溢出值,当防火墙收到返回的含有SYN/ACK标志的确认连接数据包,防火墙调整时间溢出值到合适大小,否则拒绝服务攻击马上就会将防火墙陷入瘫痪。随后的数据包就和该状态监测表的内容进行比较,通过比较源地址、目的地址和端口号来区分是否是同一个会话。如果该数据包是状态表内的会话的一部分,该包被接受,如果不知则该包被丢弃。这种方式提高了系统性能,因为每个数据包不是和规则库比较,而是和状态表比较,只有在SYN数据包到来时才和规则库比较。

参考文献:

[1]阎慧.防火墙原理与技术[M].北京:机械工业出版社.

[2]朱树人.防火墙HTTP代理用户认证的实现技术[J].计算机工程与应用,2011.

[3]杨璐.网络安全理论与技术[M].北京:人民邮电出版社,2013,160-166.