iptables 规则丢弃 SYN 和 FIN 攻击

iptables 规则丢弃 SYN 和 FIN 攻击

根据 Trustwave 报告,我们尝试设置我们的服务器来阻止此类请求,但在尝试了几种规则组合后,我们仍然可以看到端口。

有人能给我一些提示或一套必要的规则来阻止这个请求吗?

我正在用来nmap --scanflags SYN,FIN xxx.xxx.xxx.xxx测试 iptables 是否被阻塞。

答案1

如果设置了 syn 标志,则此规则将匹配

iptables -A BLOCK -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -j DROP

这将匹配 FIN 标志

iptables -A BLOCK -p tcp --tcp-flags SYN,ACK,FIN,RST FIN -j DROP

请注意,您需要对此进行调整,因为 syn 规则将完全阻止设备的传入 tcp 连接,也许设置您想要阻止的特定端口?

答案2

我使用某种方法来防止这种 SYN 攻击。不确定这种方法是否适合您的情况,但您可以看看。我计算每秒的请求数,并阻止 1 秒内请求数超过 X(在我的情况下是 20)的 IP。对我来说很有效。

iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 1 --hitcount 20 -j DROP

答案3

请查看我的社区维基:iptables 技巧和窍门

尤其是下面的这个“答案”:答案 #245713

请注意,为了使堵塞物有效,必须将其放置在-t raw -A PREROUTING

答案4

网上有一篇《检测和欺骗网络扫描》的文档,对这个问题进行了详细的分析,并找到了最佳的阻止参数。

相关内容