当服务器上线后,特别是可以在互联网上访问的服务器,无时无刻都在被黑客扫描,稍有不慎就可能被攻破,造成密码修改、数据被加密或者丢失等等;最常见的攻击手段就是使用ping命令先检测服务器是否在线,发现服务器在线后则进行下一轮攻击;下面一起来学习一下如何在Linux操作系统中禁止被其他主机ping。
1. 环境介绍操作系统:CentOS7.6
2. 修改内核参数禁ping通过修改Linux内核参数来实现无法被其他主机ping通。
2.1 配置前访问测试在没有修改内核参数的情况下,使用一台客户端用ping命令检测服务器IP地址是否可以访问:
配置前是可以被客户端使用ping访问的。
2.2 配置内核参数需要修改的内核参数:
net.ipv4.icmp_echo_ignore_all
使用sysctl命令查看该参数的值:
sysctl -a | grep net.ipv4.icmp_echo_ignore_all
默认值为0表示响应所有ping访问;将值设置为1则不响应ping。(1)临时配置临时的配置当服务器重启后,恢复为原来的配置:
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
再次使用客户端进行ping测试:
配置完成后,已经无法再ping通服务器的IP地址。(2)永久配置将参数写入到配置文件中:
vi /etc/sysctl.conf
#未行写入
net.ipv4.icmp_echo_ignore_all = 1
执行命令生效:
sysctl -p
2.3. 小结通过修改内核禁ping的方式,所有主机都将无法使用ping访问到该服务器。需要取消的话,将net.ipv4.icmp_echo_ignore_all的值设置为0即可。
3. 修改防火墙配置禁ping前提条件:在系统中开启防火墙。
3.1 禁止响应所有终端ping(1)配置命令
firewall-cmd --permanent --add-rich-rule='rule protocol value="icmp" drop'firewall-cmd --reload
(2)测试访问效果
同样的,客户端是无法访问访问到该服务器:
(3)删除配置
firewall-cmd --permanent --remove-rich-rule='rule protocol value="icmp" drop'
firewall-cmd --reload
3.2 允许指定IP地址可以ping
这个功能就比较实用一点了,我们只允许管理员可以ping通过服务器。
假设只有IP地址192.168.211.101才可以ping通;
(1)配置命令
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" protocol value="icmp" source NOT address="192.168.211.101" drop'
firewall-cmd --reload
(2)测试访问效果
除了终端IP地址192.168.211.101可以ping通外,其他IP地址都不能ping通:
(3)删除规则
firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" protocol value="icmp" source NOT address="192.168.211.101" drop'
firewall-cmd --reload
4. 总结
Ping命令是一个用于测试网络连接的诊断工具,它通过发送ICMP(Internet Control Message Protocol)回显请求消息到目标主机并等待响应来检查两台计算机之间的连通性。
有时候,我们并不想让其他人检测到服务器是否在线,则可以通过本文中任意一种方法来配置。
建议对互联网开放的服务器,将ping功能禁用;
如果需要禁止所有ping,可以修改内核也可以配置防火墙,如果需要放通部分IP,则配置防火墙来实现。
本文来自网络,不代表王道测评立场,如有争议请发邮件:enofun@foxmail.com
AD:【本站QQ交流群】114135944
评论