防Ping,慎用IPSEC策略
网络通信
笔者所管理的Windows 2000服务器提供了Web服务。笔者近期发现经常有很多人使用Ping命令进行恶意攻击,占用了服务器的大量资源,影响正常运行。因此,笔者做了防Ping的措施,使用在网上被广泛介绍的“IPSEC策略防Ping的方法”。此方法果然可以有效地防止Ping攻击,但接下来意想不到的问题发生了。很多用户不能访问放在该服务器上的网站,特别是一些电信用户,难道和使用IPSEC策略防Ping有关?笔者试着取消了此项IPSEC策略,发现访问又恢复正常了,为什么会这样?
故障原因:笔者查看了有关技术资料,发现问题出在ICMP协议上。原来ICMP协议有十多种报文格式,Ping命令只是利用其中的“echo request”报文进行工作的。但IPSEC策略防Ping的方法是把所有的ICMP报文都过滤掉,包括ICMP协议中很多有用的报文,如目标不可到达、重定向、时间戳请求、地址掩码请求、超时等报文,再加上电信对某些路由器的规则做了特殊设置,就导致这些用户不能访问笔者所负责的网站。
解决方法:为了有效地防Ping,又不影响正常的网络通信。在服务器端只能过滤掉Ping命令所使用的“echo request”报文,而其他有用的ICMP报文需要保留。因此要慎用IPSEC策略,建议大家使用“网络防火墙”或“路由与远程访问服务”方法防Ping。大多数网络防火墙都内置了防Ping规则,用户只要启用该规则即可;如果想使用“路由与远程访问服务”的方法防Ping,可看《电脑报》2004年第11期G8版的《使用路由和远程访问服务防Ping》一文。