Smtp

如何延遲對 Exim 中失敗的 SMTP 身份驗證的答复?

  • May 14, 2017

我執行一個小流量的 Exim 郵件伺服器。有時,我確實會收到非法登錄嘗試admin@DOMAIN等,並以535 Incorrect authentication data.

我想在 SMTP 會話中延遲對該身份驗證的回答,以便攻擊者被困等待一段時間,直到嘗試最終被拒絕。

Exim 有一個非常有用的delay = TIME選項,但它似乎只適用於訪問控制列表。據我了解,在 ACL 執行時,已經協商了身份驗證(有一個accept authenticated = *條件,身份驗證必須已經發生)。

我特別想延遲對失敗的 SMTP PLAIN 身份驗證嘗試的回答。在 Exim 中可能嗎?

exim為 SMTP 會話的每個階段提供單獨的 ACL:

acl_smtp_auth       ACL for AUTH
acl_smtp_connect    ACL for start of SMTP connection
acl_smtp_data       ACL after DATA is complete
acl_smtp_data_prdr  ACL for each recipient, after DATA is complete
acl_smtp_dkim       ACL for each DKIM signer
acl_smtp_etrn       ACL for ETRN
acl_smtp_expn       ACL for EXPN
acl_smtp_helo       ACL for HELO or EHLO
acl_smtp_mail       ACL for MAIL
acl_smtp_mailauth   ACL for the AUTH parameter of MAIL
acl_smtp_mime       ACL for content-scanning MIME parts
acl_smtp_notquit    ACL for non-QUIT terminations
acl_smtp_predata    ACL at start of DATA command
acl_smtp_quit       ACL for QUIT
acl_smtp_rcpt       ACL for RCPT
acl_smtp_starttls   ACL for STARTTLS
acl_smtp_vrfy       ACL for VRFY

在每個階段都可以檢查復雜的條件並決定接受/拒絕/延遲/路由/等消息。該動作可以立即執行,也可以推遲到以後使用$acl_m*$acl_c*變數進行處理。

進一步閱讀請參閱Exim 規範的第 43 章。

引用自:https://serverfault.com/questions/847716