iptables规则来放弃SYN和FIN攻击

从Trustwave报告中,我们试图设置我们的服务器来阻止这种types的请求,但是在尝试了几个规则组合之后,我们仍然可以看到端口。

任何人都可以给我一个提示或一套必要的规则来阻止这个请求?

我正在使用nmap --scanflags SYN,FIN xxx.xxx.xxx.xxx来testingiptables是否阻塞。

如果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连接在你的设备上,也许设置你想要阻塞的特定端口?

我使用一些东西来防止这种SYN攻击。 不知道你的情况是否正确,但你可以看看。 我每秒钟计算请求数,并且在1秒内阻塞比X(在我的情况下为20)更多的请求。 为我工作。

 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 

去检查我的社区Wiki: iptables提示和技巧

特别是下面的“答案”: 答案#245713

请注意,要使堵塞生效,必须将其置于-t raw -A PREROUTING

在网上有一个名为“检测和欺骗networking扫描”的文件,对此进行了详细的分析,find了最佳的阻塞参数。