我运行一个小stream量的Exim邮件服务器。 偶尔我会得到非法的admin@DOMAIN等login尝试,这是535 Incorrect authentication data 。
我想推迟在SMTP会话中的authentication的答案,以便对手被困等待一段时间,直到尝试最终被拒绝。
Exim有非常有用的delay = TIME选项,但它似乎只适用于访问控制列表。 据我了解,在ACL运行的时候,身份validation已经被协商(有一个accept authenticated = *条件,其身份validation必须已经发生)。
我特别想推迟SMTP PLAIN身份validation尝试失败的答案。 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*variables处理。
有关进一步阅读,请参阅Exim规范的第43章 。