postfix
我有一个带有纯文本身份验证的服务器。
它同时接受 TLS 和非 TLS 身份验证。
我如何强制服务器拒绝所有非 TLS 查询,以便邮件用户在登录时永远不会以明文形式发送他们的用户名和密码?
为了使想法更清楚,如果[email protected]
是收件人和[email protected]
本地发件人:
我希望这个命令能够起作用(因为有这个
--tls
选项):swaks --tls --to [email protected] --from -a [email protected] -auth CRAM-MD5 --auth-user [email protected]
并且该命令失败(因为
--tls
缺少):swaks --to [email protected] --from -a [email protected] -auth CRAM-MD5 --auth-user [email protected]
答案1
因为今天又是元旦了,阅读手册即服务。
来自手动的
仅支持通过 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