web-dev-qa-db-ja.com

fail2ban postfix-saslの出力はどのように見えるべきですか

Fail2banが失敗したpostfix SASLログイン試行を適切に禁止していることを確認したいと思います。

私がする時 iptables -L SSHDの禁止されたホストのリストを表示できますが、SASLの禁止されたホストを表示する方法がわかりません。

postfix SASLが有効になっていて、次のように確認できます。

fail2ban-client status
Status
|- Number of jail:  4
`- Jail list:   dovecot, postfix, postfix-sasl, sshd

そして、私はmail.logから、失敗したログイン試行があることを確認できます、例えば:

Aug 31 22:23:49 Host2 postfix/smtpd[35397]: warning: hostname systemip3.example.com does not resolve to address 91.200.12.100
Aug 31 22:23:49 Host2 postfix/smtpd[35397]: connect from unknown[91.200.12.100]
Aug 31 22:23:52 Host2 postfix/smtpd[35397]: warning: unknown[91.200.12.100]: SASL LOGIN authentication failed: authentication failure
Aug 31 22:23:52 Host2 postfix/smtpd[35397]: lost connection after AUTH from unknown[91.200.12.100]
Aug 31 22:23:52 Host2 postfix/smtpd[35397]: disconnect from unknown[91.200.12.100] ehlo=1 auth=0/1 commands=1/2
2

私自身の質問に対する答えを見つけたようです、どうやらfail2ban-client statusは、その特定の禁止のフ​​ィルター規則がない場合でも、サービスが有効であると表示します。

解決策は/ etc/fail2ban/filter.d/postfix-sasl.confにpostfix-sasl.confを作成することでした==以下の内容で:

# Fail2Ban filter for postfix authentication failures
#

[INCLUDES]

before = common.conf

[Definition]

_daemon = postfix/smtpd

failregex = ^%(__prefix_line)swarning: [-._\w]+\[<Host>\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [ A-Za-z0-9+/]*={0,2})?\s*$

# Author: Yaroslav Halchenko

そして設定をリロードします

fail2ban-client reload

その後、しばらくするとiptables -Lが機能し、IPが禁止されていることを確認します

Chain f2b-postfix-sasl (1 references)
target     prot opt source               destination         
REJECT     all  --  systemip8.example.com  anywhere             reject-with icmp-port-unreachable
REJECT     all  --  systemip8.example.com  anywhere             reject-with icmp-port-unreachable
REJECT     all  --  12.215.34.226        anywhere             reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere        
1