频繁地使用Ping命令会导致网络堵塞、降低传输效率,为了避免恶意的网络攻击,一般都会拒绝用户Ping服务器。为实现这一目的,不仅可以在防火墙中进行设置,也可以在路由器上进行设置,并且还可以利用Windows 2000/2003系统自身的功能实现。无论采用哪种方式,都是通过禁止使用ICMP协议来实现拒绝Ping动作。
以在Windows Server 2003中设置IP策略拒绝用户Ping服务器为例,具体操作步骤如下:
1.添加IP筛选器
第1步,依次单击“开始/管理工具/本地安全策略”,打开“本地安全设置”窗口。右键单击左窗格的“IP安全策略,在本地计算机”选项,执行“管理IP筛选器表和筛选器操作”快捷命令。在“管理IP筛选器列表”选项中单击“添加”按钮,命名这个筛选器名称为“禁止PING”,描述语言可以为“禁止任何其它计算机PING我的主机”,然后单击“添加”按钮,如图所示。
第2步,依次单击“下一步”→“下一步”按钮,选择“IP通信源地址”为“我的IP地址”,单击“下一步”按钮;选择“IP通信目标地址”为“任何IP地址”,单击“下一步”按钮;选择“IP协议类型”为ICMP,单击“下一步”按钮。依次单击“完成”→“确定”按钮结束添加,如图所示。
第3步,切换到“管理筛选器操作”选项卡中,依次单击“添加”→“下一步”按钮,命名筛选器操作名称为“阻止所有连接”,描述语言可以为“阻止所有网络连接”,单击“下一步”按钮;点选“阻止”选项作为此筛选器的操作行为,最后依次单击“下一步”→“完成”→“关闭”按钮完成所有添加操作,如图所示。
2.创建IP安全策略。
右键单击控制台树的“IP安全策略,在本地计算机”选项,执行“创建IP安全策略”快捷命令,然后单击“下一步”按钮。命名这个IP安全策略为“禁止PING主机”,描述语言为“拒绝任何其它计算机的PING要求”并单击“下一步”按钮。然后在勾选“激活默认响应规则”的前提下单击“下一步”按钮。在“默认响应规则身份验证方法”对话框中点选“使用此字符串保护密钥交换”选项,并在下面的文字框中键入一段字符串如“NO PING”,单击“下一步”按钮。最后在勾选“编辑属性”的前提下单击“完成”按钮结束创建,如图所示。
3.配置IP安全策略。
在打开的“禁止PING主机 属性”对话框中的“规则”选项卡中依次单击“添加/下一步”按钮,默认点选“此规则不指定隧道”并单击“下一步”按钮;点选“所有网络连接”以保证所有的计算机都PING不通该主机,单击“下一步”按钮。在“IP筛选器列表”框中点选“禁止PING”,单击“下一步”按钮;在“筛选器操作”列表框中点选“阻止所有连接”,依次单击“下一步”按钮;取消“编辑属性”选项并单击“完成”按钮结束配置,如图所示。
4.指派IP安全策略。
安全策略创建完毕后并不能马上生效,还需通过“指派”使其发挥作用。右键单击“本地安全设置”窗口右窗格的“禁止PING主机”策略,执行“指派”命令即可启用该策略,如图所示。
经过这样的一番设置,这台服务器已经具备了拒绝其它任何计算机Ping自己IP地址的能力了,不过在本地Ping自身仍然是通的。
LINUX下禁止ping命令的使用
以root进入Linux系统,然后编辑文件icmp_echo_ignore_all
vi /proc/sys/net/ipv4/icmp_echo_ignore_all
将其值改为1后为禁止PING
将其值改为0后为解除禁止PING
直接修改会提示错误:
WARNING: The file has been changed since reading it!!!
Do you really want to write to it (y/n)?y
"icmp_echo_ignore_all" E667: Fsync failed
Hit ENTER or type command to continue
这是因为 proc/sys/net/ipv4/icmp_echo_ignore_all
这个不是真实的文件
如果想修改他的数值可以echo 0 或 1到这个文件
(即echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all )。要是想永久更改可以加一行
net.ipv4.icmp_echo_ignore_all=1
到配置文件/etc/sysctl.conf里面