前言:
一旦服务器接入互联网,便无时无刻不面临着黑客的扫描和潜在攻击。攻击者常常使用ping命令来探测服务器的在线状态,进而发动攻击。本文将介绍两种方法:修改内核参数和配置防火墙,以在Linux系统中实现禁止被ping。
一、实验环境:
二、内核参数修改:
1、配置前测试:
在修改前,确保服务器可以响应客户端的ping命令。
2、参数配置:
修改net.ipv4.icmp_echo_ignore_all参数,以忽略所有ping请求。默认值为0表示响应所有ping访问;将值设置为1则不响应ping。使用sysctl命令查看
3、临时配置:
通过向/proc/sys/net/ipv4/icmp_echo_ignore_all写入1,实现临时禁止ping,重启后失效
4、永久配置:
在/etc/sysctl.conf
添加相应参数,并通过sysctl -p
命令应用更改。
vi /etc/sysctl.conf
##未行写入
net.ipv4.icmp_echo_ignore_all = 1
sysctl -p
三、防火墙配置:
1、前提:
确保系统防火墙已开启。
2、禁止所有ping:
使用firewall-cmd
添加规则,禁止所有ICMP协议的ping请求。
firewall-cmd --permanent --add-rich-rule='rule protocol value="icmp" drop'
firewall-cmd --reload
删除规则
firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" protocol value="icmp" drop'
firewall-cmd --reload
3、允许特定IP ping:
配置规则,只允许特定IP地址(如192.168.226.1)ping服务器。
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" protocol value="icmp" source NOT address="192.168.226.1" drop'
firewall-cmd --reload
删除规则
firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" protocol value="icmp" source NOT address="192.168.211.101" drop'
firewall-cmd --reload
四、总结:
Ping命令是网络诊断的基本工具,通过ICMP协议检测主机间的连通性。但出于安全考虑,我们可能需要禁止未授权的ping操作。本文介绍的方法适用于希望隐藏服务器在线状态,减少被攻击风险的场景。对于面向公众的服务器,建议禁用ping功能;若需更精细的控制,可以通过配置防火墙实现。