这次测试的目的是为了知道防火墙是否想我们想象中的意图来工作的。在此之前你必须:
·制定一个完整的测试计划,测试的意图主要集中在路由、包过滤、日志记录与警报的性能上
·测试当防火墙系统处于非正常工作状态时的恢复防御方案
·设计你的初步测试组件
其中比较重要的的测试包括:
·硬件测试(处理器、内外储存器、网络接口等等)
·操作系统软件(引导部分、控制台访问等等)
·防火墙软件
·网络互联设备(CABLES、交换机、集线器等等)
·防火墙配置软件
-路由型规则
-包过滤规则与关联日志、警报选项
*****为什么说这些是比较重要的呢?*****
测试与效验你的防火墙系统有利于提高防火墙的工作效率,使其发挥令你满足的效果。你必须了解每个系统组件有可
能出现的错误与各种错误的恢复处理技术。一旦在你的规划下有防火墙系统出现非工作状态,这就需要你及时去进行
恢复处理了。
造成防火墙系统出现突破口的最常见原因就是你的防火墙配置问题。要知道,你需要在所有的测试项目之前做一个全
面的针对配置的测试(例如路由功能、包过滤、日志处理能力等)。
*****应该怎么去做?*****
“建立一个测试计划”
你需要在做一个计划,让系统本身去测试防火墙系统与策略的执行情况,然后测试系统的执行情况。
1建立一个所有可替代的系统组件的列表,用来记录一些会导致防火墙系统出错的敏感故障。
2为每一个组件建立一个简短的特征说明列表列表,用语阐述其对防火墙系统运作的影响。不必理会这些影
响对防火墙系统的损害类型与程度和其可能发生的系数高低。
3为每一个关联的故障类型
-设计一个特定的情况或某个指标去模拟它
-设计一个缓冲方案去削弱它对系统的冲击性破坏
打比方一个测试的特定情况是运行防火墙软件的主机系统出现不可替换的硬件问题时,且这个硬件将会影响到
信息通信的枢纽问题,例如网络适配器损坏,模拟这类型的故障可以简单地拔出该网络接口。
至于防御/恢复策略的例子可以是做好一整套的后备防火墙系统。当信息包出现延误等问题时在最短的时间内
将机器替换。
测试一个策略在系统中的运作情况是很困难的。用尽方法去测试IP包过滤设置是不可行的;这样可能出现很多
种情况。我们推崇你使用分界测试(分部测试)来取代总体测试。在这些测试上,你必须确定你实施的包过滤规
则与每个分块之间的分界线。这样你需要做到:
·为每个规则定义一个边界规则。通常,每个规则的必要参数都会有一个或两个边界点的。在这个区域里
将会被划分为一个多面型的包特征区。通常划分的特征包括:通信协议、源地址、目标地址、源端口、
目标端口等。基本上,每种包特征都可以独立地去配对包过滤规则在区域里所定义的数值尺度。例如,
其中一个规则答应TCP包从任何主机发送到你的WEB服务器的80端口,这个例子使用了三个配对特征(协议
、目标地址、目标端口),在这个实例中也将一个特征区划分成三个区域:TCP包到WEB服务器低于80端口、
等于80端口、大于80端口。
·你必须为每一个已经设置好的区域做一些信息交换的测试。确认一下这些特定的区域能否正常地通过与
拒绝所有的信息交换。做一个单独的区域,在区域中拒绝或者通过所有的信息交换;这样做的目的是为
了划分包特征通信的区域问题。
作为一个综合性的规则群,它可以是一种比较单一的处理机制,并且有可能是没有被应用过的。若是没有被应
用过的规则群,这要求一群人去反复审核它们的存在性并要求有人能够说出每一个规则所需要实施的意义。
整个测试计划包括案例测试、配置测试、与期待目标:
·测试路由配置、包过滤规则(包括非凡服务的测试)、日志功能与警报
·测试防火墙系统整体性能(例如硬/软件故障恢复、足够的日志存储容量、日志档案的容错性、监视追踪
器的性能问题)
·尝试在正常或不正常这两种情况下进行的测试
同样你也需要记录你在测试中打算使用的工具(扫描器、监测器、还有漏洞/攻击探测工具),并且相应地测试一
下它们的性能。
“获取测试工具”
逐步使用你的各种防火墙测试工具能够知道你的防火墙产品在各类性能指标上是否存在着不足
各种类型的防火墙测试工具包括①:
·网络通信包生成器(如SPAK[Send PAcKets]、ipsend、Ballista)
·网络监视器(如tcpdump与Network Monitor)
·端口扫描器(如strobe与nmap)
·漏洞探测器(可以扫描到一定的有效范围、能针对多种漏洞的)
·入侵测试系统[IDS]如NFR②[Network Flight Recorder]与Shadow③
查阅相关信息可以看Detecting Signs of Intrusion[Allen 00],特定的实践可以参阅"Identify data that
characterize systems and aid in detecting signs of suspicious behavior"、建议书在"Identify tools
that aid in detecting signs of intrusion"。
“在你的测试环境中测试防火墙系统的功能”
建立一个测试框架以便你的防火墙系统能在两台独立的主机之中连通,这两台端一端代表外网一端代表外网。
事例图在8-1"Test Environment"。
在测试时要确保内网的默认网关为防火墙系统(当然这里指的是企业级带路由的防火墙啦:),假如你已经选择
好一个完整的日志记录体系(推崇),工作在内网主机与日志记录主机之间的话,那么你就可以进行日志记录选
项测试了。假如日志记录在防火墙机器上完成的话,你可以直接使用内网机器连上去。
把安装有扫描器与嗅探器的机器安置在拓扑的内部与外部,用于分析与捕捉双向的通信问题与通信情况(数据
从内到外、从外到内)。
测试执行的步骤应该遵循:
·停止包过滤。
·注入各类包用于演示路由规则并通过防火墙系统。
·通过防火墙的日志与你的扫描器的结果来判定包的路由是否准确。
·打开包过滤。
·接入网间通信,为各种协议、所有端口、有可能使用的源地址与目标地址的网间通信摄取样本记录。
·确认应该被堵塞(拒绝)的包被堵塞了。比方说,假如所有的UDP包被设置为被堵塞,要确认没有一个UDP
包通过了。还有确认被设置为通过或脱离(答应)的包被通过和脱离了。你可以通过防火墙的日志与扫描
器的分析来得到这些实验的结果。
·扫描那些被防火墙答应与拒绝的端口,看看你的防火墙系统是否像你设置时预期的一样。
·检查一下包过滤规则中日志选项参数,测试一下日志功能是否在所有网络通信中能像预期中工作。
·测试一下在所有网络通信中出现预定警报时是否有特定的通知信号目的者(如防火墙系统治理员)与非凡
的行动(页面显示与EMAIL通知)。
上述的步骤需要至少两个人一步步计划与实施:最初由某一个人负责整个工程的实施,包括路由配置、过过滤
规则、日志选项、警报选项,而另外单独一个人负责工程的复检工作、鉴定每个部分的工作程序、商订网络的
拓扑与安全策略的实施是否恰当。
“在你的实施环境中测试防火墙系统的功能”
在这个步骤你必须把环境从单层次的体系结构(图8-2"Single layer firewall architecture")演变为多层次
的体系结构(图8-3"Multiple layer firewall architecture")。
这个步骤也同样需要你设定一个联合有一个或几个私网与公网的网络拓扑环境。在公网主要是定义为向内网进
行如WWW(HTTP)、FTP、email(SMTP)、DNS这样的请求的应答,有时也会向内网提供诸如SNMP、文件访问、登陆
等的服务的。在公网里你的主机也可以被描述为DMZ(非军事区)。在内网则被定义为内网各用户的工作站。详
细图表可以看图8-4"ProdUCtion Environment"。
测试执行的步骤应该遵循:
·把你的防火墙系统连接到内外网的拓扑之中。
·设置内外网主机的路由配置,使其能通过防火墙系统进行通信。这一步的选择是建立在一个service-by
-service的基础上,例如,一台在公网的WEB服务器有可能要去访问某台在私网的某台主机上的一个文
件。围绕着这类型的服务还有WEB、文件访问、DNS、mail、远程登陆具体图则可以参照图8-4"Product
ion Environment"。
·测试防火墙系统能否记录‘进入’或者‘外出’的网络通信。你可以使用扫描器与网络嗅探器来确认一
下这一点。
·确认应该被堵塞(拒绝)的包被堵塞了。比方说,假如所有的UDP包被设置为被堵塞,要确认没有一个UDP
包通过了。还有确认被设置为通过或脱离(答应)的包被通过和脱离了。你可以通过防火墙的日志与扫描
器的分析来得到这些实验的结果。
·仔细地扫描你的网络内的所有主机(包括防火墙系统)。检查你扫描的包是否被堵塞,从而确认你不能从
中得到任何数据信息。尝试使用特定的‘认证端口’(如使用FTP的20端口)发送包去扫描各端口的存活
情况,看看这样能不能脱离防火墙的规则限制。
·你可以把入侵测试系统安装在你的虚拟网络环境或现实网络环境中,帮助你了解与测试你的包过滤规则
能否保护你的系统与网络对抗现有的攻击行为。要做到这样你将需要在基本的规划上运行这一类的工具
并定期分析结果。当然,你可以将这一步的测试工作推迟到你完全地配置后整个新的防火墙系统之后。
·检查一下包过滤规则中日志选项参数,测试一下日志功能是否在所有网络通信中能像预期中工作。
·测试一下在所有网络通信中出现预定警报时是否有特定的通知信号目的者(如防火墙系统治理员)与