測試站點上的fail2ban正規表示式匹配,但fail2ban本身不匹配

測試站點上的fail2ban正規表示式匹配,但fail2ban本身不匹配

你好,我正在嘗試匹配以下日誌行:

E/Sun, 04 Mar 2018 21:40:32 +0100: Error logging in from RemoteIP: 1.2.3.4

經過幾個小時後,我終於得到了一個可以在 debuggerex、regextester 等上運行的正規表示式。

我在fail2ban中的正規表示式如下:

^E\/(Mon|Tue|Wed|Thu|Fri|Sat|Sun), ([0-1][0-9]) (\w\w\w) (\d\d\d\d) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]) (\+[0-9][0-9][0-9][0-9]): Error logging in from RemoteIP: <HOST>$

我在這裡缺少一些基本的東西還是什麼?

答案1

因為我無法發現你的問題,所以這裡是修復fail2ban匹配正規表示式的一般方法。

  1. 驗證您的文件確實包含所需的符合項,例如/var/log/foo.log
  2. 稱呼fail2ban-regex /var/log/foo.log 'substring of regex'
  3. 如果不匹配,請從正規表示式中刪除一些單字並轉到 2。
  4. 如果匹配,請附加原始正規表示式的一些單字並轉到 2,或:
  5. 如果從 3. 和 4. 中您已確定哪個單字是錯誤的,請更正它。
  6. 如果修復後,完整的正規表示式仍然不匹配,請使用修復的正規表示式重複整個過程。

相關內容