强制 Postfix 要求身份验证

强制 Postfix 要求身份验证

如果我尝试 telnet 一个流行的 SMTP 服务器,我会收到以下消息:

telnet smtp.mail.yahoo.it 25
Trying <ip>...
Connected to <smtp banner>.
Escape character is '^]'.
220 <smtp host> ESMTP ready
EHLO example.host
250-<smtp host>
250-PIPELINING
250-SIZE 41697280
250-8 BITMIME
250 STARTTLS
MAIL FROM: <[email protected]>
530 5.7.1 Authentication required

现在,如果我尝试使用自己的服务器 (Postfix),则 MAIL FROM 命令后不会要求我进行身份验证。我如何才能获得该配置?

附言:这与拒绝连接无关,我已经尝试过诸如 permit_sasl_authenticated 之类的方法......

谢谢你!

答案1

为了实现类似的行为,即仅在 TLS 后提供 AUTH,您可能需要smtpd_tls_auth_only = yes在 postfix 的main.conf文件中添加:

仅支持通过 TLS 进行 AUTH

通过未加密的通道发送 AUTH 数据会带来安全风险。当需要 TLS 层加密 ( smtpd_tls_security_level = encrypt) 时,Postfix SMTP 服务器将仅在使用 STARTTLS 激活 TLS 层后才宣布并接受 AUTH。当 TLS 层加密是可选的 ( smtpd_tls_security_level = may) 时,仅在 TLS 处于活动状态时提供 AUTH 可能仍然有用。为了保持与非 TLS 客户端的兼容性,默认为接受不加密的 AUTH。为了更改此行为,请设置 smtpd_tls_auth_only = yes

例子:

/etc/postfix/main.cf:
    smtpd_tls_auth_only = no

参考:http://www.postfix.org/TLS_README.html#server_tls_auth

相关内容