Netscreen VS. checkpoint 杂谈(精彩)

作者:Yiming Gong
http://security.zz.ha.cn/


声明:任何形式的摘抄必须保留上述作者和http地址

这是Netscreen VS. checkpoint 杂谈的第一部分

1. 开始前的声明
首先,本人在资源方面即没有netscreen,也没有checkpoint,更没有smartbits之类的测试设备,以下的内容均是本人翻遍netscreen和checkpoint网站,同时结合网络上搜集的资料中分析得出的结果,因此不可避免会有不当之处,这些地方欢迎各位资深人士指出,以便本人进一步修正和完善本文档。
其次,本文不是讲如何安装配置这些产品的,这些东西是“熟练工人“做的事情。
最后,本文对产品的各种评价均为个人看法,任何意见,非常欢迎讨论。

2. 为什么会有这么一篇文章:
相对于其他安全产品,防火墙在网络的应用中要普遍的多,同时在安全市场上也是相对要成熟的技术。但是留心的人很容易注意到,目前防火墙的宣传很乱,各家厂商都在鼓吹自己的产品,诋毁对手的产品,他们每家都可以列出来一串串的单子,宣称在某某功能超出对手。这种例子比比皆是;与此同时,很多媒体和评测机构(国外国内均是如此)也抛出了一些不负责任的所谓公平的评测报告。更给大家带来困惑。本文力图按照个人理解的一些东西来描述这两种系统。

3. 架构
首先我们来看防火墙的架构,这包括两个方面,软件和硬件两部分。也就是防火墙运行在什么软件系统上以及防火墙安装的硬件平台。
架构是防火墙的骨骼,他决定了防火墙整体的工作水平和潜能。一般而言,我们可以把常见的防火墙分为基与硬件和基于软件的两类。

基于硬件的防火墙硬件方面一般是采用专门设计的实现防火墙必要功能的ASIC,NP架构等量身定制的硬件,供防火墙跑的操作系统也是专门设计的。
而基于软件的防火墙硬件方面一般采用通用架构的pc硬件,操作系统也因此采用的多是基于unix系列或者nt系列的通用操作系统。

这里面checkpoint可以归类为基于软件的防火墙,而netscreen则是基于硬件的。

两种架构的描述:
性能:
netscreen没有采用传统的工业架构布局,而是使用的是独立研发体系结构,包括netscreen专用的screenos操作系统和为实现防火墙功能而特别设计的ASIC芯片(这包括从低端的netscreen5,10的采用的megascreen芯片到高端的netscreen 500,5000等使用的Gigascreen芯片),它们与RISC处理器等设备紧密集成,为客户提供专用的防火墙的各项功能。

由于netscreen防火墙设计上就是为了完成必要的防火墙工作,同时对数据包的访问控制,加密,地址转换等工作是通过上述专门的硬件来实现的,这就从结构上非常好的避免了传统的基于工业架构的软件防火墙不是专门为了防火墙设计,极大的依赖cpu,同时总线带宽受限制等重大的弊病,从这一点来看,理论上对防火墙的要求越高,netscreen体现的价值就越大。
在netscreen的站点上,关于防火墙的白页宣称它的高端netscreen 5400,在操作系统screenos版本为3.0防火墙时防火墙的通透性可以达到12Gbps之高(可达6Gbps)-这是本人所了解的性能最高的防火墙。

checkpoint防火墙本身是一套软件,而基于软件的checkpoint防火墙本质上从操作系统到硬件架构都是使用的通用的系统,因此尽管软件本身可能已经尽可能的得到了优化,但受架构的局限,性能在理论上先天不足。
Checkpoint为了解决这个问题,相继推出了软硬件的加速方案,这些方案主要功能是一致的:一方面包括将数据包的访问控制,加解密,地址翻译等非常消耗系统资源的工作从cpu转移到专门的插卡来处理,减小cpu负荷,另外一方面通过优化软件对数据的处理层次,将本来在高层的处理工作向下放,向硬件层次靠拢。通过上述两个方面,从而实现减少承载它的系统的压力,改进提升系统性能的目的。我们可以看到的SecureXL,checkpoint Performance Pack,VPN-1 Accelerator Card以及和Corrent公司,Nortel等公司合作推出的各种加速卡,都是这一思想的产物。
从checkpoint的站点上得到的资源来看,这些解决方案的效果还是比较理想的。在checkpoint的高端产品上(如和Bivio合作推出的1000s平台上的防火墙性能可达4.0 Gbps,在64byte小包上也可达到3.2 Gbps的通透性)。
此外根据checkpoint公布的资料来看,在这个月checkpoint自己的测试中,使用了5月13宣称的新技术Application Integlligence后,性能在原来的基础上进一步提升了31%。


稳定性兼容性:
由于netscreen采用的专门的软硬件,因此系统的稳定性上理论上应该领先,同时由于防火墙操作系统是专用的screenos,不存在防火墙和硬件的兼容性问题。

而checkpoint使用的优化和定制后的操作系统和硬件,但是由于防火墙需要运行在通用的操作系统和硬件之上,而这些操作系统和硬件不是特定为防火墙各项功能设计的,因此可能会存在稳定性和兼容方面的隐患。

功能和灵活性:
netscreen采用的专门设计的操作系统和硬件架构,决定了灵活性上要相对差一些,而且可能提供的功能相对较少。
比如早期为很多人诟病的高版本的screenos操作系统无法使用在早期的硬件平台上,从保护投资的角度上是很难为客户所接受的。
又如netscreen的策略数目是有限的,如果用完了访问控制策略,如果要新增新的策略,那么必须去掉已经配置好的某些策略。
此外对硬件的依赖决定了很难扩充新的功能模块,防火墙从购买之日起能提供的功能就基本上不会有太多的改变了,客户买了某种型号的防火墙后可能无法期待后期的重大升级。

而Checkpoint由于架构不依赖硬件,因此理论上功能是可以无限扩充的,它能给客户更多的控制和定制功能。

防火墙所在系统安全更新
netscreen这种基于硬件的防火墙由于采用专用的screenos操作系统,安全问题暴露很少,需要打安全patch的必要性小。

checkpoint跑在windows和unix上,由于这些操作系统本身的安全问题,管理员需要不断的更新操作系统本身的patch(尤其是windows平台上的,yiming简直受不了window隔三差五的patch了~~),这对防火墙的管理者而言是个比较痛苦的活儿。

维护成本
netscreen这种基于硬件的防火墙运行起来很容易,基本上加电开机就可以跑起来了,而且防火墙维护者不需要了解防火墙以外的任何技术。

Checkpoint正常运行需要先安装操作系统,安装各种驱动(比如网卡),配置操作系统等,这是个比较讨厌的活儿。
不过checkpoint为了解决这个问题,也推出了软硬件集成在一起的产品,国内常见的就是和NOKIA合作推出的产品,比如NOKIA IP740,就是绑定在一起的基于freebsd的checkpoint套件,直接开电防火墙就能跑起来。
此外值得注意的是,如果checkpoint防火墙运行在unix平台上,需要防火墙的维护者对unix系统熟悉,不要小看这一点,在很多的公司,这对管理员是个很大的挑战。

4. 数据包的处理方式
除了防火墙的体系架构,最重要的部分就是防火墙对数据包的处理方式了,虽然checkpoint和netscreen都说自己都是基于stateful inspection的防火墙,但两者还是有区别的。个人认为,准确的讲:checkpoint更多的是SPI(stateful packet inspection),而netscreen则更多的是SPF(stateful packet filter)

netscreen使用的是核心是SPF,所谓SPF,一言以蔽之,即:在传统的包过滤的基础上增加了对数据包的状态判断。一个数据包如果不是意图建立连接的数据包同时又不属于任何已经建立的连接的话,这个数据包直接就被丢弃或者拒绝-根本无需去和访问控制列作比较。这样就大大增加了安全性,同时提高了性能。目前基本上主流的防火墙都采用了这一非常成熟的技术,与此同时,为了更加有效的发挥防火墙的作用,netscreen公司和其他大多数公司一样,在对数据包的处理方式上,除了SPF,还增加了Application Proxy方式,利用这一方式,netscreen对高层的一些应用可以进一步加以控制,比如利用syn gateway抵抗Denial of service攻击即为一例。
(注:关于SPF,SPI, Application Proxy等具体概念,不是这里讨论的内容,大家可参考相关资料)

我们来看看netscreen是如何利用ASIC芯片和SPF处理tcp数据包的:
当数据包到达netscreen的网络端口时,要先进行基本的有效性检查,验证数据包合法后,screenos检查这个数据包是否是已存在的某个连接的session的一部分(比如属于一个已经建立成功的telnet)。
如果该数据包声明属于已存在的某个连接的session的一部分,那么进一步检查tcp的sequeuce号等参数来确认是有效的数据包,是就通过,否丢弃。

如果该数据包不属于任何已经建立的session,那么搜索管理员事先设置的访问控制列内容,如果访问控制列内没有符合该数据包的内容,数据包被丢弃,如果存在符合该数据包特性的访问控制规则,那么一条新的session建立。请注意这些工作是在它的ASIC芯片上进行的。

为什么要强调这一点呢?我们来考虑如下问题:决定防火墙性能的主要取决于什么?
为了回答这个问题,我们先温习一下防火墙的基本概念:防火墙是在两个网络间实现访问控制的一个或一组软件或硬件系统。防火墙的最主要功能就是屏蔽和允许指定的数据通讯,而该功能的实现又主要是依靠一套访问控制策略,由访问控制策略来决定通讯的合法性。
从上面的防火墙的概念我们可以看出,防火墙的主要工作就是进行访问控制,那么同样条件下,访问控制的处理速度越快,那么防火墙的性能自然就愈好。
同时,另外一方面,一般来说,某个数据包被拒绝,往往是与访问控制列的acl逐条比较,如果前面的acl不符合,那么在访问控制列的最后部分才会被拒绝。如果系统性能较差,这会是个非常耗费资源和性能的工作。

Netscreen在实现SPF时,通过在ASIC硬件而非cpu上进行访问控制的策略的比较,显著的提升了速度。在netscreen的白页上,介绍它的防火墙可以以线速处理4万条以上的访问控制规则,这个结果是令人非常满意的。这也是netscreen在实现SPF中最为闪光的一部分。

Checkpoint的工作方式主要基于SPI,SPI是工作在SPF之上的,它在提供SPF的功能基础上,增加了对数据包内容(高层)的分析功能。这对管理员对网络的安全控制能力无疑增进了一大步,同时,也是非常实用的一个功能,对一个有经验的管理员来说,利用SPI可以大大地减小网络的安全管理工作。
一个很简单的例子:一家企业分布在各地机构的局域网需要对外开放snmp管理功能,常见的防火墙一般也就是放开tcp/udp 161和162端口,无法再做更多的控制了,但是利用SPI,管理员就可以控制仅仅对外开放snmp的get功能,不允许set动作,这就极大的减少了snmp端口开放的危害性。又比如,利用SPI,管理员可以强制通过80端口的数据包必须是真实的http数据,而不是流或者即时通讯工具。

我们知道代理型防火墙同样能够提供高层访问控制,但是代理型防火墙工作在高层,他们在处理client和server的连接时,作为“二传手“来分析解释和控制数据包,每个client到server的连接被截获,演变成client到代理,代理到server,server到代理,再从代理到client的通讯形式。这就增大了延迟,同时对每种类型的通讯都需要高层的分析解释能力的单独的软件来做,局限较大。

而checkpoint的数据包处理引擎INSPECT工作在网络层和数据链路层之间,他们并不打断client和server端的连接。由于工作在最低端,进出端口的所有的数据包都会被核查,只有符合INSPECT引擎审核通过的数据包才能向高层发送。
INSPCET引擎使用可定制的INSCPET语言来理解和分析需要关心的数据包内容,并实现对数据包的动态控制。由于INSCPET语言的对象是整个原始的数据包,因此就在SPF的基础上增加了高层的控制,如:不仅向SFP那样可以对底层的ip地址限制,还可以控制到高层内容,如限制邮件的content-type。同时,管理员可以从checkpoint站点上不断取得新的INSCPET代码,从而增加对应用的扩充。
2003年5月13日,checkpoint又宣称推出近年来功能上重大的升级,即所谓的Application Integlligence,该升级主要的卖点就在于宣称能够检测和防止应用层的网络攻击。

我们知道,随着网络技术的不断发展,网络攻击行为已经逐步向高层转移,利用操作系统和网络设备本身安全问题入侵和攻击的浪潮已经逐步降低,人们越来越将攻击的目标转向高层的应用,相信这以后会是网络安全攻防的趋势。关于这方面的内容,各位可以参考OWASPWebApplicationSecurityTopTen这篇文档(http://www.owasp.org/ 需要使用代理)

本人对这一技术非常感兴趣,仔细的研究了一下checkpoint公布的相关文档,关于Application Integlligence的功能,主要有以下四点:
1:确认网络通讯符合相关的协议标准,比如:不允许http头出现二进制数据内容。
2:确认网络通讯没有滥用相关的协议标准,比如:不允许P2P通讯利用80口穿过防火墙。
3:限制应用程序携带恶意数据,比如:控制跨站脚本
4:控制对应用程序的操作,比如上面我们举的snmp例子。

仔细的分析上面的内容,个人理解对checkpoint而言,其实Application Integlligence也不能算是非常新的技术,可能只是在SPI基础上的升级和进一步扩充。

此外关于checkpoint需要注意一点的是,checkpoint数据包处理引擎INSPECT对高层的数据包核查并不象想象的那样支持非常多的应用,而是将主要精力放在了常用的http,ftp,mail等一些比较普遍的应用上,也即,不是所有的高层的所有数据包都会被INSPECT审核,使用者不要迷信checkpoint宣称的INSPECT技术,我们可以看下面的例子:
这里是checkpoint在sql slammer蠕虫蔓延时的一个扩展的INSPECT CODE,
deffunc sql_worm_slammer() {
(
dport = 1434,
packetlen >= (20 +8 +1 +96 +4),
[UDPDATA:1] = 0x04,
[UDPDATA+97:4,b] = 0xDCC9B042,
LOG(long, LOG_NOALERT, 0) or 1,
drop
)
or accept;
};
本人没有找到关于checkpoint INSPECT CODE的说明文档,但是观察上面的内容,我们可以猜出来一些东西。至少从这个CODE内容看,这是个基于签名的代码,我们可以看到比较关键部门可能包括两点:dport = 1434,端口1434,packetlen >= (20 +8 +1 +96 +4),数据包长度?20是ip头,8是udp长度,1,96,4是什么? 本人没使劲猜(我猜得到开始,猜不到结局…… ;))
从上面的内容来看,其实checkpoint防火墙本身在处理sql slammer蠕虫时,并不象想象的那样真正的懂得sql的应用的,它可能只是执行了简单的匹配而已(本来想多看几个INSPECT CODE的,可惜要口令,幸亏原来下了一个sql slammer的)。

前面的话:这是个0.8版本的,很遗憾,本来想花点力气来写这一部分的,但是实在是抽不出专门的时间,so,先放个草一点的上来吧。

首先各位应该清楚的是,作为目前市场上主流的商用防火墙,无论是NETSCREEN还是Checkpoint,就基本的防火墙功能而言两者没有太大的差异也不可能有太大的差异(如果你听相关的厂家鼓吹自己产品的某种基本功能与竞争对手有多么明显的差异,那他必定在糊弄你)所以我们这篇文章不打算浪费时间讨论任何与防火墙的基本功能有关的内容。

1. Checkpoint
在本文的第一部分我们提到过,目前利用操作系统和网络设备本身安全问题入侵和攻击的浪潮已经逐步呈下降趋势,人们越来越将攻击的目标转向高层的应用,关于这一点著名的市场调查研究机构Gartner也有一个调查结论可以参考,如下:
Today over 70% of attacks against a company's network come at the 'Application Layer' not the Network or System layer.
-----Gartner Group

目前越来越多的商用防火墙厂家都在应用层安全这一方面投入力量进行研发,这也是防火墙适应安全市场变化的一个体现,作为业界的翘楚,Checkpoint自然也不会落后,5月份该公司推出的所谓AI(Application Integlligence)就是强化防火墙对应用层安全功能的一个很好的验证。在Checkpoint的文档里,AI主要完成如下功能:确认通信是否遵循相关的协议标准;进行异常协议检测;限制应用程序携带恶意数据的能力;对应用层操作进行控制。AI只是一个概念,在Checkpoint的防火墙产品上,是如何具体体现的呢?


从Yiming能拿到的资料上来看,Checkpoint的AI由两个内容组成:Inspection Module和Security Server。
Inspection Module在part1中我们已经作了说明,它构成Checkpoint firewall的内核,在完成防火墙acl等基本功能以外,它还能对一些高层的应用,主要是HTTP、SMTP、FTP的一些属性进行直接的限制和保护。


来看一个例子理解:Checkpoint的HTTP Worm Catcher,相信大家都留意到,一段日子以来,利用80端口进行网络自动传播的蠕虫非常活跃,因为一般而言,现在互联网上的企业即使安装了防火墙,80端口通常也都是开放的,如果防火墙没有检查数据高层内容的能力(SPF类型),同时被保护的WEB系统又存在有相应的安全漏洞,那么这些攻击数据包会顺利的进入防火墙后被保护的主机,此时,虽然WEB系统是被防火墙保护的,但由于防火墙不具有高层应用的核查能力,无法对80口经由的数据包高层内容进行核查,从蠕虫的角度来看,这个防火墙等同于虚设。


Checkpoint防火墙的HTTP Worm Catcher就是针对这一问题的一个解决方法。该技术的关键在于不仅对数据包使用的端口,数据包的状态进行核查,在需要的时候,还要对数据包的内容进行模式匹配核查。管理员通过SmartDefense配置HTTP Worm Catcher,根据蠕虫的特征来添加蠕虫的特征码(如添加规则匹配.IDA则防火墙将阻挡CodeRed攻击),防火墙根据匹配从而拦截阻断含有对应特征码的网络数据包。
目前最新版本(NG with AI R54)中就应用层安全提供的一些功能:控制最大的URL长度,限制P2P软件的使用,记录web访问的详细日志等等。
由于Inspection Module的特性(工作在内核,靠近底层),因此Inspection Module在实施对高层的数据包的控制时性能比较理想。

Security Server:Security Server 是工作在Inspection Module之上的,它就像一个插件,辅助Inspection Module完成的对所关心的高层数据限制和保护的工作,由于Checkpoint不可能将所有的和高层有关的限制和保护功能都放入到它的内核(Inspection Module)中,由此产生了Security Server这个模块,它和防火墙内核交互,完成一些更加复杂的访问控制和审核任务,在实际的工作中,Security Server像一个代理服务器模块,底层的Inspection Module将数据包交给Security Server处理,Security Server完成相应的工作后,再将处理完毕的数据反馈给Inspection Module。由于是在Inspection Module内核之上的一个插件,Security Server对应用层控制就能够灵活许多,可以对数据实施更多的核查,但也正是因为这个代理的特性,性能上#@$%了点。

Security Server是个奇怪的名字,本人猜测Checkpoint这么叫可能主要是想掩饰Checkpoint防火墙使用了部分代理模块的特征—这可是性能降低的代名词 ;)
从实际情况看来,应用了Security Server也确实会带来性能上的降低,今年3月Network Computing 的一次测试中,Checkpoint的防火墙使用了Security Server后,性能由766Mbps下降到122Mbps,这是非常明显的一个降低。
但是防火墙性能降低的换来的是功能上的增强,很多依靠Inspection Module无法完成的复杂工作,借助于Security Server后就变得可行了,Security Server大大增强了防火墙对高层的控制能力。比如,ftp应用中,可以限制ftp连结中使用的命令,限制传输的的文件路径,和防病毒产品联动实现病毒扫描等等。

要更多的功能还是更快的速度,这是需要防火墙的用户去权衡的问题了。

后台的Inspection Module加Security Server构成了前台展现的Resource和SmartDefense。(用过Checkpoint的人应该知道,这两者都可以在SmartDashborad的界面上看到,其中Resource在SmartDashborad的Manager菜单里,而SmartDefense就在主界面内)。

SmartDefense
SmartDefense是集成在Checkpoint FIREWALL-1中的一个非常重要的模块,通过这个模块,Checkpoint防火墙逐步将对网络攻击的防范手段集中起来,一方面防火墙阻断普通的非授权数据包,另一方面防火墙对照管理员配置的特定的控制规则来搜索授权通过的数据包应用,即使这些数据包从端口以及连结状态上符合防火墙要求,如果数据包的内容不符合某些相应的规则特征,则数据包被认为是具有攻击特性的,被丢弃。

SmartDefense主要防范的内容包括两大类:
提供网络层的网络安全服务,主要用来防范网络层的网络安全事件。比如,对DoS服务的控制和阻断、对ip fragment的控制、SYN攻击的防范、防范IP SPOOF等(具体内容参看SmartDefense,没什么好讲的)。
提供Application Intelligence 这个我们在第一部分提到过,主要用来防范应用层的网络安全事件。比如,对MAIL、HTTP、FTP 、VOIP等控制(具体内容参看SmartDefense)。

可以看到,Checkpoint在不断强化SmartDefense的功能,这也是Checkpoint一个比较有特色的东西,个人理解Checkpoint通过这个模块开始向传统的IDP(入侵防御系统)渗透。

说到这里我们要多说几句,目前入侵防御类产品(IDS,IDP,IPS等等)技术上还存在较多的问题,其中一个比较关键点在于误报漏报太严重。单纯的看尤其是入侵防御系统,误报问题不解决,入侵防御类产品本身将成为网络问题的发生源,SmartDefense本身尽管不被Checkpoint称为IDP,但个人理解实际上这就是Checkpoint的IDP,只不过要注意的是,这是选择性的网络入侵防御(本人造的词汇,可能用英文可以表达为Selective Prevent,缩写为SIDP?^_^ )这其实是一种技术上的折衷,无法阻挡全部可能的攻击?OK,那么阻挡有把握的那些攻击吧。

目前Checkpoint的SmartDefense提供可防御攻击数目是有限的,预测Checkpoint会不断加大这方面的投入,增加这个单子上的AI项目。

此外还要废话一句,列位看官千万不要被Checkpoint的 AI这个词唬住了,这并不是一个非常新的东西,实际上这也就是其他厂家所说的DEEP PACKET INSPECTION,不是Checkpoint的唯一,这方面的工作大家都在做。

Netscreen
说完了Checkpoint该说Netscreen了,Netscreen在应用层控制方面做的中规中矩,基本上所有能够控制的高层的控制都是以services形式预定义好的,防火墙的使用者所能做的就是组合这些应用。与Checkpoint可以为防火墙用户提供比较丰富的控制功能相比,平心而论,Netscreen缺乏太多的可以控制的高层内容,没有特别值得说明的东西。


2. 一些错误说法
在Netscreen和Checkpoint的宣传文档里面,经常可以看见彼此诋毁对手的内容(相比之下,Checkpoint好像做得更狠一些,;)),这些时候,就要看购买者的经验和知识了。


本人看过一些双方的宣传文档,经常会看见一些错误的宣传内容,这主要包括两个方面:
a:炒冷饭
这就是说厂商拿过时的概念来做比较,
比如Checkpoint公司自己出的一篇名为”Why all Stateful Firewalls are not Created Equal”文中指出“Netscreen’s implementation of Stateful Inspection is also incomplete. Netscreen firewall devices are unable to reassemble fragmented TCP packets on all applications before enforcing the ecurity policy.“
这是Checkpoint公司2002年的一份文档,指出Netscreen不能处理tcp fragment,当时版本的Netscreen screenOS的情况确实是这样的,但是不要忘记,Netscreen的4.0.1的版本中,这个问题其实已经解决了。
现在的Netscreen产品操作系统基本上都在4.0.1以上了。但可惜本人在Checkpoint在国内一家很大的代理商非常新的一个宣传资料里面还看到这条内容被当作宝贝堂而皇之的被陈列出来—要么是写这个宣传资料的人根本不懂,要么是明知道Netscreen已经解决这个问题了还在装—我猜测前者的可能性更大一些~~ ;)

b:根本的欺骗
这种花样就很多了,
比如如下内容:
“性价比:在一台4000美元的机架式PC服务器上,Check Point可以提供4Gbps防火墙和2Gbps VPN性能的解决方案。“ 动动脑子吧,大哥!
又如
“是否支持windows:Checkpoint是;Netscreen 否“ 天啊,有点厚颜无耻吧!

3:评测,评测!
对绝大多数用户而言,毕竟作为使用者对防火墙产品不可能非常熟悉,这些时候,可能就会依赖一些权威的评测报告了,国内外目前搞评测的很多,但平心而论,很多评测根本就是糊弄人,而且可悲的是,可能这些评测的机构自己都不知道自己在误人子弟-因为他们采用的评测方法根本就是不科学的,这样后即使后面的工作再努力认真,结果都没有什么意义。

这包括很多方面,比如目前比较流行使用发包工具(比如说利用SMARTBIT)制造流量来测试防火墙设备这个问题,SMARTBITS等发包工具主要是测试底层设备,一般是网络层及以下设备,这些设备不需要分析高层内容,所以他们的测试很有意义,但是对越来越走DEEP PACKET INSPECTION路线的防火墙而言,我们可以考虑一下,到底有什么意义:
对于SMARTBITS单纯的狂发某种包(比如SYN包),这些数据包超时后应该被防火墙直接丢弃无需后续的分析。此外,由于防火墙可能要同时需要维护瞬间据多的SESSION表,很可能会导致防火墙拒绝服务。
对于SMARTBITS非单纯的发包,而是起SESSION的(尤其是起很少的SESSION ,比如一个测试起两个SESSION),很可能会把防火墙搞死,这是因为一个SESSION包含着成百上千兆的数据量,又一直没有FIN,防火墙的状态表很快就会溢出的。

又比如很多评测机构选择评测对象的方法,评测的结果是完全建立在不公平的起点或者是有问题的测试设计上的。这个我们可以看Checkpoint官方网站上的一个例子,在该文中赫然有一篇Tolly Group发布防火墙性能测试报告,在这个评测里面选取的对象是Check Point VPN-1 Pro、Cisco Pix 535和Netscreen 500 三家产品,方法是在防火墙设置单条访问控制规则,然后用SMARTBIT作为平台发包测试。结论当然是必然的:在这次测试中,Check Point 再一次展示了在 FireWall 和 VPN 性能方面的实力,各方面性能都超过了竞争对手。
Tolly Group的名头不小,看起来测试也都很公正,但是我们用点脑子就会发现有些问题:

首先是一个非常不公正的评测对手选型问题,在这个测试里面cisco的旗舰产品pix 535的选择还比较公正,而Netscreen的选择就不对了,Netscreen500系列的防火墙标称也就是几十万级别的并发session数,而Checkpoint的该款产品可是百万级的并发session数,两者的处理等级就不在一个水平上,结果怎么可能公正?自行车拼死了也不可能跑过赛车。如果测试,应该是Checkpoint -1 pro VS Netscreen 5000(而非500)VS pix 535

其次还有评测手法失误:就是评测的时候在防火墙上仅仅设置单个访问控制规则(single-rule)然后发包,这样非常不合理,很多基于软件的防火墙,处理复杂的规则,以及处理1条和1000条访问控制规则的时候效率可差别太远太远了,同时这样做把Netscreen基于ASIC的优势完全瓦解。

结束语:
作为高端防火墙市场的领先者,Netscreen 和Checkpoint各有特色,面对二者时,记着用脑子来做决断,^_^

 

你可能感兴趣的:(other)