1

Xen の XAPI ログに一致する正規表現を作成しようとしています。問題は、IP が 1 行目に保存され、失敗メッセージが 2 行目に保存されることです。次に例を示します。

Jan  8 23:07:42 myserver stunnel: LOG5[6732:3073162128]: xapi connected from 1.1.1.1:55002
Jan  8 23:07:42 myserver xapi: pam_unix(xapi:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=  user=root

私が持っている正規表現は次のとおりです。

^.*xapi connected from <HOST>:[0-9]*\n.*xapi: pam_unix.xapi:auth.: authentication failure;.*$

これは VI では (明らかに なしで) 正常に機能しますが、fail2ban では機能しません。私のテストでは、問題は \n. これはfail2banで可能ですか?

この Stackoverflow の記事を見つけました: Can regex match be based on two lines of text? . 改行を文字として扱っているだけです。複数行の情報をサポートする Fail2Ban フィルターを開発した人はいますか? (私はFail2Ban v0.8.4を使用しています。それが重要な場合)

4

2 に答える 2

2

fail2ban v0.9.0 を使用すると、これが可能になります (古いバージョンはチェックしていません)。オプションを指定する必要がありmaxlinesます。次のフィルタ ファイルを試してください。

[Init]
maxlines = 2

[Definition]

failregex = ^.*xapi connected from <HOST>:[0-9]*\n.*xapi: pam_unix.xapi:auth.: authentication failure;.*$

ignoreregex =
于 2014-11-04T21:01:58.283 に答える
0

免責事項:私はFail2Banを知りません。考えられる問題の1つは、との両方を使用すること^です。うまく混ざっていないと思います。これらは、線の境界を示すための異なる同時の方法です。&\n

体系的に使用する方がよいでしょう\n

また、ログ全体にスポーンしないように、。*を。*?に置き換えます。

于 2013-01-10T10:05:39.110 に答える