Ssh

在“n”次SSH登錄失敗後如何暫時禁止IP地址?

  • September 23, 2019

如何限制每個 IP 每分鐘的 SSH 登錄嘗試?

我想在失敗後 5 秒內禁用登錄嘗試。這可能嗎 ?我不是說在解析像 Fail2ban 這樣的日誌後禁止使用者。

問題 1

這可以通過模組來完成hashlimit

iptables -A INPUT -p tcp --dport 22 -m hashlimit \
 --hashlimit-mode srcip --hashlimit-above 3/minute -j DROP

問題2

Netfilter 只看到登錄失敗的連接。您需要一個在兩個級別都有效的工具(如 Fail2ban)。您可以創建一個帶有被阻止 IP 的鏈,並在每次登錄失敗後執行一個腳本,該腳本會執行類似的操作

iptables -A blocked_ips -s $evil_ip -j DROP
sleep 5
iptables -D blocked_ips -s $evil_ip -j DROP

引用自:https://unix.stackexchange.com/questions/78165