首页 技术 正文
技术 2022年11月24日
0 收藏 480 点赞 4,369 浏览 1863 个字

作者:荒原之梦

原文链接:http://zhaokaifeng.com/?p=538

前言:

“Ping”属于ICMP协议(即“Internet控制报文协议”),而ICMP协议是TCP/IP协议的一个子协议,工作在网际层。ICMP协议主要用于传输网络是否连通、主机是否可达以及路由是否可用等控制信息。Ping可以回显TTL生存时间,网络延迟等信息,而且响应Ping请求也会消耗服务器资源。因此,在服务器上禁用ICMP响应可以尽可能的隐藏服务器在Internet上的踪迹,降低受攻击面。本文介绍三种方法禁用(或启用)ICMP响应,即禁止(或允许)Ping.

操作环境:

RedHat 7.0(CentOS 7.0的操作方法与此一致)

方法一 临时禁用ICMP协议

修改文件/proc/sys/net/ipv4/icmp_echo_ignore_all的值。

切换到root,输入命令:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

这样就将/proc/sys/net/ipv4/icmp_echo_ignore_all文件里面的0临时改为了1,从而实现禁止ICMP报文的所有请求,达到禁止Ping的效果,网络中的其他主机Ping该主机时会显示“请求超时”,但该服务器此时是可以Ping其他主机的。

如果想启用ICMP响应,则输入:

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

注0:由于/proc/sys/net/ipv4/icmp_echo_ignore_all这个文件是只读的,即使我们使用root用户登陆,vim打开/proc/sys/net/ipv4/icmp_echo_ignore_all,将里面的0该为1之后使用qw!强制保存也无法完成修改。因此上面这个方法只是临时的,一旦服务器重启就又会回到默认的0状态(假设修改前/proc/sys/net/ipv4/icmp_echo_ignore_all里面的值就是0)。如果想永久修改(当然也可以改回来,只是不再受服务器关机或重启的影响)请使用方法二或方法三。

方法二 永久禁用ICMP协议:

禁用ICMP协议,输入:

vim /etc/sysctl.conf

添加一条信息:

net.ipv4.icmp_echo_ignore_all = 1

保存并退出。

输入:

sysctl -p

使配置生效。

启用ICMP协议,输入:

vim /etc/sysctl.conf

将:

net.ipv4.icmp_echo_ignore_all = 1

修改为:

net.ipv4.icmp_echo_ignore_all = 0

如果没有net.ipv4.icmp_echo_ignore_all = 1就添加:

net.ipv4.icmp_echo_ignore_all = 0

保存并退出。

输入:

sysctl -p

使配置生效。

注1:如果想启用ICMP响应,不能直接在/etc/sysctl.conf里删除net.ipv4.icmp_echo_ignore_all> = 1之后sysctl -p. 这样做仍然是禁止Ping的状态,此时使用命令:vim /proc/sys/net/ipv4/icmp_echo_ignore_all查看发现其值仍然是1, 即仍处于拒绝ICMP响应的状态。

方法三 配置IPTABLES防火墙

Iptables防火墙是集成于Linux内核的IP信息包过滤系统。方法三不能和上面的方法一和方法二组合使用。即,在使用方法三时不能已经使用方法一或方法二禁止了Ping.

禁止Ping,输入:

iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP

停止禁用Ping,输入:

iptables -D INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP

上面两条命令的简要解释:

-A:添加防火墙规则.
INPUT:入站规则.
-p icmp:指定包检查的协议为ICMP协议.
--icmp-type 8:指定ICMP类型为8.
-s:指定IP和掩码,“0/0”表示此规则针对所有IP和掩码.
-j:指定目标规则,即包匹配则应到做什么,"DROP"表示丢弃.

注2:由于方法三是对防火墙进行的设置,所以使用方法三禁止Ping后只会阻止来自外网的Ping请求,内网主机的Ping请求仍然会正常响应。使用方法一和方法二禁止Ping后不仅会阻止外网的Ping请求也会阻止内网的Ping请求。

End

My Website:http://zhaokaifeng.com/


微信扫一扫

支付宝扫一扫

本文网址:https://www.zhankr.net/141970.html

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:875 阅读:5,067
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:806 阅读:3,504
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:565 阅读:4,312
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:730 阅读:4,307
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:4,904
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:3,097
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:8:00-16:00

客服电话

400-888-8888

客服邮箱

ceotheme@ceo.com

扫描二维码

关注微信公众号

扫描二维码

手机访问本站