首页 > 解决方案 > 怎么办:iptables 丢弃碎片?

问题描述

描述: 我尝试测试 iptables 阻止坏包。

# Drop Various Attacks
iptables -A INPUT -p tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
iptables -A INPUT -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN -j DROP
iptables -A INPUT -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
iptables -A INPUT -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
iptables -A INPUT -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
...
# Drop Fragments
iptables -A INPUT -f -j DROP

查找规则丢弃片段无效。

测试步骤: windows 10:192.168.0.2 Linux(ubuntu 16.04):192.168.0.5

案例 1:windows ping linux 选项 -l

ping 192.168.0.5 -l 3000 #icmp buffer size 3000
Result: ping OK.

案例2:linux启用drop Fragments

Linux:
iptables -A INPUT -f -j DROP
win10:
ping 192.168.0.5 -l 3000
Result: ping OK.

查找有关 iptables -A INPUT -f 的一些信息:丢弃 IP 片段可能是过时的建议:Linux 内核可以并且将根据需要自动重新组装和完整性检查所有片段。这发生在 iptables 连接跟踪处理数据包之前,因此该规则可能永远不会匹配任何内容。

总体而言,在我看来,您要么收集了各种防火墙规则而没有完全理解它们的含义,要么遵循了过时或不完整的建议。

我的问题:如何使用 iptable drop fragment 包?

标签: iptables

解决方案


推荐阅读