1、 防火墙测试方案一、 引言防火墙是实现网络安全体系的重要设备,其目的是要在内部、外部两个网络之间建立一个安全控制点,通过允许、拒绝或重新定向经过防火墙的数据流,实现对进、出内部网络的服务和访问的审计和控制。随着网上黑客活动的日益猖獗,越来越多的上网企业开始重视网络安全问题。特别是近两三年来,以防火墙为核心的安全产品需求市场迅速成长起来,瞬间出现了众多提供防火墙产品的厂家,光国内就有几十家。各种防火墙品种充斥市场,良莠不齐,有软件的防火墙,硬件的防火墙,也有软硬一体化的防火墙;有面向个人的防火墙,面向小企业的低档防火墙,也有中高档的防火墙,技术实现上有包过滤的防火墙、应用代理的防火墙,也有状态检
2、测的防火墙。由于防火墙实现方式灵活,种类多,而且往往要与复杂的网络环境整合在一起使用,因此,对防火墙进行测试评估是选购防火墙产品的一个重要环节。评估测试防火墙是一个十分复杂的工作。一般说来,防火墙的安全和性能是最重要的指标,用户接口(管理和配置界面)和审计追踪次之,然后才是功能上的扩展性。但是安全和性能之间似乎常常构成一对矛盾。在防火墙技术的发展方面,业界一直在致力于为用户提供安全性和性能都高的防火墙产品。沿着这一方向,防火墙产品经历了以软件实现为主的代理型防火墙,以硬件实现为主的包过滤防火墙,以及兼有包过滤型防火墙的高速性特点和代理性防火墙高安全性特点的状态检测防火墙。另外,为了使灵活多变,
3、难以掌握的防火墙安全技术能更有效地被广大用户使用,直观易用的界面和详尽明晰的报表审计能力被越来越多的防火墙产品采用,同时,防火墙产品在与网络应用环境整合的过程中也在不断地集成和加入新的网络功能。因此,当前必须从安全性、性能、可管理性和辅助功能等方面综合进行评测,才能客观反映一个防火墙产品的素质。测试的背景和目的在防火墙产品市场上,产品一般分为高、中、低三档。考虑到,高档防火墙普遍是各公司最新或计划推出的产品,证券作为大型的安全产品使用者,使用的防火墙产品以中、高档为主,为了便于横向比较各公司的产品,在本次测试中将统一以中档防火墙产品作为测评的对象。为了较全面地评估各公司的防火墙产品,本次防火墙
4、产品的测试分成以下几个部分:功能测试、安全防范能力测试、性能测试和设备可靠性测试。参考资料GB/T 18020-1999信息技术应用级防火墙安全技术要求GB/T 18019-1999 信息技术包过滤防火墙安全技术要求FWPD:Firewall Product Certification Criteria Version 3.0a测试项目一 测试项目包过滤,NAT,地址绑定,本地访问控制,多播,TRUNK,代理路由,内容过滤,报警,审计实时监控,攻击,双机热备,性能。二 测试环境简略拓扑图10.10.11.1010.10.12.20 10.10.11(2).1 10.10.1.24010.10.
5、3.10 10.10.1.1 10.10.3.1(192.168.3.30)FW110.10.2.110.10.3.2010.10.2.240(192.168.1.30) 172.1.1.1 192.168.1.10172.10.1.10 FW2172.10.2.1 192.168.2.1 FW3172.10.1.1192.168.1.1172.10.1.20172.10.3.1192.168.3.1192.168.1.20(192.168.2.252)192.168.3.10 192.168.3.20172.10.3.10 172.10.3.20(192.168.2.251)172.10.2
6、.254 192.168.2.254(192.168.2.253) 图1 管理器 172.16.1.10 192.168.1.10 192.168.1.251 172.16.1.20 192.168.1.20 192.168.1.11 192.168.1.21 图2 说明:在括号内的IP地址,为测试单一防火墙功能时所用的IP地址。图2仅为测试TRUNK,代理路由和非IP规则时使用. 三测试前软件环境的准备1. 子网主机具有Linux,windows 2000(or 98 or NT)两种环境。2. 测试环境Linux主机配置www,ftp,telnet服务,同时安装nmap,http_load
7、,sendudp等测试工具;Windows主机配置ftp,telnet,iis,snmp等服务,同时安装IE,Netscape等浏览器3. 防火墙分区内主机的网关都设为指向所连防火墙当前连接接口,ip地址为当前网段的1地址。例:当前主机所在网段为192.168.1.0,那么它的网关为192.168.1.1,即防火墙接入接口的ip地址。4. 防火墙的默认路由均指向其通往广域网的路由器或三层交换机。5. 在广域网中采用静态路由和动态路由(rip或ospf)两种。6. 。四.功能说明及规则设计。针对防火墙各项功能,分别加以说明。A. 包过滤区间通信。 1.)单一地址 2.)多地址 规则设计:a.方向
8、:区1区2 b.操作:允许(拒绝) c.协议:tcp,udp,icmp和其它协议号的协议。 d.审计:是(否) e.有效时间段B.地址绑定ip,mac地址绑定。防止地址欺骗。a) 单一地址绑定b) 多地址绑定。规则设计:a.方向:区1区2 b.操作:允许(或拒绝)C本地访问控制对管理主机的访问进行控制 1)单一地址 2.)多地址 规则设计:a.操作:1.允许ping ,telnet等。 2.允许管理D NAT地址,端口的转换。私有ip转为公网ip。1)一对一2.)多对一3.)多对多规则设计:a.方向: 区1区2. b.操作:拒绝(或允许) c.协议:tcp,udp,icmp和其它协议号的协议。
9、 d.审计:是(否)E多播解决一对多的通信。1. 单一多播源,多接收端。2. 多多播源,多接收端。 G.TRUNK,代理路由复用链路,为防火墙单一区域内的子网通信进行路由.H.报警利用邮件,TRAP,蜂鸣等及时向管理员报告防火墙的信息.I .审计审计防火墙上的访问,及事件信息,防火墙的状态.J.实时监控实时检测防火墙的通讯情况,跟踪防火墙的运行状况.K攻击防攻击。检测企图通过防火墙实施攻击的行为,并报警,阻断攻击。L双机热备设备冗余。 同一网络,两台防火墙,一台设为激活状态,另一台设为备份状态。当激活状态的防火墙down掉时,备份防火墙接管。通过测试用例来对具体的操作进行阐述。在所有的规则制定
10、中考虑范围内取非,范围的临界值,中间值情况,时间的控制等。A. 包过滤测试项目包过滤测试日期测试内容IP过滤规则对ICMP数据包的过滤效果测试环境1. 路由模式2. Linux,windows。规则指定1. 192.168.1.10-100192.168.2.254 ICMP允许。(内到外)192.168.2.254192.168.3.10 ICMP允许。(外到DMZ)192.168.3.1-15192.168.1.10 ICMP允许。(DMZ到内)执行操作1. 在192.168.1.10上ping 192.168.2.254,在192.168.2.254上ping 192.168.3.10,
11、在192.168.3.10上ping 192.168.1.10。并反方向ping。2. 在192.168.1.10上telnet 192.168.2.254,在192.168.2.254上telnet 192.168.3.10,在192.168.3.10上telnet 192.168.1.10。并反方向ftp,telnet。3. 加载ICMP全通规则。4. 重复步骤1测试结果步骤预期结果实测结果1.正向ping成功,反向ping不通,被禁止。2.访问被禁止,规则不允许。3都可以相互ping通。备注测试项目包过滤测试日期测试内容IP过滤规则对TCP数据包的过滤效果测试环境1. 路由模式2. Li
12、nux,windows。规则指定1: 192.168.1.10192.168.2.254 telnet允许。(内到外)192.168.2.254192.168.3.10 telnet允许。(外到DMZ)192.168.3.10192.168.1.10 telnet允许。(DMZ到内)执行操作1. 在192.168。1.10上telnet 192.168.2.254,在192.168.2.254上telnet 192.168.3.10,在192.168.3.10上telnet 192.168.1.10,并反向telnet。2. 在192.168.1.10用nslookup 到192.168.2.
13、254上进行名字解析或其它的udp服务。3. 加载telnet全通规则,重复步骤1.测试结果步骤预期结果实测结果1.正向成功,反向被禁止2.访问被禁止,没有允许UDP服务。TCP协议的放开,对UDP协议不发生影响。3.telnet访问都成功。备注测试项目包过滤测试日期测试内容IP过滤规则对TCP数据包的过滤效果,侧重于实时效果测试环境1. 路由模式2. Linux,windows。规则指定1. 192.168.1.10192.168.2.254 telnet允许。(内到外)192.168.2.254192.168.3.10 telnet允许。(外到DMZ)192.168.3.10192.168
14、.1.10 telnet允许。(DMZ到内)生效时间:9:0010:00 执行操作1. 在192.168。1.10上telnet 192.168.2.254,在192.168.2.254上telnet 192.168.3.10,在192.168.3.10上telnet 192.168.1.10,并反向telnet。2. 保持上述telnet已建立的连接,并不断的telnet没有建立连接的。3. 在9:5910:01之间,查看telnet状态的反应。测试结果步骤预期结果实测结果1.正向telnet成功,反向被禁止。3已建立的telnet连接被断开。备注测试项目包过滤测试日期测试内容在IP包过滤中
15、,由于FTP服务的特殊性,所以下面几个用例主要针对FTP进行测试。这个用例主要用来测试FTP建立连接后,防火墙对20端口的特殊处理测试环境1. 路由模式2. Linux,windows。规则指定1.192.168.1.10192.168.2.254 ftp允许 (内到外)执行操作1. 在192.168.1.10上telnet 192.168.2.254 20。2. 在192.168.1.10上ftp 192.168.2.254 ,进行大文件(1G)的数据传输。3. 在ftp的同时,在192.168.1.10上telnet 192.168.2.254 20。4. passive进行ftp文件的传
16、输。5. 在192.168.1.10上telnet 192.168.2.254 20测试结果步骤预期结果实测结果1,3,5访问被禁止2,4访问成功。备注测试项目包过滤测试日期测试内容IP包过滤包括ICMP、UDP、TCP和非(ICMP、UDP、TCP)包的过滤,UDP过滤行测试测试环境1. 路由模式2. Linux,windows。规则指定规则1:192.168.1.10192.168.2.254 UDP允许。192.168.2.253192.168.3.20 UDP允许。192.168.3.30192.168.1. 30 UDP允许生效时间:9:0010:00。规则2:192.168.1.1
17、0192.168.2.254 UDP拒绝。执行操作1. 在192.168.1.10,192.168.2.253,192.168.3.30上启动UDP的测试工具Udp_Server,在192.168.2.253,192.168.3.20,192.168.1.30上启动Udp_Client来分别连192.168.1.10,192.168.2.253,192.168.3.30上的服务程序。2. 保持连接。查看在10:00时连接的状态。3. 保持Client对Server的主动,不间断的连接去掉时间限制,重新加载规则1,在连接重新建立的同时,加载规则2。测试结果步骤预期结果实测结果1.连接成功2.连接
18、被断开。3.连接建立后,马上又被断开。备注目的:测试UDP过滤的基本功能、在规则有效时间上的实时性、规则变化时对动态连接表的实时刷新性能等说明:对于EIP的测试,通过在包过滤中IP协议的设置过程中同步设置,用发包工具对其进行测试,例如:igmp,ospf包等。B. 地址绑定测试项目IPMAC地址绑定测试日期测试内容测试IPMAC绑定的基本功能,以及在MAC地址匹配而IP地址不匹配和IP地址匹而MAC地址不匹配得两种IP欺骗的情况下防火墙的处理能力测试环境1. 路由模式2. Linux,windows。规则指定1. 192.168.1.10-100MAC 00.12.30.34.89.29进行绑
19、定执行操作1. 192.168.1.10上telnet 192.168.2.254。2. 修改192.168.1.10的IP地址为192.168.1.11,telnet 192.168.2.254。3. 在此基础上将192.168.1.20的地址改为192.168.1.10。然后,telnet 192.168.2.254。测试结果步骤预期结果实测结果1访问成功2,3访问被禁止,IP或MAC不匹配。备注首先,加载IP全通过滤规则测试项目IPMAC地址绑定测试日期测试内容在制定IPMAC绑定规则时,可以只绑定一个区域当中的某几个主机的地址,绝大多数主机可能不需要绑定,此时,我们还可以指定防火墙对那
20、些没指定的主机的绑定过滤规则。这个用例主要用来测试防火墙对绑定规则之外的主机的访问的处理能力。测试环境1. 路由模式2. Linux,windows。规则指定1 192.168.1.10MAC 00.12.30.34.89.29进行绑定, 绑定规则之外的主机不允许通过执行操作1. 在192.168.1.10上telnet 192.168.2.254。2. 在192.168.1.20上telnet 192.168.2.2543. 修改规则,绑定之外的主机允许通过。4. 在192.168.1.20上telnet 192.168.2.254测试结果步骤预期结果实测结果1.访问成功2访问禁止4.访问成
21、功备注首先,加载IP全通过滤规则D.NAT测试项目NAT转换测试日期测试内容这个用例主要用来测试一对一的同时对多个方向上的转换功能测试环境1. 路由模式。2. Linux ,Windows规则指定1. 192.168.1.10192.168.2.100 (in NAT out)2. 192.168.1.10192.168.3.100 (in NAT dmz)执行操作1. 在192.168.1.10上telnet 192.168.2.2542. 在192.168.2.254上telnet 192.168.2.1003. 在192.168.2.254上telnet 192.168.1.104. 在
22、192.168.1.10上telnet 192.168.3.105. 在192.168.3.10上telnet 192.168.3.100测试结果步骤预期结果实测结果1访问成功2访问成功3访问失败4访问成功5访问成功备注在访问成功的同时在对端机器上用netstat命令看是真实IP还是转换后的IP地址。测试项目NAT转换测试日期测试内容这个用例主要在于测试同时双向的NAT转换功能测试环境1. 路由模式2. Linx,windows规则指定1. 192.168.1.10192.168.2.100 (in NAT out)2. 192.168.1.10192.168.3.100 (in NAT dm
23、z)3. 192.168.3.10192.168.1.100 (dmz NAT in)4. 192.168.3.10192.168.1.200 (dmz NAT out)5. 192.168.2.254192.168.1.200 (out NAT in)6. 192.168.2.254192.168.3.200 (out NAT dmz)执行操作1. 在192.168.1.10上telnet 192.168.1.100,192.168.1.200,192.168.2.254,192.168.3.10。2. 在192.168.2.254上telnet 192.168.2.100,192.168.
24、2.200,192.168.3.10,192.168.1.10。3. 在192.168.3.10上telnet 192.168.3.100,192.168.3.200,192.168.2.254,192.168.1.10。测试结果步骤预期结果实测结果1访问成功2访问成功3访问成功4访问成功备注服务都开放,同时用netstat 进行查看连接的IP地址。测试项目NAT转换测试日期测试内容测试多对一转换时的基本功能测试环境1. 路由模式2. Linux,windows。规则指定1. 192.168.2.254192.168.1.1002. 192.168.2.253192.168.1.1003. 以
25、上不提供服务转换。执行操作1. 在192.168.2.254,192.168.2.253上ping 192.168.1.102. 在192.168.2.253,192.168.2.253上telnet 192.168.1.10测试结果步骤预期结果实测结果1访问成功2访问成功备注首先,加载IP全通过滤规则。测试项目NAT转换测试日期测试内容测试多对一转换时的服务转换功能测试环境1. 路由模式2. Linux,windows。规则指定1. 192.168.2.254192.168.1.100 提供telnet服务。2. 192.168.2.253-254192.168.1.100 提供www服务。
26、(去除254地址。)执行操作1. 在192.168.9.254,192.168.2.253上telnet 192.168.1.10。2. 在192.168.1.10上telnet 192.168.1.100,在192.168.1.20上 http:/192.168.1.1003. 在192.168.2.254上telnet 192.168.1.100 :80 。测试结果步骤预期结果实测结果1.访问成功2.访问成功。3.访问失败。备注首先,加载IP全通过滤规则。测试项目NAT转换测试日期测试内容测试多对多转换时的服务转换功能测试环境1. 路由模式2. Linux,windows。规则指定规则1:
27、 192.168.2.254,192.168.2.253,192.168.2.252192.168.1.100,192.168.1.200规则2:192.168.2.254 23192.168.1.100 23 192.168.2.254 23192.168.1.200 2323 执行操作1. 加载规则1。2. 在192.168.2.254,192.168.2.253,192.168.2.253上telnet 192.168.1.10。3. 在规则1的基础上,加载规则2。4. 在192.168.1.10,192.168.1.20上telnet 192.168.1.100 23;telnet 1
28、92.168.1.200 2323测试结果步骤预期结果实测结果2,4访问成功备注首先,加载IP全通过滤规则测试项目NAT转换测试日期测试内容测试多对多转换时的FTP服务转换功能测试环境1. 路由模式2. Linux,windows。规则指定规则1: 192.168.2.254,192.168.2.253,192.168.2.252192.168.1.100,192.168.1.200规则2: 192.168.2.254192.168.1.100 21号端口提供ftp服务。 192.168.2.252 192.168.1.200 2121号端口提供ftp服务。执行操作1. 加载规则1。2. 在1
29、92.168.2.254,192.168.2.253,192.168.2.253上telnet 192.168.1.10。3. 在规则1的基础上加载规则24. 在192.168.1.10,192.168.1.20上ftp 192.168.1.100 ,ftp 192.168.1.200 2121。测试结果步骤预期结果实测结果2,4访问应该能够成功备注首先,加载IP全通过滤规则E多播。 测试项目多播测试日期测试内容数据的转发(分区方向的控制),组的加入。测试环境1. 路由模式2. Linux,windows。规则指定1.OUT224.1.1.1239.255.255.255 (192.168.1
30、.10GDA)执行操作1. 在192.168.2.254上,用media player建立一个多播站。播放test.nsc影音文件。2. 在192.168.1.10上运行mplayer 2 /192.168.1.254/test.nsc。测试结果步骤预期结果实测结果2.正常播放。备注测试项目多播测试日期测试内容分区方向的控制测试环境1. 路由模式2. Linux,windows。规则指定1.IN224.1.1.1239.255.255.255 (内网区域内)执行操作1. 在10.10.3.10上用media player建立多播站,播放影音文件test.nsc。2. 在10.10.3.20上运
31、行mplay2 /10.10.3.10/test.nsc。观看影音文件test.nsc。测试结果步骤预期结果实测结果2.访问成功,可以正常观看。备注测试项目多播测试日期测试内容与下行流多播路由器的数据交换测试环境1.路由模式2.Linux,windows。规则指定1. DMZ224.1.1.1239.255.255.255 (IN=GDA)执行操作1. 在10.10.3.10上用media player建立多播站,播放影音文件test.nsc。2. 在10.10.11.10上运行mplayer2 /10.10.3.10/test.nsc,接收影音文件。3. 在192.168.2.254上运行m
32、player2 /10.10.3.10/test.nsc,影音文件.测试结果步骤预期结果实测结果2.访问成功,接收正常。3.不能成功.备注测试项目多播测试日期测试内容多播树的嫁接(多多播源,多接收端)测试环境1. 路由模式2. Linux,windows。规则指定1. OUT224.1.1.1239.255.255.255 (IN=GDA)2. IN224.1.1.1239.255.255.255 (OUT=GDA) 执行操作1. 在192.168.2.254,192.168.1.10上建立多播站。运行影音文件test.nsc。2. 在192.168.1.20,先后运行mplayer:2 /1
33、921.168.1.10/test.nsc,mplayer:/192.168.2.254/test.nsc。3. 在192.168.3.10上运行mplayer:/192.168.1.10/test.nsc,mplayer:/192.168.2.254/test.nsc影音文件。4. 在192.168.2.253上运行mplayer:/192.168.1.10/test.nsc影音文件。测试结果步骤预期结果实测结果2,3,4访问成功,正常播放。备注注:桥模式下,多播与之类似,防火墙透明,与路由情况配置一样,指定区域即可.不再赘述.FVPNG.TRUNK测试项目TRUNK测试日期测试内容跨越防火
34、墙,完成同一VLAN内的通信.测试环境1. 桥模式2. Linux,windows。3. 在两交换机上将192.168.1.10,192.168.1.11设为同一VLAN100.将192.168.1.20,192.168.1.21设为同一VLAN200.与防火墙trunk连接.类型802.1q.规则指定1. 192.168.1.10 192.168.1.11 允许. 协议:tcp,icmp.2.。192.168.1.20 192.168.1.21 拒绝 协议.tcp允许,icmp拒绝.执行操作1. 在192.168.1.10上ping 192.168.1.11,telnet 192.168.1
35、.112. 在192.168.1.20上telnet 192.168.1.21,ping 192.168.1.21测试结果步骤预期结果实测结果1访问全部成功。2Telnet 成功.ping 不成功.备注测试项目TRUNK,代理路由测试日期测试内容跨越防火墙,完成同一VLAN内的通信.测试环境1. 桥模式2. Linux,windows。3. 将192.168.1.20与192.168.1.21改IP为192.168.2.20,192.168.2.21.4. 在两交换机上将192.168.1.10,192.168.1.11设为同一VLAN100.将192.168.2.20,192.168.2.2
36、1设为同一VLAN200.规则指定1.192.168.1.11-192.168.2.10,192.168.2.11 协议:所有协议.2. 192.168.1.10 192.168.1.11 允许. 协议:tcp,icmp.3. 192.168.1.10 192.168.2.21 拒绝 执行操作1. 将防火墙内外网卡分别绑定两个IP地址192.168.1.1和192.168.2.2. 在192.168.1.11上ping ,telnet,ftp,192.168.2.10和192.168.2.11.3. 在192.168.1.10上ping telnet 192.168.1.114. 在192.1
37、68.1.10上ping telnet ftp 192.168.2.21.测试结果步骤预期结果实测结果1访问全部成功。2访问成功.3所有操作都拒绝.备注G. 内容过滤测试项目内容过滤测试日期测试内容对SMTP,HTTP,FTP等应用层进行过滤.测试环境1. 路由,桥.2. Linux,Windows.规则指定在包过滤中添加相应的过滤规则,其中对内容,主题,附件,命令,都进行过滤.在此仅举一例.其他不再赘述.1. 172.10.1.20-172.10.2.254, HTTP: GET 命令禁止.SMTP:主题 病毒 禁止. FTP: USER 禁止.执行操作1. 在172.10.1.20上htt
38、p:/172.10.2.254 . GET页面禁止.2. 在172.10.1.20发mail到邮件服务器172.10.2.254的主题为病毒的邮件.3. 在172.10.120上ftp 172.10.2.254 . user test测试结果步骤预期结果实测结果1,2,3访问都不成功。备注H. 报警测试项目报警.测试日期测试内容邮件,trap,蜂鸣等.。测试环境1. 路由模式,桥模式.2. Linux,windows。规则指定设定相应的报警mail.,trap接收地址.执行操作1. 在装有OpenView等可以接收trap信息的主机上结束trap.2. 在任意一台主机上设置mail帐号为报警m
39、ail帐号,接收报警mail.3. 当进行相应的报警操作,防火墙开始蜂鸣.测试结果步骤预期结果实测结果1,2,3可以完成.备注I审计测试项目审计.测试日期测试内容对防火墙进行事件及访问日志的审计.。测试环境1. 路由模式,桥模式.2. Linux,windows。规则指定1查看全部时间日志,事件类型,事件来源全部.2.设置访问日志,方向,原因,源IP地址不作为审计条件.目标 IP地址:172.10.2.254协议全部.执行操作1. 查看.事件日志.2. 在172.10.1.10上进行ping,telnet,扫描172.10.2.254等操作.测试结果步骤预期结果实测结果1查看到事件日志.2查看
40、到相应的访问日志.备注在测试的过程中,在包过滤中选中,进行审计.就可以直接查看以前进行的操作信息.J. 实时监控.测试项目实施监控测试日期测试内容进行相应的流量,连接等信息查看.测试环境1. 路由模式,桥模式.2. Linux,windows。规则指定1. 数据包捕捉. 172.10.1.10-172.10.2.254, 协议:tcp,icmp,udp.执行操作1. 直接在工具栏中查看相应的流量,连接等信息.2. 在172.10.1.10上ping ,telnet ,sendudp.到172.10.2.254测试结果步骤预期结果实测结果1查看信息,准确.2 .捕捉到数据包.正确分析.K攻击测试项目攻击测试日期测试内容防攻击测试。测试环境3. 路由模式4. Linux,windows。规则指