如何在 Linux 中一直禁用 Ping ( TCP )?

Víc*_*nes 1 linux ping tcp icmp

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

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
Run Code Online (Sandbox Code Playgroud)

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

Rui*_*iro 7

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

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

对于受限/您的团队使用的服务,您可以通过端口敲门来隐藏它。有关示例,请参阅在从任何源 IP 敲击端口后允许 SSH 访问。

但是,您可以做的是,为了让机器无法成功扫描所有TCP/IP 端口的关闭/打开状态,您可以创建规则,仅允许您所需服务的传入连接,并删除与所有其他 TCP 端口的连接。

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

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

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

PS 毋庸置疑,最好的安全性首先是不向整个 Internet 开放服务。

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