黑客:主机扫描→端口扫描→漏洞扫描,这是一个极为常见且有效的窥探目标主机的方法。它虽算不上是攻击,但针对某台设备的攻击往往在这些步骤结束后接踵而至。有些国家视未经允许扫描他人主机为非法。
测试工程师:不管是企业网内的重要服务器还是普通员工的个人电脑都不应该被肆意扫描。
测试实况: 我们首先在防火墙不加任何防范情况下在内网扫描一台位于DMZ(非军事化区)的服务器。内网的扫描主机在Fedora Core 3上安装了Nmap和Nessus等扫描软件,被扫描的服务器为默认安装的Windows Server 2003。Nessus漏洞扫描的成功建立在主机扫描和端口扫描成功的基础上。防范Nmap的扫描行为是给防火墙出的第一道题!
如图1所示,它是防火墙不加防御情况下对DMZ中服务器的扫描结果(任何一个采用默认安装的操作系统都是不安全的)。在获取了这些信息后,黑客就可以利用这些漏洞或隐患着手下一步的攻击了。

图为:安全风险
然后,我们让厂商的工程师进行现场配置,在保证其他通信不受影响的前提下提供对扫描行为的限制。扫描时我们使用Nmap中的四种方法对DMZ中的服务器及端口进行扫描。拓扑如图2所示。

图为:防扫描拓扑图
我们发现,这些防火墙在应对扫描行为时的态度有所不同。如表一所示。
表一:网络攻击或威胁的防御
| 主机扫描 | 端口扫描 | Ping-Flood | SYN-Flood | |
| Check Point | × | √/× | √ | √ |
| Fortinet | √ | √ | √ | √ |
| 联想网御 | √* | √ | √ | √ |
| 首信 | √ | √ | √* | √* |
| Symantec | × | √ | √ | √ |
注:√为支持,×为不支持,其他详见上文和防DoS攻击部分的文字说明
网络攻击或威胁的防御
FortiGate 3600在这方面的控制最为精细。在它的IPS功能模块的“异常”行为中,管理员可以在扫描选项中设置扫描数据包的阈值,然后选择你想要采取的行动,可以选择通过或是丢弃相关数据包,同时还可以打开日志对该行为进行记录。经测试,它确实可以做到精确控制。可贵的是,Nmap作为一种常用的黑客工具,FortiGate 3600将其添加到了IPS功能模块的“特征”库中,即便不在“异常”中进行扫描控制,选中Nmap阻断就可以解决各式各样的Nmap扫描。
首信CF 2000-EP500也可以做到扫描防御,在其上设置禁止扫描,当扫描行动开始后,CF 2000-EP500会自动创建一条安全规则,将扫描器的网络访问停掉,除了扫描数据外,扫描器的其他通信也被禁止。不过,通信被禁止的时间可以由管理员来指定。这种惩罚性措施得到了一些用户的青睐。当然,有些员工的主机也有可能成为黑客的“跳板”而被“无辜”地停止到Internet的访问。
联想网御Super V的“禁扫”设置也是很直接,不过Super V的主机扫描阈值不能低于10,否则不能识别,但端口扫描可以完全控制。黑客可以采用分段扫描(比如每次9个)的方法来扫描活动主机并逃过防火墙的“眼睛”,不过即便如此,由于Super V可以进行端口扫描的精细控制,分段扫描的威胁性也就大大降低了。
Symantec Gateway Security 5460可以提供对端口扫描的控制,可以通过日志查看谁进行了扫描操作,但仍可成功进行主机扫描。
Check Point i-SECURITY SP-5500不会禁止扫描数据的通过,但是可以通过日志记录端口扫描行为。据Check Point的支持工程师讲,针对扫描行为多发的内网,他们有专门的内网安全产品提供对扫描的完全控制。而对于网络边界的防火墙来说,外网用户的扫描行为可以通过设置安全规则来控制。我们认为,特别是针对那些提供了多个内网接口的防火墙来说,防火墙提供此项功能必要而且便于配置。
P2P控制
网络管理员:最近“火”起来的Skype,人们习惯将它归类于IM(即时消息),其实,和BT下载一样,它本质上属于P2P通信软件。这些工具很多都宣称自己可以穿越防火墙。难道防火墙就束手无策吗?
表二:P2P通信控制
| Skype控制 | P2P新增特征 | |
| Check Point | √ | √ |
| Fortinet | √ | √ |
测试工程师:IM、P2P们轻松避过防火墙对于企业网安全是非常不利的,比如MSN“性感鸡”病毒造成的危害。但它们也能帮助企业提高效率、节省成本,防火墙不应一概“杀掉”了事,而应该能够依用户的愿望有选择地进行控制。
测试实况: Skype等软件为了便于用户在各种条件下使用,它们可以利用80(一般用于HTTP)和443(一般用于HTTPS)端口进行通信,而这两个端口对于防火墙来说一般都是打开的。我们采用了两种方法进行测试,旨在考察防火墙是否可以控制Skype通信以及是如何实现此功能的。拓扑如图3所示(第二种拓扑用代理服务器取代网关,其余配置类似)。

图为:P2P通信控制拓扑图
实际测试中,只有Check Point i-SECURITY SP-5500和FortiGate 3600能够专门针对Skype进行控制,而且两种测试拓扑都控制成功,尽管它们在配置上有所区别。
不管是哪种测试拓扑,在一开始,我们并没有启动Skype控制,而是在防火墙上添加了必要的地址和策略配置,除了域名解析外,我们只允许目的端口为80和443的通信通过。并启用了NAT,还根据需要进行了默认路由的配置。保证Skype能够成功联机并通过Sniffer进行了抓包以确认通信是否按照预期的那样进行。
然后,我们打开防火墙的控制选项。在FortiGate 3600的IPS中,专门有一个P2P控制组,组内包含BT(Bit_Torrent)、电驴(Edonkey)、Gnutella、Kazaa和Skype等小项,你可以对其中的任意一个或多个进行阻断。而大家熟悉的MSN则被放到了IPS的IM控制组中。在将Skype阻断打开后,Skype不能联机。
Check Point i-SECURITY SP-5500进行Skype控制的结果和FortiGate 3600是一样的,Skype联机成功与否完全取决于防火墙是否打开控制功能。Check Point i-SECURITY SP-5500应用智能的P2P控制部分有MSN和Kazaa等项目,尽管其中没有对Skype的控制选项,但在P2P和其他很多针对应用层的控制栏目中,Check Point都提供了新增特征的功能。即通过输入某种软件的应用层特征,来实现对该软件的控制。这是一个非常好的特性!因为现在每天都会有新的P2P软件被开发出来,使用这种特性可以使用户不必等到下次产品升级就可以对其进行控制。Check Point的工程师在测试过程中将Skype的特征码发给了我们。令人欣喜的是,FortiGate 3600也支持新增特征。
在测试前,我们听说有一些网关产品通过访问控制规则而不是应用层特征来控制IM,这些规则过滤掉了到Internet上IM用户注册服务器的部分或全部通信。我们认为这种方法不灵活而且容易失效。因而设计了Skype穿过防火墙通过代理服务器进行联机的测试拓扑。
实际应用中,防火墙可以封掉到某些代理服务器的通信。我们这个测试主要想观察一下设备在过滤Skype通信时的做法,因而需要在防火墙上设置允许到代理服务器的数据通过。
经过测试,Check Point i-SECURITY SP-5500和FortiGate 3600都能控制成功,而此时Skype用户的笔记本电脑上MSN依然可以登陆(MSN未加控制)。由于内网Skype用户所有的通信都指向了代理服务器(经Sniffer抓包确实如此),所以它们应该都是通过在应用层分析Skype的特征来实现控制的。