防火墙技术及设计在上一篇中我们介绍了防火墙的一些基础知识,对防火墙已有了一定的认识。
在本篇我们通过对一些防火墙技术和典型的防火墙设计模式的介绍,来进一步从原理上认识防火墙。
一、主要防火墙技术防火墙技术作为一套安全防护系统,所涉及到的技术非常之多,我们无法对其一一介绍。
在此我们只能一些主流、基本的防火墙技术作一个简单介绍,以便加深对防火墙的认识,理解防火墙的工作原理。
在防火墙中应用到的技术主要有以下几个。
1、包过滤包过滤又称“报文过滤”,它是防火墙最传统、最基本的过滤技术。
防火墙的产生也是从这一技术开始的,最早是于1989所提出的。
防火墙的包过滤技术就是对通信过程中数据进行过滤(又称筛选),使符合事先规定的安全规则(或称“安全策略)的数据包通过,而使那些不符合安全规则的数据包丢弃。
这个安全规则就是防火墙技术的根本,它是通过对各种网络应用、通信类型和端口的使用来规定的。
防火墙对数据的过滤,首先是根据数据包中包头部分所包含的源IP地址、目的IP地址、协议类型(TCP包、UDP包、ICMP包)、源端口、目的端口及数据包传递方向等信息,判断是否符合安全规则,以此来确定该数据包是否允许通过。
先来看一下防火墙方案部署的网络拓扑结构,所有的防火墙方案网络拓扑结构都可简化为如图1所示。
在这个网络结构中防火墙位于内、外部网络的边界,内部网络可能包括各种交换机、路由器等网络设备。
而外部网络通常是直接通过防火墙与内部网络连接,中间不会有其它网络设备。
防火墙作为内、外部网络的唯一通道,所以进、出的数据都必须通过防火墙来传输的。
这就有效地保证了外部网络的所有通信请求,当然包括黑客所发出的非法请求都能在防火墙中进行过滤。
图1包过滤技术的应用非常广泛,因为包过滤技术相对较为简单,只需对每个数据包与相应的安全规则进行比较即可得出是否通过的结论,所以防火墙主机CPU用来处理包过滤的时间非常短,执行效率也非常高。
而且这种过滤机制对用户来说完全是透明的,根本不用用户先与防火墙取得任何合法身份,符合规则的通信,用户根本感觉不到防火墙的存在,使用起来很方便。
包过滤技术最先使用的是在路由器上进行的,它也是最原始的防火墙方案。
实现起来非常容易,只需要在原有的路由器上进行适当的配置即可实现防火墙方案。
以上介绍的其实就是传统的静态包过滤技术,这种包过滤防火墙技术方案配置比较复杂,对网络管理员的要求比较高。
再加上这种传统的包过滤技术只能针对数据包的IP地址信息进行过滤,而不能在用户级别上进行过滤,即不能识别不同用户身份的合法性和防止IP 地址的盗用。
单纯采用包过滤技术的防火墙方案,如果攻击者把自己主机的IP地址设成一个合法主机的IP地址,就可以很轻易地通过包过滤器,由此可见这种最初的防火墙方案还是很不安全的。
正因如此,这种传统的包过滤技术很快被更先进的动态包过滤技术所取代。
在包过滤技术的发展中,出现过两种不同的技术,即:静态包过滤和动态过滤。
静态包过滤技术就是上面介绍的那种传统包过滤技术,它是根据流经该设备的数据包地址信息,决定是否允许该数据包通过,它判断的依据有(只考虑IP包):●数据包协议类型:TCP、UDP、ICMP、IGMP等●源、目的IP地址●源、目的端口:FTP、HTTP、DNS等●IP选项:源路由、记录路由等●TCP选项:SYN、ACK、FIN、RST等●其它协议选项:ICMP ECHO、ICMP ECHO REPLY等●数据包流向:in(进)或out(出)●数据包流经网络接口”动态包过滤“(Dynamic packet filter)技术首先是由USC信息科学院的BobBraden于1992年开发提出的,它属于第四代防火墙技术,后来演变为目前所说的状态监视(Stateful inspection)技术。
1994年,以色列的CheckPoint公司开发出了第一个基于这种技术的商业化的产品。
这种技术比起静态包过滤技术来说先进多了,它可动态根据实际应用请求,自动生成或删除相应包过滤规则,而无需管理员人工干预。
这样就解决了静态包过滤技术使用和管理难度大的问题。
同时动态包过滤技术还可分析高层协议,可以更有效、全面地对进出内部网络的通信进行监测,进一步确保内部网络的安全。
但这种动态包过滤技术仍只能对数据的IP地址信息进行过滤,不能对用户身份的合法性进行鉴定。
同时通常也没有日志记录可查,这为日常的网络安全管理带来了困难。
正如此,它很快被新一代自适应代理防火墙所替代。
在黑客攻击方面,包过滤式防火墙,在今天的黑客技术下,显得不堪一击。
攻击一个单纯的包过滤式的防火墙对黑客来说是比较容易的,”信息包冲击“是黑客比较常用的一种攻击手段,黑客们对包过滤式防火墙发出一系列信息包,不过这些包中的IP地址已经被替换掉了(FakeIP),取而代之的是一串顺序的IP地址。
一旦有一个包通过了防火墙,黑客便可以用这个IP地十来伪装他们发出的信息。
另外,黑客们还可使用一种他们自己编制的路由器攻击程序,这种程序使用路由器协议来发送伪造的路由信息,这样所有的包都会被重新路由到一个入侵者所指定的特别地址。
对付包包防火墙另一种方法就是通常所说的”网络炸弹“,或者说”拒绝服务“(DoS)。
攻击者向被攻击的计算机发出许许多多个虚假的”同步请求“信号包,当服务器响应了这种信号包后,会等待请求发出者的回答,而攻击者不做任何的响应。
当服务器在处理成知上万个虚假请求时,它便没有时间来处理正常的用户请求,处于这种攻击下的服务器和死锁没什么两样。
此种防火墙的缺点是很明显的,通常它没有用户的使用记录,这样我们就不能从访问记录中发现黑客的攻击记录。
此外,配置繁琐也是包过滤防火墙的一个缺点。
它阻挡别人进入内部网络,但也不告诉你何人进入你的系统,或者何人从内部进入网际网路。
它可以阻止外部对私有网络的访问,却不能记录内部的访问。
包过滤另一个关键的弱点就是不能在用户级别上进行过滤,即不能鉴别不同的用户和防止IP地址盗用。
包过滤型防火墙是某种意义上的绝对安全的系统。
2、堡垒主机”堡垒主机“通常情况下它是由一台计算机担当,它是防火墙的最初设计,随后随着防火墙技术的发展,并得到了继续发展。
堡垒主机的作用就是对进出的数据包进行审核,为进入内部网络设的一个检查点,以达到把整个内部网络的安全问题集中在某个主机上解决的目的。
从堡垒主机的定义可以看到,堡垒主机是网络中最容易受到侵害的主机,所以堡垒主机必须是自身保护最完善的主机。
多数情况下,一个堡垒主机使用两块网卡,分别连接内、外部网络。
堡垒主机经常配置网关服务。
3、网络地址转换(NAT,Network Address Translate)当受保护网连到Internet上时,受保护网用户若要访问Internet,必须使用一个合法的IP地址。
但由于合法因特网IP地址有限,而且受保护网络往往有自己的一套本地IP地址规划。
在防火墙上配置NAT技术,就需要在防火墙上配置一个合法IP地址集,当内部网络用户要访问Internet时,防火墙动态地从地址集中选一个未分配的地址分配给该用户,该用户即可使用这个合法地址进行通信。
同时,对于内部的某些服务器如Web服务器,网络地址转换器允许为其分配一个固定的合法地址,内部网络用户就可通过防火墙来访问外部网络。
在防火墙上部署NAT的方式可以有以下几种:●M-1:多个内部网地址转换到1个IP地址●1-1:简单的一对一地址转换●M-N:多个内部网地址转换到N个IP地址池通过这样的地址转换后,既缓解了少量的因特网IP地址和大量主机之间的矛盾,又对外隐藏了内部主机的IP地址,提高了安全性。
如果防火墙使用了NAT技术,所有的内部地址将会被转换成防火墙WAN端口上合法的因特网IP地址,以达到隐藏了内部网络用户身份的目的。
4、应用级网关(代理服务器)顾名思义,应用级网关工作在OSI七层参考模型的应用层,也有人把它称为”代理服务器“技术。
它属于第五代防火墙技术,它最早是由于998年,由NAI公司推出的,并在其产品Gauntlet Firewall for NT中得以实现。
它给代理类型的防火墙赋予了全新的意义。
包过滤防火墙可以按照IP地址来禁止未授权者的访问。
但是它不适合单位用来控制内部人员访问外界的网络。
代理服务是设置在Internet防火墙网关上的应用,是在网管员允许下或拒绝的特定的应用程度或者特定服务,同时,还可应用于实施较强的数据流监控、过滤、记录和报告等功能。
一般情况下可应用于特定的互联网服务,如超文本传输(HTTP)、远程文件传输(FTP)等。
代理服务器通常拥有高速缓存,缓存中存有用户经常访问站点的内容,在下一个用户要访问同样的站点时,服务器就用不着重复地去下载同样的内容,既节约了时间也节约了网络资源。
应用级网关技术可对网络上任一层的数据包进行检查并经过身份认证,符合安全策略规则的通过,否则将被丢弃。
允许通过的数据包由网关复制并传递,防止在受信任服务器和客户机与不受信任的主机间直接建立联系。
应用级网关能够理解应用层上的协议,能够做复杂一些的访问控制,如限制用户访问的主机、访问时间及访问的方式等。
通常是需在防火墙主机上安装相应服务器软件来实现以上功能的。
应用级网关的工作原理图如图2所示。
图2应用级网关技术也可使用NAT技术隐藏内部网络用户IP地址,同时还可以给单个用户授权,即使攻击者盗用了一个合法的IP地址,也通不过严格的身份认证。
因此应用网关比包过滤具有更高的安全性。
但是这种认证使得应用网关不透明,用户每次连接都要受到认证,这给用户带来许多不便。
这种代理技术需要为每个应用编写专门的程序。
应用级网关技术的主要优点是:可以提供用户级的身份认证、日志记录和帐号管理。
其缺点关系到这样一个事实;因需对每一类应用都需要一个专门的代理,要想提供全面的安全保证,就要对每一项服务都建立对应的应用层网关,显然其灵活性不够,严重制约了新应用的采纳。
实现应用程序网关的防火墙产品有:商业版防火墙产品、商业版代理(cache)服务器、开放资源软件,如TIS FWTK(Firewall toolkit)、Apache、Squid软件等。
5、电路级网关电路级网关防火墙属于第三代防火墙技术,其初步结构是于1989年由贝尔实验室的Dave Presotto和Howard Trickey提出的。
电路级防火墙是通过监控受信任的客户或服务器与不受信任的主机间的TCP握手信息来决定该会话是否合法的。
电路级网关是在OSI网络参考模型的会话层过滤数据包,这样比包过滤防火墙要高两层。
另外,电路级网关还提供一个重要的安全功能,即可可使用网络地址转移(NAT)功能将所有内部网络IP地址映射到一个”安全“的公网IP地址,这个地址是由防火墙使用的。
电路级网关的应用原理与应用级网关相同,网关的作用就是接收客户端连接请求,根据客户的地址及所请求端口,将该连接重定向到指定的服务器地址及端口上,代理客户端完成网络连接,然后在客户和服务器间中转数据。