我想通过第三方服务器 (outbound.mailhop.org) 中继来自我的 MTA 的外发电子邮件,以便最终交付。我想知道如何使机器之间的安全连接“可信”。这是我当前 Postfix 配置的相关部分:
smtp_use_tls = yes
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_security_level = may
smtp_tls_loglevel = 1
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/relay
relayhost = [outbound.mailhop.org]
当我发送测试消息时,从邮件日志中我得到
Untrusted TLS connection established to outbound.mailhop.org[54.186.218.12]:25: TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)
我怎样才能使该连接“可信”?
答案1
好吧,从评论中我推断出你想要一个“受信任”的连接,即使你一开始不知道“受信任”是什么意思。好吧,简单来说,这意味着你声称你知道你在和谁说话。
您可以查看他们的证书及其证书链。您不需要询问他们,因为他们的证书是公开信息。最佳做法是建议您询问他们在连接时获得的证书是否真的是他们的证书,方法是让他们通过电话或类似方式验证指纹。有关更多详细信息,请阅读该主题。
如果其证书由公共 CA 签名,则将该根 CA 放入文件中意味着您信任所有使用该根 CA 签名的证书的人。如果这不是您想要的,并且您真的只想信任他们而不信任其他人,那么您可以使用smtp_tls_trust_anchor_file
选项。
如果您只与该中继对话,您可以/应该使用,smtp_tls_security_level=encrypt
因为它不会回退到纯文本连接,并且连接将被加密或连接将失败。
正如评论中所述,smtp_use_tls
如果使用 Postfix 2.3 及更高版本,您也应避免使用,因为该命令已被弃用。只需smtp_tls_security_level
按上述方法使用即可。