llbigrice 发表于 2009-6-2 21:57:45

测试防火墙系统

测试防火墙系统
这次测试的目的是为了知道防火墙是否想我们想象中的意图来工作的。在此之前你必须:

·制定一个完整的测试计划,测试的意图主要集中在路由、包过滤、日志记录与警报的性能上
·测试当防火墙系统处于非正常工作状态时的恢复防御方案
·设计你的初步测试组件

其中比较重要的的测试包括:

·硬件测试(处理器、内外储存器、网络接口等等)
·操作系统软件(引导部分、控制台访问等等)
·防火墙软件
·网络互联设备(CABLES、交换机、集线器等等)
·防火墙配置软件
      -路由型规则
      -包过滤规则与关联日志、警报选项



*****为什么说这些是比较重要的呢?*****


测试与效验你的防火墙系统有利于提高防火墙的工作效率,使其发挥令你满意的效果。你必须了解每个系统组件有可
能出现的错误与各种错误的恢复处理技术。一旦在你的规划下有防火墙系统出现非工作状态,这就需要你及时去进行
恢复处理了。

造成防火墙系统出现突破口的最常见原因就是你的防火墙配置问题。要知道,你需要在所有的测试项目之前做一个全
面的针对配置的测试(例如路由功能、包过滤、日志处理能力等)。



*****应该怎么去做?*****


“建立一个测试计划”

    你需要在做一个计划,让系统本身去测试防火墙系统与策略的执行情况,然后测试系统的执行情况。

      1建立一个所有可替代的系统组件的列表,用来记录一些会导致防火墙系统出错的敏感故障。
      2为每一个组件建立一个简短的特征说明列表列表,用语阐述其对防火墙系统运作的影响。不必理会这些影
         响对防火墙系统的损害类型与程度和其可能发生的系数高低。
      3为每一个关联的故障类型
             -设计一个特定的情况或某个指标去模拟它
             -设计一个缓冲方案去削弱它对系统的冲击性破坏

    打比方一个测试的特定情况是运行防火墙软件的主机系统出现不可替换的硬件问题时,且这个硬件将会影响到
    信息通信的枢纽问题,例如网络适配器损坏,模仿这类型的故障可以简单地拔出该网络接口。

    至于防御/恢复策略的例子可以是做好一整套的后备防火墙系统。当信息包出现延误等问题时在最短的时间内
    将机器替换。

    测试一个策略在系统中的运作情况是很困难的。用尽方法去测试IP包过滤设置是不可行的;这样可能出现很多
    种情况。我们推崇你使用分界测试(分部测试)来取代总体测试。在这些测试上,你必须确定你实施的包过滤规
    则与每个分块之间的分界线。这样你需要做到:

      ·为每个规则定义一个边界规则。通常,每个规则的必要参数都会有一个或两个边界点的。在这个区域里
          将会被划分为一个多面型的包特征区。通常划分的特征包括:通信协议、源地址、目标地址、源端口、
          目标端口等。基本上,每种包特征都可以独立地去配对包过滤规则在区域里所定义的数值尺度。例如,
          其中一个规则允许TCP包从任何主机发送到你的WEB服务器的80端口,这个例子使用了三个配对特征(协议
          、目标地址、目标端口),在这个实例中也将一个特征区划分成三个区域:TCP包到WEB服务器低于80端口、
          等于80端口、大于80端口。

      ·你必须为每一个已经设置好的区域做一些信息交换的测试。确认一下这些特定的区域能否正常地通过与
          拒绝所有的信息交换。做一个单独的区域,在区域中拒绝或者通过所有的信息交换;这样做的目的是为
          了划分包特征通信的区域问题。

    作为一个综合性的规则群,它可以是一种比较单一的处理机制,并且有可能是没有被应用过的。若是没有被应
    用过的规则群,这要求一群人去反复审核它们的存在性并要求有人能够说出每一个规则所需要实施的意义。

    整个测试计划包括案例测试、配置测试、与期待目标:

      ·测试路由配置、包过滤规则(包括特殊服务的测试)、日志功能与警报

      ·测试防火墙系统整体性能(例如硬/软件故障恢复、足够的日志存储容量、日志档案的容错性、监视追踪
          器的性能问题)

      ·尝试在正常或不正常这两种情况下进行的测试

    同样你也需要记录你在测试中打算使用的工具(扫描器、监测器、还有漏洞/攻击探测工具),并且相应地测试一
    下它们的性能。


“获取测试工具”

    逐步使用你的各种防火墙测试工具能够知道你的防火墙产品在各类性能指标上是否存在着不足

    各种类型的防火墙测试工具包括①:

       ·网络通信包生成器(如SPAK、ipsend、Ballista)
       ·网络监视器(如tcpdump与Network Monitor)
       ·端口扫描器(如strobe与nmap)
       ·漏洞探测器(可以扫描到一定的有效范围、能针对多种漏洞的)
       ·入侵测试系统如NFR②与Shadow③

    查阅相关信息可以看Detecting Signs of Intrusion,特定的实践可以参阅"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")。

页: [1]
查看完整版本: 测试防火墙系统