Ping 基於 ICMP Echo Request/Reply,雖是網絡診斷利器,但也被攻擊者用於主機發現、Smurf 攻擊、ICMP Flood 等。生產環境建議**默認禁用,按需放行**。本文提供內核參數法(即時生效)、持久化配置、以及針對 root 登錄的額外加固。
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf
sysctl -p
# 僅允許監控服務器 10.0.0.100 Ping
iptables -A INPUT -p icmp --icmp-type echo-request -s 10.0.0.100 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
service iptables save
firewall-cmd --permanent --add-rich-rule='rule protocol value="icmp" icmp-type="echo-request" source address="10.0.0.100" accept'
firewall-cmd --permanent --add-rich-rule='rule protocol value="icmp" icmp-type="echo-request" drop'
firewall-cmd --reload
雖與 Ping 無直接關係,但屬於同一「減小攻擊面」範疇:
# /etc/securetty 僅保留 tty1,註釋 tty2-tty6、pts/*
# /etc/security/access.conf
-:root:ALL EXCEPT LOCAL 10.0.0.0/24 # 僅允許本地及管理網段 root 登錄
# 本機測試
ping -c 3 localhost
# 應顯示 100% packet loss
# 遠程測試
ping -c 3 YOUR_SERVER_IP
# 同樣無響應
echo 0 > ...)**最佳實踐**:默認關閉 ICMP Echo Reply,防火牆白名單放行授權監控 IP,兼顧安全與可觀測性。