客户案例
当前位置:首页 > 客户案例 > Spirent 防火墙测试方法

Spirent防火墙测试方法

对于安全和网络工程师要保护的网络计算资源来说,正面对着越来越复杂和数量不断提高的安全威胁。防火墙——全局企业安全策略中为关键的一环,它处于防止未经授权流量进入企业防线的。防火墙厂商也会尝试着模仿不同的网络攻击来试验产品本身,这是因为对于每个企业网络的安全需求都不是一成不变的。由于这个原因,安全和网络工程师都会基于自己的网络状况设计测试床以确保网络操作的安全和可用性。

这篇文章将会帮助你将防火墙加入到Spirent测试框架中。你会学习到如何新建和运行防火墙基本、压力和负载测试。因此你就可以将实际的产品网络和实验室测试环境**的结合起来。通过完成这篇文章中的测试样例,你可确保防火墙满足你的网络安全和可用性标准。此外,借助于测试设备还可建立全面的端到端测试框架、多设备真实测试环境。同时,你也可以扩展其他网络设备混合进防火墙测试环境中,如服务器负载均衡(SLB)和入侵检测系统(IDS)

防火墙的作用就是把受保护与不受保护的网络分离开,例如将Internet和一个受保护的企业网络分离开。一个企业定义了一套安全策略来保护企业网络流量,不论是进还是出防火墙的流量都必须接受防火墙的盘查。安全策略保证防火墙有条件的允许流量通过防火墙。防火墙策略一般和网络的OSI4~7层模型相关。

防火墙策略包括了认证、滤和应用网关技术来构成一个全局安全策略。认证是受保护网络验证所连接的网络是否是它所希望的连接实体的一个过程(或者说成是验证希望连接网络的实体)。滤是防火墙分析进入和出来的数据是否符合过滤条件(安全策略)来决定是否放行数据。应用网关则是阻止网络(不受保护的)与网络(受保护)之间的直接相连,网络之间的直连会提高网络所面临的危害。

以下防火墙类型也从一定角度上反映了防火墙的演变历史:

◆滤——分析传输层的数据是否符合定义数据流的过滤条件。这种类型的防火墙目前非常少,因为它仅仅工作在传输层而不是应用层。既然它对连接状态知道的不多,那么它也被称为‘无状态’的防火墙。

◆状态检测——基于建立的会话进程来观察是否符合安全策略进而允许数据流通过。在一个进程表中包含了活动进程。如果数据包所相关的会话进程不在表中,那么数据包就会被丢弃(就是不被允许通过防火墙)。这比滤防火墙为安全,因为策略定义是和什么类型的数据防火墙紧密相关的。之所以说它安全,还因为它每次都验证数据是否符合数据库中的策略,它不仅仅是基于传输层和进程限制数据通过,它还可以达到应用层。状态防火墙支持4~7层测试可以确保他们的适用性。

◆应用代理——包括了两个TCP连接,一个是在源包和防火墙之间,另外一个是在目的包和防火墙之间。代理就像一个看门人,它基于应用规则来决定进入的数据包是否可以到达目的地。每一个不同的应用都有自己的代理。既然包检测发生在网络层,所以就要求一个应用代理有多的额外开销。深一步说,一个代理防火墙需要处理通过它的每一个协议——因此这就限制了它的可测量性。基于这些原因,即使一个应用代理可以比状态检测提供多的细节控制,然而状态检测防火墙仍然是我们这篇文章中所需要特别强调描述的。

基于我们以上所陈述的,状态防火墙仍然是全局企业安全策略的一部分。一个防火墙需要与其他网络安全设备具有无缝的互操作性,因为一个网络的安全设备可能来自于多个厂商。因此测试一款防火墙在一个企业IT环境中的表现是非常必要的——不管厂商的宣称值是多少或者是三方测试结构的测试结果。

目个非常有趣的趋势是,防火墙成为一个安全平台,集成进额外的安全产品,例如IPSec网关和IDS。这些集成的防火墙会提供高可用性和一体化的新技术,例如深度包检测,以下几个关键问题可以帮助你决定集成防火墙平台是否适合你:

◆你的集成平台渴望需要状态防火墙功能吗?

◆集成平台的CPU和内存是否会成为整个IT系统的瓶颈点,特别是成为线内设备时,是否会影响系统结构的可用性?

◆你的集成防火墙评估结构包括了可测量性测试了吗?真实情况下的负载是否包含了不同速率下的多个不同协议——大部分集成平台会共享一个CPU和内存资源吗?——你的集成防火墙可以在一个可接受的安全和可用性级别下操作吗?

◆由于包含了多个设备,你的集成防火墙可以实实在在的简化端到端安全测试吗?集成防火墙可以满足新的测试要求或复杂度吗?你的测试结构可以帮助你从一个分布式的防火墙迁移过来吗?

由于将产品的实际应用环境和的实验室环境测试结合了起来,所以Spirent提供了广泛的测试方法和详细测试来帮助你解决这些问题。

3.不充足的测试手段=灾难的处方吗?

必须评估你的防火墙是否充满风险。风险不仅仅是来自于你的结构——它可否有效率的处理你需要做得工作,也来自于日益提升的攻击复杂性。如何减轻这些风险呢?如何确保安全和可用性?这不仅仅是功能验证性的问题,这也是你的CPU和内存能否满足基准测试的问题,一些基准测试并不能模仿你的网络操作。攻击所产生的负载对于安全和可用性是为危险的。相关防火墙的压力测试参数包括如下:

◆吞吐量

◆新建连接/秒数量

◆防火墙所支持的并发连接数

◆一定负载条件下的新建连接/秒——维持高数量的并发连接

◆一定负载下的阻挡DoS攻击的能力

◆策略数量

◆在真实负载条件下传输数据通过防火墙的延迟

◆多协议流量应包括HTTP、HTTPS、RTP/RTSP、Telnet、DNS和SMPT/POPS协议

◆活动-活动部署的失败恢复

不断提升的网络风险正在使你的网络运行环境变得日益复杂起来。不管是厂商或者是三方实验室都不能真实模仿你的网络环境从而揭示负载特点。厂商简单的推断基准测试方法或者是典型的实验室测试都不能保证充足的测试手段和解决网络灾难的灵丹妙药。例如,当厂商宣称下发40条策略时出现的吞吐量峰值时,你并不能推断这个峰值是在何种情况测试所得的,是否混合了其他流量。我们如何推断在一种协议上进行拒绝服务攻击时对于多协议吞吐量的影响?

以下讨论展示了Spirent测试设备如何帮助你开展广泛深入的防火墙评估的。

利用SpirentAvlanche、Reflector和SmartBits进行基本测试以确定防火墙产品可满足你安全策略的基本要求。

进行测试确定防火墙可否和其他设备一起进行端到端的工作。这些端到端设备包括从安全设备(例如IDS和SSL加速设备)到内容设备(例如SLBs),每一种设备都可以由Avalanche/Reflector测试。Spirent建议先由单个的防火墙测试开始,然后再和其他设施共同测试,这样才能反映端到端的要求并且和现实的产品网络紧密贴切。

评估你的防火墙是否可以有效率地适应新业务模型,例如巩固网络和IPS,所有新设备共同来减轻内部网络的攻击。

4.利用Spirent模仿现实环境来测试防火墙

此部分描述了如何利用Spirent的Avalanche/Reflector或者SmartBits平台进行基本的防火墙测试。你可以在防火墙测试中加入多的参数选项以提高测试仿真现实网络的能力,此外,还可以在测试中包含进其他的设备。这些测试能力使你的测试加贴近产品网络从而减少了产品部署的风险。

以下的测试描述包括:

◆“FirewallBasic”-测试结构的工作特性限制。

◆“FirewallStress”-衡量防火墙的工作能力。

◆“FirewallLoad”-衡量在一定的负载下防火墙如何好的维持可用性。

4.1“FirewallBasic”-建立一个可参考的基线测试

4.1.1目标

在你衡量一个防火墙前,必须先知道测试结构的操作限制。基本防火墙测试结构是由可管理交换机连接的背对背Avalanche/Reflecor设备所构成的。交换机必须是可管理的;我们高度建议在加入防火墙到测试结构前,应尽可能地简化网络连接。

一旦你确定了测试设备的工作限制,在Avalanche/Reflector之间“插入”防火墙,这样一来,可以排除测试设备所引起的问题。万一测试失败,我们就可以假设是由防火墙引起的测试失败。

4.1.2要求

◆Avalanche和Reflector(或者是SmartBit/WebAvalanche卡)

◆可管理的2/3层交换机(交换机吞吐量应该比防火墙的吞吐量大得多)

◆控制接口-有以太网端口的任何PC并且具有具有浏览器、JVM和Adobeacrobat软件。

4.1.3需要设定的工作参数

◆使用HTTP1.0和FTP的每秒建立连接数(CPS)

◆大并发连接数(HTTP和FTP)

4.1.4运行“基本防火墙测试”

1.如图1所示连接Avalanche、Reflector、管理控制端口和3层交换机。

2.确定所有设备有正确的IP地址

◆Avalanche管理地址:192.168.42.2(默认)

◆Reflector管理地址:192.168.42.3(默认)

◆管理控制地址:192.168.42.5(这这次测试的特定地址)

3.复制Reflector上的“Echo”到一个新的测试中,称为“FWBasicReflector”

图1:定义Avalanche,Reflector操作

◆设置服务器支持HTTP1.0和FTP(1KB文件大小)

◆确保测试可以到达稳定状态

4.在Avalanche上配置“FirewallBasic”测试

选择一个预先配置好的测试(SPI)并复制它到“FirewallBasic”测试中。

你现在可以修改“FirewallBasic”并可以另存为一个新测试。

◆配置LoadSpec来测试你想得到的值。

例如,假如防火墙的基准测试结果是每秒新建连接1000个,10000个并发连接数-这是测试后所得的参数-运行两个分离的测试以确保测试结构的结果满足或过基准测试结果

使用“连接/秒”作为load-spec,确定你可以过1000CPS的值来运行测试。

使用同一个load-spec,确保在测试运行的“稳定阶段”可以维持过10000个的连接。

5.检查网络端口配置并运行Avlanche的“FirewallBasic”

◆流量遗漏——特别是假如测试运行在了很长的时间间隔(48小时)—这可能是一个内存遗漏

◆新进入连接时

当进行有效流量时,进入流量的重置。

7.确保Avalanche/Reflector和以3层为基础的测试床其操作要远远被测试的防火墙。

当维持过程中没有显示“nofailingtest”时,逐步提高load-spec。

一定要注意“FirewallBasic”测试中的测试床工作。

当没有失败测试时,你就应该准备把防火墙加入到测试床中进行压力和负载测试,建立加贴近现实的“FirewallBasic”测试。

图2:测试负载情况下的CPS和大开放连接数

4.2“FirewallStress”-防火墙压力测试

4.2.1目标

定义防火墙的操作参数,例如每秒连接数和开放连接数。

4.2.2额外的要求

防火墙典型分为外部、内部和DMZ端口

注意:除防火墙进入测试床所引起的必要配置变化以外,应该保证测试床配置变化的小化。与“FirewallBasic”相比,防火墙压力测试的焦点则集中于防火墙本身。

4.2.3需要建立的操作参数

◆使用HTTP或者FTP的每秒建立连接数(cps)

◆大的并发连接数(http和FTP)

4.2.4运行“防火墙压力测试”

1.如图3所示把防火墙连接到测试床中

2.配置适当的网络IP地址

图3:防火墙负载和防火墙压力测试结构图

在Avalanche和Reflector上标明典型防火墙的3个端口,分别是外部(不受保护的)、DMZ(不受保护的)和内部(受保护的)端口。

a)Reflector

i)DMZ(受到的保护比较少)服务器:10.10.10.10,虚拟路由器:10.10.10.2

ii)内部(受到保护)服务器:11.11.11.10,虚拟路由器:11.11.11.2

b)Avalanche

防火墙IP地址设置(数据端口):

a)内网地址(受保护的):11.11.11.1

b)内部地址(DMZ):10.10.10.1

c)外部地址(未受保护的)192.168.0.1



ermax.cn.b2b168.com/m/