Fail2ban

使用fail2ban重試n次後永久封鎖IP

  • August 21, 2019

我有一個如下配置的fail2ban:

  • 在 3 次嘗試失敗後阻止 ip
  • 300 秒超時後釋放 IP

這非常有效,我想保持這種方式,以便有效使用者有機會在超時後重試登錄。現在,我想實現一個規則,如果相同的 IP 被檢測為攻擊並被阻止,則解鎖 5 次,永久阻止 IP 並且永遠不會再次解鎖。單獨使用fail2ban可以實現這一點,還是我需要編寫自己的腳本來做到這一點?

我在centos中這樣做。

在 0.11 之前,fail2ban 中沒有預設功能或設置來實現這一點。但從即將發布的 0.11 版本開始,禁令時間會自動計算,並隨著每次新的違規行為呈指數增長,從長遠來看,這將意味著或多或少的永久封禁。

在那之前,您最好的方法可能是設置fail2ban 來監控它自己的日誌文件。這是一個兩步過程…

第1步

我們可能需要創建一個過濾器來檢查日誌文件中的BAN(fail2ban 的日誌文件)

第2步

我們需要定義 jail,類似於以下…

[失敗2禁令]
啟用 = 真
過濾器 = fail2ban
行動 = iptables-allports [名稱=fail2ban]
日誌路徑 = /path/to/fail2ban.log
# 查找時間:1 天
查找時間 = 86400
#bantime:1年
班時間 = 31536000

從技術上講,它不是永久塊,而只是一年的塊(我們也可以增加)。

無論如何,對於你的問題(這可以通過 fail2ban 單獨實現還是我需要編寫自己的腳本來做到這一點?)……編寫自己的腳本可能會很好。我建議設置腳本以提取經常被禁止的 IP,然後將它們放入其中/etc/hosts.deny

引用自:https://serverfault.com/questions/415040