您能否将 Postfix 设置为仅对来自特定域或 IP 的传入电子邮件强制执行 TLS?

您能否将 Postfix 设置为仅对来自特定域或 IP 的传入电子邮件强制执行 TLS?

我正在寻找一个 Postfix 配置选项,smtpd_enforce_tls但它允许我根据电子邮件来自哪个域有选择地强制执行 TLS。我需要允许来自除某些选定的原始域之外的所有域的非 TLS 传入电子邮件。

这可能吗?我知道选择性地对电子邮件强制实施 TLS 很简单出去来自 Postfix,但我谈论的是收到的电子邮件。

答案1

是的,你可以——只需一点工程:)

由于您说要根据发件人域强制执行 TLS,因此您可以在 smtpd_sender_restrictions 中添加 check_sender_access 限制,如下所示:

smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/enforced_tls

以及/etc/postfix/enforced_tls

@example.org   reject_plaintext_session
@example.net   reject_plaintext_session

不要忘记对文件进行 postmap,并在完成后重新加载 postfix。

答案2

/etc/postfix/enforced_tls必须采用以下格式:

example.org   reject_plaintext_session
example.net   reject_plaintext_session

參考http://www.postfix.org/access.5.html

答案3

我甚至建议采用更严格的版本,要求发送服务器提供有效证书,如下所示:

/etc/postfix/main.cf

...
smtpd_tls_ask_ccert = 是
smtpd_sender_restrictions = check_sender_access 哈希:/etc/postfix/enfoced_tls
...

/etc/postfix/enforced_tls

example.org rejection_plaintext_session,permit_tls_all_clientcerts,拒绝
例如.net rejection_plaintext_session,permit_tls_all_clientcerts,拒绝

当无法通过 中的 CA 验证连接服务器的证书时,这也应该拒绝会话smtpd_tls_CAfile,在这种情况下,CA 可以安全地包含系统默认 CA。如果我在这里弄错了,请纠正我。

相关内容