
你好,我正在嘗試匹配以下日誌行:
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匹配正規表示式的一般方法。
- 驗證您的文件確實包含所需的符合項,例如
/var/log/foo.log
- 稱呼
fail2ban-regex /var/log/foo.log 'substring of regex'
- 如果不匹配,請從正規表示式中刪除一些單字並轉到 2。
- 如果匹配,請附加原始正規表示式的一些單字並轉到 2,或:
- 如果從 3. 和 4. 中您已確定哪個單字是錯誤的,請更正它。
- 如果修復後,完整的正規表示式仍然不匹配,請使用修復的正規表示式重複整個過程。