如何在Linux中始终禁用Ping(TCP)?

如何在Linux中始终禁用Ping(TCP)?

我想一直禁用 ping 响应。我使用以下命令禁用 ICMP ping

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

我应该怎么做才能禁用 TCP ping?

答案1

TCP“ping”只是某些程序/方法的一个奇特名称,它(ab)使用 TCP 协议来探测侦听该 TCP 服务号的端口是否打开。

因此,如果为整个互联网提供服务,例如 Web/HTTP 服务,则无法阻止特定的 TCP 端口应答(如果它正在侦听),否则会破坏 TCP 的内部工作原理/IP协议。

对于受限/您的团队使用的服务,您可以进行端口碰撞来隐藏它。看在来自任何源 IP 的端口碰撞后允许 SSH 访问举个例子。

但是,如果没有机器扫描,您可以做什么全部您的 TCP/IP 端口成功关闭/打开状态,正在创建仅允许的规则传入所需服务的连接,并删除与所有其他 TCP 端口的连接。

重要的是数据包是 DROP(ed) 而不是 REJECT(ed)。看在 iptables 中设置 -j REJECT 还是 -j DROP 更好?

至于忽略/删除服务器本身的 ICMP ping 请求,在内核级别执行此操作更有意义,请参阅如何在 Linux 中始终禁用 Ping 响应(ICMP echo)?

有关 TCP 协议的更多详细信息,我建议参考 Stevens 等人的参考书“TCP/IP Illusterated, the Protocols”第 2 版。https://en.wikipedia.org/wiki/TCP/IP_Illusterated

PS 不用说,最好的安全性首先就是不向互联网开放服务。

正确实施 DMZ - 前端/后端基础设施,并正确规划网络基础设施大有帮助。包括防火墙等安全功能以及强制使用 VPN 进行远程访问。

相关内容