安全、管理和速度,这是人所共知、不可缺少的对防火墙的基本要求,然而只有屈指可数的产品能将这三者兼而得之。请看来自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的防火墙继续运行,但拒绝再接受外部的任何访问请求 ,这是更好的解决办法。其余产品则对这种情况无反应而继续运行,使人怀疑这种状态下是否还有日志记录,而这是重要的安全保护。最好的办法是将日志保存在其他机器中或定期转移到只