服务器禁止ping
背景
最近搭建几个站点,为了安全,需要设置服务器禁止ping,以提高服务器的安全性。ping使用的是ICMP协议,当我们禁止ping以后,服务器就不会对用户的ping做出任何回应
Linux默认允许ping响应,系统是否能够被ping取决两个要素:内核参数(不懂)和防火墙,二者缺一不可
配置方法
方法1:通过修改配置文件【icmp_echo_ignore_all】(root权限),配置完毕后,别人无法ping本服务器,本服务器也无法ping别的机器(系统提示不允许改)
1
2
3
4
5
6
7该文件默认只读,设置完毕后重启机器
sudo chmod 600 /proc/sys/net/ipv4/icmp_echo_ignore_all
sudo vim /proc/sys/net/ipv4/icmp_echo_ignore_all
将其中的默认值1改为0
1:表示不允许ping
0:表示允许ping方法2:通过命令修改方法1的文件,实现结果都是一样的(系统提示不允许改)
1
2运行该命令需要root权限,设置完毕后重启机器
sudo echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all方法3:利用iptables命令设置(iptables类似于防火墙,如果本机没有,可以安装)(亲测可行)
1
2
3
4
5设置禁止ping,设置完毕后不用重启
sudo iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
设置允许ping,设置完毕后不用重启
sudo iptable -D INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
知识点
1 | Ubuntu Server安装后会让手动创建一个用户,但是这个用户并不是root,如果需要root用户则需要手动开启 |