Fail2ban

如何為fail2ban中的特定IP添加監獄?

  • June 18, 2013

我想添加一個特定的 IP 列表,在他們發出幾個“GET”請求後,我想從 Fail2ban 收到一封電子郵件。

在 apache 的訪問日誌中尋找的模式是 ^1.2.3.4 - .*$ 但是 fail2ban-regex 失敗(我不能怪它)說:

無法刪除正則表達式。索引 0 無效 ^1.2.3.4 中沒有“主機”組 - .*$

無論如何我可以在自定義過濾器/監獄中設置“HOST”變數嗎?

正則表達式需要對 IP 地址進行(括號)分組,因此fail2ban 知道要禁止的 IP

在 failregex 的每一行中,與主機名或 IP 地址匹配的部分必須包裹在(?P<host> ... )三明治中。這是一個特定於 Python 的正則表達式擴展,它將匹配的內容分配給 name <host><host>標籤是您告訴fail2ban 哪個主機正在連接的方式,因此它必須存在於failregex 的每一行中。如果不是,fail2ban 將發出一條關於“No ‘host’ group”的錯誤消息。

在您的情況下,您的正則表達式應該是

^(?P<host>1.2.3.4) - .*$

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