我遭受了来自中国、使用类似 IP 的黑客攻击。
我如何使用 116.10.191.* 等来阻止 IP 范围?
我正在运行 Ubuntu Server 13.10。
我当前使用的线路是:
sudo /sbin/iptables -A INPUT -s 116.10.191.207 -j DROP
这样我只能一次阻止每一个,但黑客每次尝试时都会更改 IP。
答案1
要阻止 116.10.191.* 地址:
$ sudo iptables -A INPUT -s 116.10.191.0/24 -j DROP
要阻止 116.10.*.* 地址:
$ sudo iptables -A INPUT -s 116.10.0.0/16 -j DROP
要阻止 116.*.*.* 地址:
$ sudo iptables -A INPUT -s 116.0.0.0/8 -j DROP
但使用此方法时要小心阻止的内容。您不会想阻止合法流量到达主机。
编辑:如前所述,iptables 按顺序评估规则。规则集中较高的规则先于规则集中较低的规则应用。因此,如果规则集中较高的规则允许上述流量,则附加 ( iptables -A
) DROP 规则不会产生预期的阻止结果。在这种情况下,请以iptables -I
下列方式插入 () 规则:
- 作为第一条规则
sudo iptables -I ...
- 或在允许规则之前
sudo iptables --line-numbers -vnL
假设规则 3 允许 ssh 通信,而您想要阻止某个 IP 范围的 ssh。-I
采用一个整数参数,该整数是您希望在规则集中插入新规则的位置
iptables -I 2 ...
答案2
sudo /sbin/iptables -A INPUT -s 116.10.191.0/24 -j DROP
这会阻止范围。您可以根据需要使用相同的通用格式扩展子网。
答案3
作为替代方法,您可以使用类似 fail2ban 的简单方法。它对连续失败的登录尝试设置超时,并使暴力破解变得不可行,因为每次超时只有几次机会。我将超时长度设置为 30 分钟。等他们过了一两个小时,他们就会意识到自己无法取得任何进展,然后放弃。