使用 UFW(防火墙)拒绝传入的 ping(ICMP)请求?

使用 UFW(防火墙)拒绝传入的 ping(ICMP)请求?

(简单防火墙) 命令行应用程序ufw没有任何选项可以禁用传入的 ICMP Internet 协议请求。ICMP 主要用于ping发现 Internet 或 LAN 上的服务器的 IP 地址。为了安全起见,我想隐藏我的服务器以免受 ping 请求的影响。我应该如何在 Ubuntu 上做到这一点(最好使用内置防火墙)?

答案1

这些sed命令将阻止所有 ICMP 请求(包括ping):

sudo sed -i -E 's/^\s*-A\ ufw-before-input\ -p\ icmp\ --icmp-type.*ACCEPT\s*/#\ \0/g' /etc/ufw/before.rules
sudo sed -i -E 's/^\s*-A\ ufw-before-forward\ -p\ icmp\ --icmp-type.*ACCEPT\s*/#\ \0/g' /etc/ufw/before.rules

解释

默认情况下ufw阻止所有 ICMP 请求除了 ping因此,您需要ACCEPT在以下位置禁用这些 ping 例外/etc/ufw/before.rules

# ok icmp codes for INPUT
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

# ok icmp code for FORWARD
-A ufw-before-forward -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type parameter-problem -j AfCCEPT
-A ufw-before-forward -p icmp --icmp-type echo-request -j ACCEPT

相关内容