看看iptables
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 5 --hitcount 2 -j DROP
Run Code Online (Sandbox Code Playgroud)
每 5 秒每个 IP 只允许 1 个新连接。
问题 1
这可以通过模块来完成hashlimit。
iptables -A INPUT -p tcp --dport 22 -m hashlimit \
--hashlimit-mode srcip --hashlimit-above 3/minute -j DROP
Run Code Online (Sandbox Code Playgroud)
问题2
Netfilter 只看到登录失败的连接。您需要一个在两个级别都处于活动状态的工具(如 Fail2ban)。您可以创建一个具有被阻止 IP 的链,并在每次登录失败后运行一个脚本,这将执行类似的操作
iptables -A blocked_ips -s $evil_ip -j DROP
sleep 5
iptables -D blocked_ips -s $evil_ip -j DROP
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12234 次 |
| 最近记录: |