我经常受到长度为 0 的 UDP 攻击
p885068-ipngn200609sizuokaden.shizuoka.ocn.ne.jp.51422
我尝试将此主机解析为 IP180.33.161.68并将地址添加到 iptables 以删除它,但 iptables 似乎并没有删除它。
有什么帮助吗?这样我就可以阻止此主机,而且显示的长度是 UDP,长度为 0,有什么办法可以丢弃这种长度为 0 的 UDP 数据包吗
规则如下
1 0 0 ACCEPT all -- * * 45.117.26.115 0.0.0.0/0
2 199K 32M ACCEPT all -- * * 106.193.0.0/16 0.0.0.0/0
3 0 0 DROP all -- * * 202.231.72.67 0.0.0.0/0
4 0 0 DROP all -- * * 180.33.161.68 0.0.0.0/0
5 0 0 DROP all -- * * 8.4.0.0/24 0.0.0.0/0
6 0 0 DROP all -- * * 180.33.0.0/24 0.0.0.0/0
7 0 0 DROP all -- * * 202.231.0.0/16 0.0.0.0/0
答案1
如果 iptables 不起作用,您需要直接使用“ip”命令的黑洞路由。
例如 :
ip route add blackhole 180.33.161.68/32
唯一的问题是,你无法看到你检测到的这个 IP 是否会进入。(但是,你很确定这个 IP 无法再通信了)
答案2
- 使用该
iptables-save -c
命令列出完整的规则集。 - 规则的顺序非常重要。这意味着第一个匹配的规则获胜。
- 要按数据包长度检查数据包,您可以使用这样的规则,其中语句
0:28
将匹配长度从 0 到 28 字节(包括 0 到 28 字节)的数据包(20 字节的 IPv4 头 + 8 字节的 UDP 头)。
iptables -A INPUT -p udp -m length --length 0:28 -j DROP
- 匹配
length
检查 IPv4 标头中的总长度字段,而不是 IPv4 数据包有效负载长度。 - 要通过大量地址列表进行匹配,最好使用
ipset
。它比规则列表运行得更快。 tcpdump
在防火墙处理之前捕获流量。这意味着您将看到那些将被规则阻止的数据包。