您可以使用 iptables 轻松进行速率限制,而无需为机器提供完整的防火墙即可完成。
代码是
# rate-limit connections to sshd
iptables -A INPUT -p tcp --syn --dport 22 -m recent --name sshattack --set
iptables -A INPUT -p tcp --dport 22 --syn -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j LOG --log-prefix 'SSH REJECT: '
iptables -A INPUT -p tcp --dport 22 --syn -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j REJECT --reject-with tcp-reset
Run Code Online (Sandbox Code Playgroud)
这将只允许来自任何给定 IP 地址的两个连接,在 60 秒的滚动窗口中。您需要小心地将这些规则放在 INPUT 链中的正确位置。
如果您有兴趣,请参阅我的文章以获取更多信息。