1、SmartBits 如何测试防火墙作者:【CNW 专稿 】在实际网络中,防火墙位于内部网络和外部网络之间,它既是防范网络攻击和实现网络控制规则的重要关口,也是内外网通信的连接点。作为一个应用层的网关设备,防火墙必须要兼顾安全和性能两个方面。正因为如此,防火墙产品的测试也受到了国内的行业主管、企业用户、第三方实验室和生产厂商的重视。思博伦通信(Spirent Communications)的SmartBits 在这些测试中获得了广泛的应用。目前基于 SmartBits 的安全产品测试解决方案可以对防火墙、入侵检测系统和 VPN 产品进行性能测试。 作为互连网络设备,防火墙的测试通常需要遵从 RF
2、C 2544/1242,主要的测试指标包括:吞吐量、延迟、丢包和背对背包(Back to Back)。思博伦通信提供了一个基于 SmartBits 的自动测试软件 SmartApplications,它可以根据用户设定的条件自动完成 RFC 2544/1242 的测试。 在测试过程中,能够考虑对实际应用的网络流量模拟也很重要。思博伦通信为 SmartBits 的用户提供了一个基于多流的性能测试软件 SmartFlow。用户可以用 SmartFlow 模拟网络中非常复杂的网络流量,不同的包长、协议类型、网络地址,并支持按流量的特性进行分组显示。SmartFlow 可以测试的性能指标包括:设备在基
3、于复杂网络流量下吞吐量、延迟、延迟分布、丢包、包顺序、定长时间延迟测试等。 同时 WebSuite/Firewall 能够模拟多种 DoS 攻击,实现对防火墙安全的检查。用户可以配置每一种攻击的速率、攻击时间、攻击数目等。对于防火墙实施网络规则的检验和性能分析,可以采用 SmartWindow 或开发基于 SmartBits 的测试程序。思博伦通信为用户提供基于 Tcl 语言开发环境 ScripterCenter,支持用户在 SmartBits 上开发测试应用和实现测试方法。 除了能够进行防火墙测试以外,基于 SmartBits 的测试软件 TeraVPN 可以进行 IPSec VPN 设备的
4、性能分析和互操作性测试。SmartBits 能够模拟复杂的网络流量和多种网络攻击,也可以用于入侵检测系统的测试。另外思博伦通信的WebAvalanche 和 WebReflector 产品也经常被应用于防火墙、负载均衡设备、安全服务器和入侵检测系统等产品的测试。防火墙测试方法我们使用的测试仪器是思博伦通信公司的 SmartBits 6000B。控制台使用一台配置为 PIII 1GHz/128M 内存/20G 硬盘的惠普台式机。在测试百兆防火墙性能时,使用 SmartBits 6000B 的 10/100M Ethernet SmartMetrics 模块的两个 10/100Base-TX 端口
5、,将其分别与防火墙的内外网口直连,如图 1 所示。测试千兆防火墙性能与百兆防火墙基本一样,使用 1000Base-X SmartMetrics 模块的两个 1000Base-SX GBIC,通过光纤将其分别与千兆防火墙的内外网口直连。测试防火墙防攻击能力时,使用 SmartBits 6000B 的 10/100M Ethernet SmartMetrics 模块的 4 个 10/100Base-TX 端口,分别连接到港湾的礖 ammer24 交换机上(该交换机经过我们测试达到线速),防火墙的内外网口也连接到交换机上(千兆防火墙通过光纤与交换机连接)。如图 2 所示。测试软件为 SmartFlo
6、w 1.50 和 WebSuite Firewall 1.10。性能测试我们的性能测试主要依照 RFC2544、RFC 2647 以及中华人民共和国国家标准GB/T 18019-1999信息技术包过滤防火墙安全技术要求、GB/T18020-1999信息技术应用级防火墙安全技术要求 和 GB/T17900-1999网络代理服务器的安全技术要求。测试吞吐量、延迟和丢包率使用的是 SmartFlow 1.50,测试双向性能时,每一个方向设置一个流(flow),单向性能测试设置一个流,测试使用的是 UDP 包。测试百兆防火墙与千兆防火墙的测试方法相同。测试防火墙双向、单向性能与最大并发连接数时,我们要
7、求防火墙配置为内外网全通,测试起 NAT 功能后的性能时,防火墙只增加了 NAT 功能。测试双向性能时,我们选用了 64 字节、128 字节、256 字节、512 字节、1518 字节 5 种长度的帧,测试单向性能时,选用了 64 字节、512 字节、1518 字节 3 种长度的帧。吞吐量的测试时间为 60s,允许的帧丢失率(Acceptable loss)设置为 0(我们认为这样测得的数据才是真正意义上的吞吐量),测试延迟和丢包率的时间为 120s,测试延迟的压力为 10%和该种帧长的吞吐量。测试防火墙的最大并发连接数时,我们使用的是 WebSuite Firewall 1.10,通过防火墙
8、建立带 HTTP 请求的 TCP 连接(TCP Connection/HTTP),速率为 500 个请求/秒。防火墙启动 NAT 功能以后的性能测试方法与单向性能测试相同。防攻击测试在测试防火墙防攻击能力时,我们要求防火墙允许内外网相互访问,允许 ping。每种攻击设置 5 个 session,在 100%压力下发攻击包,同时测试防火墙能否建立50000 个 HTTP 连接(称之为背景流),连接速率也为 500 请求/秒。攻击由外网向内网发起,背景流为外网向内网建立 HTTP 请求。测试 SynFlood、Smurf、Land-based、Ping Sweep、Ping Flood 5 种攻击
9、时,共发送 1000 个攻击包;在测试 Ping of Death 攻击时 5 个 session 发送 5 个超长包,每个超长包分成 45 个攻击包,共 225 个攻击包;测试 TearDrop 攻击时 5 个session 共发送 5 个攻击,每个攻击由 3 段组成,一共发送 15 个攻击包。我们使用 NAI 公司的 Sniffer Pro 4.70 对 SmartBits 6000B 的模拟受攻击端口进行抓包,过滤掉一些广播包、ARP 包等非攻击包后,得到的就是透过防火墙的攻击包。我们每种测试都进行三遍,取三次的平均值作为最后的结果。功能考察 在防火墙的功能考察测试中,我们的工程师详细地阅读了送测防火墙随机提供的说明文档,实际地对每款防火墙进行了安装和配置。根据不同防火墙的差异性,我们通过 Console 口、 Web 方式以及某些防火墙特定的管理软件对防火墙进行了配置和尝试。我们在防火墙中实际考察了功能表中的功能,同时也考察了每种防火墙各种管理方式的易用程度、界面友好程度。