当前位置:Linux教程 - Linux - 防火墙,自身别着火!

防火墙,自身别着火!

安全、管理和速度,这是人所共知、不可缺少的对防火墙的基本要求,然而只有屈指可数的产品能将这三者兼而得之。请看来自DataCommunication的测试报告:

  最近DataCommunication和美国国家软件测试实验室(NSTL)共同对20种防火墙产品进行了全面彻底的测试及评估,包括设计模拟了近100种不同类型的攻击方案、管理特性的全面测查,以及在100Mbps快速Ethernet网络环境中的高强度速度测试。测试结果表明,防火墙产品总体来说尚未达到成熟的商品化阶段,不同厂家的同类产品性能差异相当大。

  最明显不足的方面是安全。我们并没有刻意去发现漏洞,仅仅是由于某些参数设置不当,结果却暴露出有好几个产品在安全方面令人吃惊的缺陷。20个产品在管理功能上各不相同,差别很大。而且有几个产品在性能测试中发现不能胜任重负载,这就使人们对它们的自身安全产生了疑问。当然这其中也确有几个产品不论从哪个方面衡量都是杰出的。测试优选奖被授予下列产品:CheckPoint软件技术公司的FireWall-1(防火墙一号)、CyberGuard公司的CyberguardFirewall、Seattle公司的Watchguard安全管理系统和Sun公司的SunScreen。荣誉奖授予AltavistaInternet软件公司的AltavistaFirewall973.0(它的突出特点是方便的管理功能)。另外在测试中也看到有几个产品在WindowsNT平台上的表现令人鼓舞,Unix厂商说教式地指责WindowsNT不适用于企业级环境。但测试表明不管是从安全还是从管理功能来看,这些产品在NT上的表现都不比在Unix上的产品逊色,这意味着网络管理人员有了更多的选择余地。

   几个重要内容

   当我们上次评测防火墙产品时,几乎所有的产品都需要进行复杂的设置,需要掌握Unix领域的专门技能和对TCP/IP的透彻了解。而这次除了Unix系统平台,许多产品可以在WindowsNT、NetWare以及OS/2等多种平台上运行,并且多数厂家都把容易使用作为市场宣传的重点,这确实是很好的趋势。但需要说明的是这并不能作为决策的全部依据。在多种产品中选择时,网络管理人员必须估计到可能遇到的各种情况并制定出网络安全规范,从而有可能选择在某种具体环境中最合适的防火墙产品。要知道即使是功能最强的产品也不能保证一定能抵挡得住它所没有遇到过的攻击,比如公司内部的台式机通过一个Modem进行非法访问。

  管理工具的适用性和质量也是重要方面,在一些大公司需要采用多个防火墙时更是如此。特别值得一提的是对大数据流量的处理能力。这不仅仅涉及连接Internet的速度和容量,更重要的是会影响Intranet,因为在Intranet环境中10Mbps的速率是最基本也是最普通的要求。另外在考虑配置多个防火墙时,价格总是需要特别考虑的因素。

  不同的防火墙有不同的结构,这是影响产品安全性能的重要因素,也是选择产品时需要了解的基本知识。一般来说各种防火墙主要是在三种访问控制结构中采用其中一种或一种以上,即:包过滤、各种代理和全状态检验。

   包过滤控制是检查所能看到的所有数据包,然后根据预先定义的规则进行转发或滤除。代理制的防火墙是作为客户端访问请求的中间环节,接受请求后防火墙建立另一条链路连接到客户所要求的资源。处于应用层的称为应用代理,处于会晤层或传输层的称为电路中继(CircuitRelay)。全状态检验也是检查所看到的所有数据包(这有些像包过滤),不同的是它要进一步确定哪一个连接使用了哪一个端口,然后在连接断开时关闭这些端口。

  不管防火墙的的设计结构是什么,参加这次测试的所有产品都具有网络地址转换功能(NAT)。NAT允许网络管理人员在内部网络中采用任何网络地址,这样可以减轻互联网IP地址的资源紧张状况,并且将内部网“隐藏”起来免受攻击。

  这次测试没有涉及的一个方面是所谓“隧道”技术。这种技术是采用授权和加密方法构建虚拟专用网络。这是一个重要课题,DataCommunication准备今年下半年对它作单独测试。

   安全第一

   安全可以说是防火墙的同义语,因此理所当然地成为测试的首要目标。我们采用Internet安全系统公司的SafeSuite(一种安全检查工具软件),对参测的每一种防火墙进行了近100种不同类型的攻击。其中一部分是针对防火墙或操作系统通常认为的弱点,另外一些是对所谓“Denied-of-Services”拒绝服务类型的攻击,这一类攻击的目的在于使防火墙“挂起”或降低其防护性能。

  这次也同时检测了防火墙对可执行对象如Java和ActiveX的检测能力,对Internet&Intranet来说这些可执行对象也许更危险。因为这种数据流可以通过防火墙,比如一次不经意的Web浏览所下载一些页面,其中有可能含有蓄意编制的一段Java或ActiveX对象代码,由于防火墙被设置成允许Web访问而使这段代码顺利通过造成后果。

  测试环境重现了许多公司通常采用的网络结构。每一个防火墙配置成三个接口:内部网(Intranet)、外部网(Internet)和一个安排有Web服务器和FTP服务器的“不设防区”(DMZ)。

  SaftSuite将发现的所有问题按危险程度分为高、中、低三类,大部分问题属于低的一类,但确实发现有几个产品存在中等危险程度的安全问题。其中最严重的是所谓同步溢出(或称同步风暴)问题,攻击者以请求大量的同步TCP连接来轰击防火墙。为了应付大量的同步连接请求,防火墙很快将所有缓冲区耗尽,导致无法接受新的合法的访问请求。尽管这说起来不是最高危险程度的问题,但确实是用户们关心的主要问题之一,对ISP来说这也许是最关心的问题。其他归入中等的还有TCP相关预测,攻击者用假的IP地址欺骗防火墙的授权程序(如Unix的rlogin和rsh命令),使之认为非法的数据包是来自具有合法资格的计算机。几种产品存在这种问题:GlobalInternet软件集团公司的Centri、MilkWayNetwork公司的BlackHole和Raptor系统公司的EagleNT。

  至于ActiveX对象的过滤问题,只有三家厂商声称他们的产品具有此项功能。为了验证这一点,我们通过防火墙下载了一个内嵌有AxtiveX对象的Web页面,值得庆幸的是有两家产品与广告宣传的说法一致(另一个产品由于时间所限没有测试)。我们没有对厂家宣传的对Java对象的过滤功能进行验证。Java由于内建的安全控制,一般认为要比ActiveX安全。微软声称ActiveX的安全机制最完全的实现方案是数字签名,据称它可以保证每一个对象的安全。但无论如何在数字签名实现并证明确实有效之前,网络管理人员最好还是滤除这些可执行内容。

  

   管理与操作

 

  安全漏洞更多是由于不适当的参数设置,而较少是由于防火墙软件的代码错误。防火墙的管理特性对网络安全有着举足轻重的影响,因此这是重要的测试内容。本次测试的产品大多数都提供了图形用户接口。值得一提的是IBM的防火墙提供的命令行接口,甚至比某些其它产品的图形用户接口更快也更简便。许多产品还提供了图形化的客户端接口用于远程配置。由于管理性能的多样化,无法进行逐项的比较,因此我们设计了五种典型的管理情景方案,然后将每个产品在各种不同情景下的处理能力分为五个等级,1表示最差,5表示最好。所有五种方案中只对防火墙本身表现计分,所有需要外部硬件和软件辅助完成的性能都不予计分。

  第一个情景是假设网络管理员凌晨1:30被数据中心的电话叫醒,现场技术人员发现有人试图强行闯入内部网络系统,管理员决定关闭防火墙,然后检查日志文档。理想情况下,防火墙应该能够通过寻呼机或电子邮件方式通知管理员,并且允许管理员远程关闭防火墙的外部接口。尽管有的产品需要繁琐的菜单操作,但是大多数都能比较简便地完成测试。只有两个产品没有通过。

   第二个情景是来自一个IP子网的非授权访问,管理员希望能拒绝访问请求,并跟踪观察下一步的动作。防火墙应该能提供三种选择:拒绝访问、记录所有活动、运行路由跟踪和监视命令以获得攻击者更详细的资料。所有的产品都能完成前两项并且大多数得分为4或5,只有GTA的GnatBox需要另外一台机器处理记录任务(从安全角度考虑是可取的但不太方便)。只有五个产品能提供第三项功能:ANS的InterLock、Raptor公司的EagleNT、SecureComputing公司的BoradWare和SideWinder以及Seattle软件公司的WatchGuard。

  第三个情景是网络管理员希望授权只能访问内部网络的两个Web服务器,而不允许访问其它服务器,同时监视可能的假IP地址,即防火墙外部的攻击者,将他们的机器设置为防火墙内部的IP地址。令人惊异的是有两个产品不允许访问多个服务器,而另外一个产品要进行繁琐的重新设置才能实现。

  第四个情景中包括了四种不同类型的拒绝服务攻击。理想情况下,防火墙应该采取直截了当的方式,比如将数据包打回或干脆关闭防火墙的方式。第一种即所谓的同步溢出,除了GTA的Gnat其它产品都通过。第二种被称为Ping-of-Death,攻击者用Ping命令发出超长的TCP/IP数据包,试图耗尽目标机的通信缓冲区而导致宕机。有几家厂商承认他们的产品存在弱点,但测试中却没有发现什么问题。第三种攻击试图使防火墙的日志空间耗尽而导致审计功能失效。我们希望防火墙在日志空间耗尽的情况下立即关闭外部接口,因为没有日志的运行与没有防火墙一样不安全。但只有一个产品CyberGuard能作到这一点,另外9个产品继续运行而且循环使用日志空间,即用新的记录覆盖掉最老的记录,这并不是最好的办法,因为总有一部分记录被冲掉了。其余的产品全部就此进入无日志运行状态。第四种攻击是试图耗尽防火墙的磁盘空间,这种情况下防火墙应该立即关闭。只有五家厂商:Altavista、CyberGuard、NetGuard、Sun和TrustedInformationSystem的产品做到了,后两家是因为Solaris操作系统对磁盘满的保护性响应。TIS的其他操作系统版本在同样情况下就没有关闭。另外两家IBM和MilkWay的防火墙继续运行,但拒绝再接受外部的任何访问请求 ,这是更好的解决办法。其余产品则对这种情况无反应而继续运行,使人怀疑这种状态下是否还有日志记录,而这是重要的安全保护。最好的办法是将日志保存在其他机器中或定期转移到只读存储设备中。

  第五个情景是测试报表和报警的设置。当发生安全问题出现报警时,日志文件本身的安全与日志所记录的内容同样重要,因为日志文件本身的长度增长的极快。如McGraw-Hill(DataCommunication的母公司)的Web服务器仅仅记录Web访问的日志文件每天就可达16M字节,这还不算记录电子邮件、FTP和Usenet访问的日志。这样庞大的文件要想阅读其中的所有内容,实际上是不可能的,但仅仅记录发生的事件还远远不够,这就需要防火墙能自动扫描全部记录内容,并标注其中可能的安全隐患,进而通知管理人员。

  测试中我们标注了十几种网络管理人员需要进一步确切了解详情的有关安全事件,遗憾的是没有一个防火墙提供了内在的功能。

  第一组事件包括超大数据流量,目的在于防止发生磁盘空间溢出。我们试图记录每间隔24小时是否出现过一次请求20M字节以上的数据传输。有12种产品记录下了此类事件,但只有Altavista、ANS和MilkWay的产品在事件发生时向管理员发出e-mail通知。

  第二组事件涉及连接请求的数量。有15种产品记录了在每分钟内是否出现20次以上连接请求。只有Altavista、ANS和CyberGuard向管理员发出e-mail。Interceptor发出寻呼通知,可是却没有记录。另一种更危险的事件———每分钟内与一个不存在的IP地址请求10次以上连接,这种事件表明有一个自动扫描程序在活动,只有ANS和Cycon的产品记录了此类事件并发出e-mail。

  最后一组事件是一些有关其他攻击活动的报警。有9种防火墙记录了外部网点冒充内部IP地址的活动,只有6种防火墙记录了预先定义为“敏感文件”(如存有内部口令的文件)的网络传输事件。类似的还有对整个目录的传输(如修改联邦调查局和美国司法部主页事件),只有三家产品留有记录,而且只有ANS的InterLock启动e-mail和寻呼通知管理员。

  上次的防火墙测试中,性能是主要关心的目标,测试报告公布后几天内收到了大量的读者来信,建议应以安全测试为主。可是自从那时以来,累计又收到了更多的有关性能测试的请求。这是由于Intranet和快速广域网的迅速发展对高速防火墙的需求日趋强烈,主干网上的一些敏感资源过去是访问不到的,而现在也需要加以保护,这些资源往往都位于至少10Mbps以上速率的高速网段。

  为使我们的评估反映这种技术发展的趋势,对大多数产品采用了100Mbps快速Ethernet接口(有二、三个产品不支持100M速率),并选用100M交换机来保证每一个防火墙确实能被加载到100M速率(经验证为98Mbps)。必须承认目前市场上仅有很少数量的防火墙带有100M接口,最常见的配置还是一个或几个10MbpsLAN接口加上一个T1或以下速率的WAN接口。100M只是一个测试上限,举例来说,一个只能提供3M流量的防火墙,不管接到10M或100M网段上都是一样的。

  测试数据的组成先是以90%的负载流量作为Web请求,加上少量的FTP作补充,然后调整为45%直接的Web请求,35%的Web-CGI请求,加上10%的FTP请求。三个网段的测试环境是:在DMZ安装一个Web服务器、两个FTP服务器,公共网段安装Web和FTP服务器各一台,专用网段和公共网段平均分配16台客户机,每一台能产生相当于4台虚拟客户机的请求,这样总共为64台虚拟客户机(最初设计为128台,后发现64台已经使100Mbps带宽饱和了)。

  InterMark(NSTL的数据流量生成与测量工具软件)指令虚拟客户机依次发出100个URLs请求,然后测试这些请求的被响应速度。一个请求完成后立即发出下一个,工具软件的执行效果比实际网络最繁忙的Web浏览操作速度要快得多,相当于人工连续不断地敲击Enter键。这样64台虚拟客户机产生的负载强度可以毫不夸张地说相当于几百到几千个用户的网络数据流量。这种负载性能的测试是厂家们最担心的测试项目,大约有一半以上的厂家为了完成此项测试不得不回公司更换驱动模块或软件补钉。出现的问题从速度降低到性能不稳定甚至导致宕机,不论是采用哪一种OS平台都差不多。这种情况不管是从产品性能还是安全角度考虑,都是令人担忧的。

  但是有几个产品表现良好,100M负载条件下,Altavista、ANS、CheckPoint、GlobalInternet和Sun公司的产品在48个性能客户机时能达到约50M左右的速率。仅达到50%的指标似乎很不理想,但考虑到在共享结构网络中,由于碰撞实际速率一般只有30到40Mbps。另外CyberGuard和NetGuard也能达到高于实际速率的指标。

  大多数产品在16个到48个以下虚拟用户负载时,速度性能是上升的。而所有速度性能表现优异的产品,在64个虚拟用户时处理速度都大幅度下降。CheckPoint下降28%,NetGuard下降64%,有一个产品甚至没有完成64个用户的测试。只有几个速度低于10Mbps的产品在64个用户时速度没有明显的下降。

  测试结果对WindowsNT是否能应付企业主干网的高负载环境,给出了肯定的回答。本次测试中表现速度最快的产品之一GlobalInternet的Centri,就是运行在带有经修改的TCP/IP协议栈的WindowsNT3.51之上的。然而不同版本的WindowsNT对防火墙的性能也有一些影响。比如Raptor的Network-1采用的是带有未经修改的TCP/IP协议栈的WindowsNT4.0,它比同一平台上的Netguard防火墙产品速度要慢得多。目前很难确定造成这种明显的差异是由于防火墙还是由于操作系统的原因。?