Ssh
在“n”次SSH登錄失敗後如何暫時禁止IP地址?
如何限制每個 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