如何检测Fail2Ban中的SMTP AUTH尝试?

我有一个Fail2Ban监狱,监视失败的SASLauthentication到我的Postfix SMTP服务器。 发生这种情况时,/ /var/log/mail.log包含以下三行:

 postfix/smtpd[32591]: connect from unknown[xxxx] postfix/smtpd[32591]: warning: unknown[xxxx]: SASL LOGIN authentication failed: authentication failure postfix/smtpd[32591]: disconnect from unknown[xxxx] 

Fail2Ban过滤警告线:如果发现,IP被视为禁止。

最近,我改变了Postfix,使得AUTH仅通过TLS可用(使用选项smtpd_tls_auth_only )。 其结果是,当有人尝试不使用TLS进行身份validation时,警告行不再生成:

 postfix/smtpd[22469]: connect from unknown[xxxx] postfix/smtpd[22469]: disconnect from unknown[xxxx] 

这意味着Fail2Ban不能够监视所有的SASLauthentication尝试了。 我怎样才能做到这一点?

我提出的一个解决scheme是使SMTP更加详细(在/etc/postfix/master.cf追加-vsmtpd )并parsing相应的行,但是我的问题是-v选项使得日志过于冗长:

 postfix/smtpd[23185]: connect from unknown[xxxx] postfix/smtpd[23185]: match_list_match: xxxx: no match postfix/smtpd[23185]: match_list_match: xxxx: no match postfix/smtpd[23185]: match_hostaddr: xxxx ~? 127.0.0.0/8 postfix/smtpd[23185]: match_hostaddr: xxxx ~? [::ffff:127.0.0.0]/104 postfix/smtpd[23185]: match_hostaddr: xxxx ~? [::1]/128 postfix/smtpd[23185]: match_list_match: xxxx: no match postfix/smtpd[23185]: send attr ident = smtp:xxxx postfix/smtpd[23185]: > unknown[xxxx]: 220 example.org ESMTP Postfix (Debian/GNU) postfix/smtpd[23185]: < unknown[xxxx]: EHLO User postfix/smtpd[23185]: match_list_match: xxxx: no match postfix/smtpd[23185]: > unknown[xxxx]: 250-example.org postfix/smtpd[23185]: > unknown[xxxx]: 250-PIPELINING postfix/smtpd[23185]: > unknown[xxxx]: 250-SIZE 10240000 postfix/smtpd[23185]: > unknown[xxxx]: 250-VRFY postfix/smtpd[23185]: > unknown[xxxx]: 250-ETRN postfix/smtpd[23185]: > unknown[xxxx]: 250-STARTTLS postfix/smtpd[23185]: > unknown[xxxx]: 250-ENHANCEDSTATUSCODES postfix/smtpd[23185]: > unknown[xxxx]: 250-8BITMIME postfix/smtpd[23185]: > unknown[xxxx]: 250 DSN postfix/smtpd[23185]: < unknown[xxxx]: RSET postfix/smtpd[23185]: > unknown[xxxx]: 250 2.0.0 Ok postfix/smtpd[23185]: < unknown[xxxx]: AUTH LOGIN postfix/smtpd[23185]: > unknown[xxxx]: 503 5.5.1 Error: authentication not enabled postfix/smtpd[23185]: < unknown[xxxx]: QUIT postfix/smtpd[23185]: > unknown[xxxx]: 221 2.0.0 Bye postfix/smtpd[23185]: match_hostaddr: xxxx ~? 127.0.0.0/8 postfix/smtpd[23185]: match_hostaddr: xxxx ~? [::ffff:127.0.0.0]/104 postfix/smtpd[23185]: match_hostaddr: xxxx ~? [::1]/128 postfix/smtpd[23185]: match_list_match: xxxx: no match postfix/smtpd[23185]: send attr ident = smtp:xxxx postfix/smtpd[23185]: disconnect from unknown[xxxx] 

先验,我只需要过滤authentication not enabled行。 是否有可能使SMTP服务报告身份validation请求而不添加整个详细消息? 理想情况下,我的mail.log文件只包含:

 postfix/smtpd[32591]: connect from unknown[xxxx] postfix/smtpd[32591]: warning: unknown[xxxx]: authentication not enabled postfix/smtpd[32591]: disconnect from unknown[xxxx] 

这是可能的吗? 如果是的话,怎么样? 谢谢,