我们看到这里描述的问题 – http://archives.neohapsis.com/archives/bugtraq/2002-10/0266.html
简而言之,我们需要丢弃伪造数据包,例如使用SYN + FIN标志设置。 我可以通过添加rule-
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
现在可以有更多的标志组合。 那么我应该添加所有这些还是有更好的方法来做到这一点?
丢弃虚假数据包的最佳时间是当数据包尚未被跟踪时,因此在“原始”表中。 或者,要非常精确: -t raw -A PREROUTING
看看下面的社区维基:真正的你的iptables提示和技巧 。 其中一个“答案”已经包含了一组放弃虚假数据包的规则。
我build议删除所有的INVALID包,如果你使用连接跟踪: iptables -A FORWARD -m state --state INVALID -m comment --comment "DROP INVALID" -j DROP
你可以看到: -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -m comment --comment "Bad TCP Packet" -j DROP -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -m comment --comment "Bad TCP Packet" -j DROP -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -m comment --comment "Bad TCP Packet" -j DROP -A FORWARD -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -m comment --comment "Bad TCP Packet" -j DROP -A FORWARD -p tcp -m tcp --tcp-flags FIN,ACK FIN -m comment --comment "Bad TCP Packet" -j DROP -A FORWARD -p tcp -m tcp --tcp-flags ACK,URG URG -m comment --comment "Bad TCP Packet" -j DROP