如何使用 iptable 规则来防止像 Hping 和 nmap 这样的端口扫描?

如何使用 iptable 规则来防止像 Hping 和 nmap 这样的端口扫描?

我想在我的 iptables 中添加一些规则来防止端口扫描,我该怎么做?
我找到了一些解决方案,但效率不高。

港口罐装解决方案

答案1

最好的办法是在 iptables 中设置默认丢弃策略,然后只允许需要的内容。例如:

# 默认丢弃所有数据包。
iptables -P 输入删除
# 允许预先存在的连接
iptables -A INPUT -m 状态 --状态 ESTABLISHED,RELATED -j ACCEPT
# 允许来自 192.0.2.0/24 的 SSH
iptables -A 输入 -p tcp -s 192.0.2.0/24 --目标端口 22 -i eth0 -j 接受
# 允许所有 HTTP
iptables -A 输入 -p tcp --目标端口 80 -i eth0 -j 接受

它不会阻止人们进行端口扫描,但这意味着他们所能看到的只有 80 端口开放。

答案2

为了nmap 端口扫描,你可以查看以下答案:iptables 技巧和窍门

我不熟悉 Hping,但如果 Hping 使用 NULLflags,那么我上面链接的答案也应该有效。

相关内容