有人知道如何告诉 Postfix 加密发送的邮件吗?
我已将其配置为在接收时使用加密,但无法对外发邮件进行加密。这是我的main.cf
文件:
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
transport_maps = hash:/etc/postfix/transport
# tls config
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
答案1
smtp_tls_security_level = 加密或者smtp_enforce_tls=yes
对于特定目的地,您可以使用smtp_tls_policy_maps
smtp_use_tls = 是和smtp_enforce_tls=yes已弃用。对于 Postfix 2.3 及更高版本,使用smtp_tls_security_level反而。
请记住:强制实施 TLS 加密可能会导致未配置 TLS 的 SMTP 主机出现邮件传递问题。如果服务器仅用于向配置了 TLS 的内部服务器传递邮件,则在这种情况下不会出现问题。但如果服务器用于向公共服务器传递邮件,则不能假设所有服务器都支持 TLS。在这种情况下,请使用 smtp_tls_security_level = 可能
答案2
这个想法是强迫用户使用加密的外发 smtp 服务器配置他们的电子邮件客户端。在当前配置下,Thunderbird 让他们可以选择以纯文本形式与 smtp 服务器通信...
如果不重新编译源代码,您无法在 Thunderbird 中禁用该选项,但您可以配置 postfix stmpd 守护程序(从您的客户端接收邮件)以强制加密。为此,请使用smtpd_tls_security_level=加密,相当于过时的选项smtpd_use_tls=yes和smtp_enforce_tls=yes。smtpd_tls_security_level=加密和smtp_enforce_tls=yes暗示smtpd_tls_auth_only=是
来自 postfix 文档smtpd_tls_security_level=加密
强制 TLS 加密:向 SMTP 客户端宣布支持 STARTTLS,并要求客户端使用 TLS 加密。根据RFC 2487如果是公共引用的 SMTP 服务器,则不得应用此选项。相反,此选项应仅用于专用服务器。
如果您使用公共服务器,则无法在端口 25/tcp 上强制实施电子邮件加密。更好的解决方案是禁用 postfix smtpd 守护程序在客户端端口 25/tcp 上的邮件传递,并启用 postfix 提交守护程序(这是特殊的 postfix smtpd 守护程序,仅用于从本地客户端接收邮件,如中所述RFC 4409在端口 587/tcp 上运行)。为此,请设置smtpd_tls_security_level=可能并permit_sasl_authenticated
移除smtpd_recipient_restrictions.master.cf
取消注释提交守护进程的行:
submission inet n - n - - submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_recipient_resrictions=permit_sasl_authenticated,reject
答案3
只是好奇,你怎么知道它没有使用 TLS? smtp_tls_loglevel 的默认值(与 smtpd_tls_loglevel 不同)为 0,因此默认情况下,您不会在 Postfix 的日志中看到有关出站邮件的 TLS 协商的任何内容。
如果您设置 smtp_tls_loglevel = 1 或更高,则发送消息时您应该在日志中看到如下一行:
3 月 7 日 22:28:10 rack postfix/smtp[27400]: 初始化客户端 TLS 引擎
我承认我很懒,但除此之外(以及上面 MS 的注释),乍一看这个配置对我来说还不错。