
こんにちは。次のログ行を一致させようとしています:
E/Sun, 04 Mar 2018 21:40:32 +0100: Error logging in from RemoteIP: 1.2.3.4
そして何時間もかけて、ようやく debuggerex、regextester などで機能する正規表現を手に入れました。しかし、どうやっても fail2ban でそれを一致させることができません。
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. からどの単語が間違っているかを特定した場合は、それを修正します。
- 修正後も完全な正規表現が一致しない場合は、修正した正規表現を使用してプロセス全体を繰り返します。