ICMP的全名是Internet Control and Message Protocal即因特网控制消息/错误报文协议,它工作在网络层,是IP上通信协议的一种,主要用途是报告网络上主机和设备之间的错误和状态消息。最常见的ICMP应用是ICMP回应请求,也就是我们所说的PING。这里我们要详细讨论ICMP攻击,所以想知道ICMP本身更多信息可以参见RFC 792,这里就不再多说了。 

   下面我们切入正题,防止ICMP攻击的最好的办法就是关掉ICMP,在这里,推荐使用“路由与远程访问”和“IP Security过滤器”,而不是使用TCP/IP的高级设置,这是因为即便你在TCP/IP高级设置的界面中已经指定过了,ICMP也不会被真正的阻塞。在这里你可以试一下,你设定了只允许TCP协议通过(也就是不允许UDP和ICMP通过)时,ICMP报文仍然可以正常通过。 

  “路由与远程访问”服务设置相对简单一些,默认情况下“路由与远程访问”服务是没有启动的,因此首先要启动它,点击“管理工具”中的“路由与远程访问”,启动设置向导。在其中选择“手动配置服务器”项,击[下一步]按钮。系统提示“路由和远程访问服务现已安装。开始服务吗?”,点击[是]启动服务服务启动后,在计算机名称的分支下会出现一个“IP路由选择”,点击它展开分支,再点击“常规”,会在右边出现服务器中的网络连接(即网卡)。用双击你要配置的网络连接,在弹出的菜单中点击“属性”,会弹出一个网络连接属性的窗口,上面有两个按钮,一个是“输入筛选器”(指对此服务器接受的数据包进行筛选),另一个是“输出筛选器”(指对此服务器发送的数据包进行筛选),这里应该点击“输入筛选器”按钮,会弹出一个“添加筛选器”窗口,再点击添加,表示要增加一个筛选条件。在“协议”右边的下拉列表中选择“ICMP”,在随后出现的“ICMP类型”和“ICMP编码”中均输入“255”(255代表所有的ICMP类型及其编码),点击确定返回“输入筛选器”窗口,此时会发现“筛选器”列表中多了一项。一路确定,筛选器就生效了,从其他计算机上Ping这台主机就PING不通了。  

   由于ICMP的多种攻击方式能够实现地址欺骗,拒绝服务、穿透_blank">防火墙、反跟踪等众多效果,因此连接到互联网上的用户有必要关闭ICMP以防止ICMP攻击。  

   针对拒绝服务,边界路由器是一个十分有效的办法,但是我们这里着重看看2000自身的一些对策。目前的拒绝服务主要分为两种,拒绝服务攻击(DoS),以及分布式拒绝服务攻击(DDoS)。由于DDoS攻击所需要的资源机器非常的多,因此并不多见,主要是经常和一些蠕虫病毒配合出现,而且一出现,都是面对的“大个的目标”,因此对于我们这些普通的网络用户并不多见,而那些在我们周围的网络用户的身上出现的都是普通的拒绝服务攻击,是完全可以通过2000的自身设置来减轻或避免的。  

  首先,2000系统需要及时的安装补丁。因为,很多拒绝服务攻击是系统存在漏洞造成的。打上补丁就不会给别人拒绝服务的机会,这里需要强调的一点,就是在局域网的内部的机器也必须及时的安装补丁,这是因为面对LAN的拒绝服务攻击中,很多与NETBIOS有关,NETBIOS服务是WINDOWS内部网络的基石,而且无须认证,因此很不可靠。其次,可以通过配置TCP/IP参数降低DOS的攻击风险。

  注册表位置  

  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]   

  键值 推荐设置  

  "SynAttackProtect" 2   

  "TcpMaxHalfOpen" 100  

  "TcpMaxHalfOpenRetried" 80   

  "TCPMaxPortsExhausted" 1   

  "TcpMaxDataRetransmissions" 3   

  "TcpMaxConnectResponseRetransmissions" 2   

  "EnableDeadGWDetect" 0   

  "EnablePMTUDiscovery" 0   

  "EnableICMPRedirects" 0   

  "KeepAliveTime" 300 000  

  以上配置是用来保护高强度的2000系统的,对于普通用户来说可能会过于保守。  

  注册表其他主键下的各种参数可以帮助防御DOS,  

  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Afd\Parameters]   

  "EnableDynamicBacklog" dword=1   

  "MinimumDynamicBacklog" dword=20   

  "MaximumDynamicBacklog" dword=20000   

  "DynamicBacklogGrowthDelta" dword=10  

  我觉得,拒绝服务更象是一种竭斯底里的最后疯狂,只要我们坚持上面说的两个原则,及时补丁,合理配置TCP/IP参数,就可以抵抗住互联网上大多数的疯狂行为。