Chinaunix首页 | 论坛 | 博客
  • 博客访问: 816319
  • 博文数量: 328
  • 博客积分: 7000
  • 博客等级: 少将
  • 技术积分: 3810
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 22:00
文章分类

全部博文(328)

文章存档

2009年(2)

2008年(84)

2007年(207)

2006年(35)

我的朋友

分类: 网络与安全

2007-04-07 06:55:17

在本篇我们通过对一些防火墙技术和典型的防火墙设计模式的介绍,来进一步从原理上认识防火墙。

  一、主要防火墙技术

  防火墙技术作为一套安全防护系统,所涉及到的技术非常之多,我们无法对其一一介绍。在此我们只能一些主流、基本的防火墙技术作一个简单介绍,以便加深对防火墙的认识,理解防火墙的工作原理。在防火墙中应用到的技术主要有以下几个。

  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所示。

应用级网关技术也可使用NAT技术隐藏内部网络用户IP地址,同时还可以给单个用户授权,即使攻击者盗用了一个合法的IP地址,也通不过严格的身份认证。因此应用网关比包过滤具有更高的安全性。但是这种认证使得应用网关不透明,用户每次连接都要受到认证,这给用户带来许多不便。这种代理技术需要为每个应用编写专门的程序。

  应用级网关技术的主要优点是:可以提供用户级的身份认证、日志记录和帐号管理。其缺点关系到这样一个事实;因需对每一类应用都需要一个专门的代理,要想提供全面的安全保证,就要对每一项服务都建立对应的应用层网关,显然其灵活性不够,严重制约了新应用的采纳。

  实现应用程序网关的防火墙产品有:商业版防火墙产品、商业版代理(cache)服务器、开放资源软件,如TIS FWTK(Firewall toolkit)、Apache、Squid软件等。

  5、电路级网关

  电路级网关防火墙属于第三代防火墙技术,其初步结构是于1989年由贝尔实验室的Dave Presotto和Howard Trickey提出的。电路级防火墙是通过监控受信任的客户或服务器与不受信任的主机间的TCP握手信息来决定该会话是否合法的。电路级网关是在OSI网络参考模型的会话层过滤数据包,这样比包过滤防火墙要高两层。另外,电路级网关还提供一个重要的安全功能,即可可使用网络地址转移(NAT)功能将所有内部网络IP地址映射到一个”安全“的公网IP地址,这个地址是由防火墙使用的。

  电路级网关的应用原理与应用级网关相同,网关的作用就是接收客户端连接请求,根据客户的地址及所请求端口,将该连接重定向到指定的服务器地址及端口上,代理客户端完成网络连接,然后在客户和服务器间中转数据。它的优点就是通用性强、对客户端应用完全透明,但在转发前需同客户端交换连接信息,所以需对客户端应用作适当修改。

  6.非军事化区(DMZ)

  DMZ位于企业内部网络和外部网络之间的小网络区域,它是为内部网络放置一些必须公开的服务器设施而划分的,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡,就是这个DMZ区域。风网络结构如图3所示。


7、 透明模式/透明代理

  顾名思义,透明模式首要的特点需要对用户透明的(Transparent),即用户意识不到防火墙的存在。要想实现透明模式,防火墙必须在没有IP地址的情况下工作,不需要对其设置IP地址,用户也不知道防火墙的IP地址。

  采用透明模式的防火墙是采用无IP方式运行,防火墙就可以直接安装和放置到网络中使用,用户将不必重新设定和修改路由,如交换机一样不需要设置IP地址。
 
  透明模式的防火墙就好像是一台网桥(非透明的防火墙好像一台路由器),网络设备(包括主机、路由器、工作站等)和所有计算机的设置(包括IP地址和网关)无须改变,同时解析所有通过它的数据包,既增加了网络的安全性,又降低了用户管理的复杂程度。

  与透明模式在称呼上相似的”透明代理“,和传统代理一样,可以比包过滤更深层次地检查数据信息。同时它也是一个非常快的代理,从物理上分离了连接,这可以提供更复杂的协议需要,或者一个带有不同命令端口和数据端口的连接。这样的通信是包过滤所无法完成的。

  防火墙使用透明代理技术后,这些代理服务对用户也是透明的,用户意识不到防火墙的存在,便可完成内外网络的通信。当内部网络用户需要使用透明代理访问外部资源时,用户不需要进行设置,代理服务器会建立透明的通道,让用户直接与外界通信,这样极大地方便了用户的使用。

  一般使用代理服务器时,每个用户需要在客户端程序中指明要使用代理,自行设置Proxy参数,如在浏览器中有专门的设置来指明HTTP或FTP协议所使用的IP地址和端口等。而透明代理服务,用户不需要任何设置就可以使用代理服务器,简化了网络的设置过程。

  防火墙使用透明代理技术,还可以使防火墙的服务端口无法探测到,也就无法对防火墙进行攻击,大大提高了防火墙的安全性与抗攻击性。透明代理避免了设置或使用中可能出现的错误,降低了防火墙使用时固有的安全风险和出错概率,方便用户使用。

  8、屏蔽路由器

  屏蔽路由器可以由厂家专门生产的路由器实现,也可以用主机来实现。屏蔽路由器作为内外连接的惟一通道,要求所有的报文都必须在此通过检查。路由器上可以安装基于IP层的报文过滤软件,实现报文过滤功能。许多路由器本身带有报文过滤配置选项,但一般比较简单。单纯由屏蔽路由器构成的防火墙的危险包括路由器本身及路由器允许访问的主机。屏蔽路由器的缺点是一旦被攻隐后很难发现,而且不能识别不同的用户。

  9.阻塞路由器

  阻塞路由器也称为”内部路由器“,它保护内部网络使之免受外部网络的侵犯。内部路由器为用户的防火墙执行大部分的数据包过滤工作。这些服务是用户的站点能使用数据包过滤,而不是代理服务安全支持和安全提供的服务。内部路由器所允许的在堡垒主机和内部网之间服务可以不同于内部路由器所允许的在外部和内部网之间的服务。

  10、 隔离域名服务器(Split Domain Name Server )

  这种技术是通过防火墙将受保护网络的域名服务器与外部网的域名服务器隔离,使外部网的域名服务器只能看到防火墙的IP地址,无法了解受保护网络的具体情况,这样可以保证受保护网络的IP地址不被外部网络知悉。

  11、 邮件转发技术(Mail Forwarding)

  当防火墙采用上面所提到的几种技术使得外部网络只知道防火墙的IP地址和域名时,从外部网络发来的邮件,就只能送到防火墙上。这时防火墙对邮件进行检查,只有当发送邮件的源主机是被允许通过的,防火墙才对邮件的目的地址进行转换,送到内部的邮件服务器,由其进行转发。 

  12、 状态监视器(StatefulInspection):
 
  状态监视器作为一个最新的防火墙技术,其安全特性最佳。它采用了一个在网关上执行网络安全策略的软件引擎,称之为检测模块。检测模块在不影响网络正常工作的前提下,采用抽取相关数据的方法对网络通信的各层实施监测,抽取部分数据,即状态信息,并动态地保存起来作为以后制定安全决策的参考。检测模块支持多种协议和应用程序,并可以很容易地实现应用和服务的扩充。与其它安全方案不同,当用户访问到达网关的操作系统前,状态监视器要抽取有关数据进行分析,结合网络配置和安全规定做出接纳、拒绝、鉴定或给该通信加密等决定。一旦某个访问违反安全规定,安全报警器就会拒绝该访问,并作下记录向系统管理器报告网络状态。状态监视器的另一个优点就是可以监测RemoteProcedureCall和User DatagrqamProtocol类的端口信息。其缺点是配置非常复杂,而且会降低网络的速度。


 

阅读(2334) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~