ICMP协议有一个特点---它是无连结的,也就是说只要发送端完成ICMP报文的封装并传递给路由器,这个报文将会象邮包一样自己去寻目的地址,这个特点使得ICMP协议非常灵活快捷,但是同时也带来一个致命的缺陷---易伪造(邮包上的寄信人地址是可以随便写的),任何人都可以伪造一个ICMP报文并发送出去,伪造者可以利用SOCK_RAW编程直接改写报文的ICMP首部和IP首部,这样的报文携带的源地址是伪造的,在目的端根本无法追查,(攻击者不怕被抓那还不有恃无恐?)根据这个原理,外面出现了不少基于ICMP的攻击软件,有通过网络架构缺陷制造ICMP风暴的,有使用非常大的报文堵塞网络的,有利用ICMP碎片攻击消耗服务器CPU的,甚至如果将ICMP协议用来进行通讯,可以制作出不需要任何TCP/UDP端口的木马(参见《揭开木马的神秘面纱三》)......既然ICMP协议这么危险,我们为什么不关掉它呢?
 
  我们都知道,Win2000在网络属性中自带了一个TCP/IP过滤器,我们来看看能不能通过这里关掉ICMP协议,桌面上右击网上邻居->属性->右击你要配置的网卡->属性->TCP/IP->高级->选项->TCP/IP过滤,这里有三个过滤器,分别为:TCP端口、UDP端口和IP协议,我们先允许T
CP/IP过滤,然后一个一个来配置,先是TCP端口,点击"只允许",然后在下面加上你需要开的端口,一般来说WEB服务器只需要开80(www)tcpip协议在哪层FTP服务器需要开20(FTP Data)21(FTP Control),邮件服务器可能需要打开25(SMTP),110(POP3),以此类推......接着是UDPUDP协议和ICMP协议一样是基于无连结的,一样容易伪造,所以如果不是必要(例如要从UDP提供DNS服务之类)应该选择全部不允许,避免受到洪水(Flood)或碎片(Fragment)攻击。最右边的一个编辑框是定义IP协议过滤的,我们选择只允许TCP协议通过,添加一个66TCPIP协议中的代码,IPPROTO_TCP=6,从道理上来说,只允许TCP协议通过时无论UDP还是ICMP都不应该能通过,可惜的是这里的IP协议过滤指的是狭义的IP协议,从架构上来说虽然ICMP协议和IGMP协议都是IP协议的附属协议,但是从网络7层结构上ICMP/IGMP协议与IP协议同属一层,所以微软在这里的IP协议过滤是不包括ICMP协议的,也就是说即使你设置了只允许TCP协议通过ICMP报文仍然可以正常通过,所以如果我们要过滤ICMP协议还需要另想办法。
  刚刚在我们进行TCP/IP过滤时,还有另外一个选项:IP安全机制(IP Security),我们过滤ICMP的想法就要着落在它身上。
  打开本地安全策略,选择IP安全策略,在这里我们可以定义自己的IP安全策略。
  一个IP安全过滤器由两个部分组成:过滤策略和过滤操作,过滤策略决定哪些报文应当引起过滤器的关注,过滤操作决定过滤器是允许还是拒绝报文的通过。要新建IP安全过滤器,必须新建自己的过滤策略和过滤操作:右击本机的IP安全策略,选择管理IP过滤器,在IP过滤器管理列表中建立一个新的过滤规则:ICMP_ANY_IN,源地址选任意IP,目标地址选本机,协议类型是ICMP,切换到管理过滤器操作,增加一个名为Deny的操作,操作类型为"阻止"Block)。这样我们就有了一个关注所有进入ICMP报文的过滤策略和丢弃所有报文的过滤操作了。需要注意的是,在地址选项中有一个镜像选择,如果选中镜像,那么将会建立一个对称的过滤策略,也就是说当你关注any IP->my IP的时候
  熟悉网络的人都知道PingPing是用于检测网络连接性、可到达性和名称解析的疑难问题的主要TCP/IP命令。Ping最主要的用处就是检测目标主机是否可连通。
  黑客要入侵,就得先锁定目标,一般都是通过使用Ping命令来检测主机,获取相关信息,然后再进行漏洞扫描。如何不受别人的攻击?那就是阻止别人Ping自己的电脑,让攻击无从着手。笔者介绍四种常见的阻止Ping的方法,供大家参考:
  一、用高级设置法预防Ping
  默认情况下,所有Internet控制消息协议(ICMP)选项均被禁用。如果启用ICMP选项,您的网络将在 Internet 中是可视的,因而易于受到攻击。
  如果要启用ICMP,必须以管理员或Administrators 组成员身份登录计算机,右击网上邻居,在弹出的快捷菜单中选择属性即打开了网络连接,选定已启用Internet连接防火墙的连接,打开其属性窗口,并切换到高级选项页,点击下方的设置,这样就出现了高级设置对话窗口,在“ICMP”选项卡上,勾选希望您的计算机响应的请求信息类型,旁边的复选框即表启用此类型请求,如要禁用请清除相应请求信息类型即可。
  二、用网络防火墙阻隔Ping
  使用防火墙来阻隔Ping是最简单有效的方法,现在基本上所有的防火墙在默认情况下都启用了ICMP过滤的功能。在此,以金山网镖2003和天网防火墙2.50版为蓝本来说明。
  对于使用金山网镖2003的网友,请用鼠标右击系统托盘中的金山网镖2003图标,在弹出的快捷菜单中选择实用工具中的自定义IP规则编辑器,在出现的窗口中选中防御ICMP类型攻击规则,消除允许别人用ping命令探测本机规则,保存应用后就发挥效应。
  如果您用的是天网防火墙,在其主界面点击自定义IP规则,然后不勾选防止别人用ping命令探测规则,勾选防御ICMP攻击规则,然后点击保存/应用使IP规则生效。
  三、启用IP安全策略防Ping
  IP安全机制(IP Security)即IPSec 策略,用来配置 IPSec 安全服务。这些策略可为多数现有网络中的多数通信类型提供各种级别的保护。您可配置 IPSec 策略以满足计算机、应用程序、组织单位、域、站点或全局企业的安全需要。可使用 Windows XP 中提供的“IP 安全策略管理单元来为 Active Directory 中的计算机(对于域成员)或本地计算机(对于不属于域的计算机)定义 IPSec 策略。
  在此以WINDOWS XP为例,通过控制面板”—“管理工具来打开本地安全策略,选择IP安全策略,在这里,我们可以定义自己的IP安全策略。一个IP安全过滤器由两个部分组成:过滤策略和过滤操作。要新建IP安全过滤器,必须新建自己的过滤策略和过滤操作,右击窗口左侧的“IP安全策略,在本地机器,在弹出的快捷菜单中选择创建IP安全策略,单击下一步,然后输入策略名称和策略描述。单击下一步,选中激活默认响应规则复选项,单击下一步。开始设置响应规则身份验证方式,选中此字符串用来保护密钥交换(预共享密钥)
选项,然后随便输入一些字符(后面还会用到这些字符的),单击下一步,就会提示已完成IP安全策略,确认选中了编辑属性复选框,单击完成按钮,会打开其属性对话框。
  接下来就要进行此新建安全策略的配置。在“Goodbye Ping 属性对话窗口的规则选项页中单击添加按钮,并在打开安全规则向导中单击下一步进行隧道终结设置,在这里选择此规则不指定隧道。单击下一步,并选择所有网络连接以保证所有的计算机都Ping不通。单击下一步,设置身份验证方式,与上面一样选择第三个选项此字符串用来保护密钥交换(预共享密钥)并填入与刚才上面相同的内容。单击下一步即打开“IP筛选器列表窗口,在“IP筛选器列表中选择IP筛选器列表,单击右侧的编辑,在出现的窗口中点击添加,单击下一步,设置源地址我的IP地址,单击下一步,设置目标地址任何IP地址,单击下一步,选择协议类型为ICMP,单击完成后再点确定返回如图9的窗口,单击下一步,选择筛选器操作为要求安全选项,然后依次点击下一步完成确定关闭按钮保存相关的设置返回管理控制台。
  最后在本地安全设置中右击配置好的“Goodbye Ping”策略,在弹出的快捷菜单中选择指派命令使配置生效。
  经过上面的设置,当其他计算机再Ping该计算机时,就不再Ping通了。但如果自己Ping本地计算机,仍可Ping通。在Windows 2000中操作基本相同。
  四、修改TTL值防Ping
  许多入侵者喜欢用TTL值来判断操作系统,他们首先会Ping一下你的机子,如看到TTL值为128就认为你的系统为Windows NT/2000,如果TTL值为32则认为目标主机操作系统为Windows 95/98,如果为TTL值为255/64就认为是UNIX/Linux操作系统。既然入侵者相信TTL值所反应出来的结果,那么我们不妨修改TTL值来欺骗入侵者,达到保护系统的目的。方法如下:
  打开Windows自带的记事本程序,编写如下所示的批处理命令:
  @echo REGEDIT4>&
  @echo.>&
  @echo [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters]
>&
  @echo "DefaultTTL"=dword:000000ff">&
  @REGEDIT /S /
  另存为以.bat为扩展名的批处理文件,点击这个文件,你的操作系统的缺省TTL值就会被修改为ff,即十进制的255,即把你的操作系统人为地改为UNIX系统了!
  "DefaultTTL"=dword:000000ff"是用来设置系统缺省TTL值的,如果你想将自己的操作系统的TTL值改为其它操作系统的ICMP回显应答值,请改变"DefaultTTL"的键值,要注意它的键值为16进制。
  如何禁止别人ping自己的主机(2000自带)
  我的电脑-控制面板-管理工具-本地安全策略-ip安全策略
  这是2000给我们的配置ip管理的工具,我这里只说一下如何禁止别人ping我的主机。
  共有四个步骤:
  1。建立禁ping 规则
  2。建立禁止/允许规则
  3。把这两个规则联系在一起
  4。指派
  详细:
  1。右击ip安全策略-管理ip筛选器表和筛选器操作-ip筛选器列表-添加:名称:ping;描述:ping;(勾选使用添加向导”),---添加-下一步:指定源/目的ip ,协议类型(icmp),下一步直至完成,关闭此对话框。
  2。管理ip筛选器表和筛选器操作-管理筛选器操作-添加(勾选使用添加向导”)-下一步:名称:refuse;描述:refuse--下一步:阻止-下一步直至完成。
  3。右击ip安全策略-创建ip安全策略-下一步:名称:禁止ping--下一步:取消激活默认响应规则-下一步:选中选中编辑属性“-完成。然后再禁止ping属性-添加(勾选使用添加向
”)-下一步直至身份验证方法;选第三项,输入共享字串-下一步:在ip筛选器列表里选“ping"--下一步:选“refuse"-下一步到完成。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。