web-dev-qa-db-ja.com

Fail2BanSASLフィルターが失敗したログインを見逃す

メールサーバーで fail2ban を使用しています。私は今朝、SMTP経由で(1時間の間に)約5000回のログイン試行が失敗し、saslフィルターによって検出されなかったことを発見しました。 /var/log/mail.logのエントリの例を次に示します。

Jan 25 04:39:56 ***** postfix/smtpd[23828]: warning: 114-32-231-17.HINET-IP.hinet.net[114.32.231.17]: SASL LOGIN authentication failed: authentication failure

これがfail2banの(変更されていない)saslフィルター定義です:

# Fail2Ban configuration file
#
# Author: Yaroslav Halchenko
#
# $Revision: 728 $
#

[Definition]

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
#          Host must be matched by a group named "Host". The tag "<Host>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<Host>[\w\-.^_]+)
# Values: TEXT
#
failregex = (?i): warning: [-._\w]+\[<Host>\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [A-Za-z0-9+/]*={0,2})?$

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

誰かがこのレコードもキャッチしたであろう正規表現の改善を推奨できますか?

3
AJ.

別のfailregexを定義する

(?i): warning: [-._\w]+\[<Host>\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(:.*)$

この正規表現をfail2ban-regexでテストし、機能しています。

6
Sacx