如何设置 TLS 以与 Postfix 邮件服务器配合使用

如何设置 TLS 以与 Postfix 邮件服务器配合使用

我的任务是为一家国际办事处的 Postfix 电子邮件中继服务器实施 TLS。

我知道我需要修改“/etc/postfix/main.cf”来设置 TLS。我们在美国还有另一个使用 TLS 设置的电子邮件中继服务器,其 TLS 配置如下:

# TLS parameters 'mail.company-name.com'
smtpd_tls_cert_file=/etc/ssl/certs/company-name.com.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.com.key
smtpd_use_tls=yes
smtp_tls_loglevel=5
smtpd_tls_security_level=may
smtp_tls_note_starttls_offer=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

我可以在我的国际办公室的 Postfix 服务器上实现此配置,因此我只是想知道我剩下要做的就是为“mail.company-name.in”生成一个证书,类似于以下几行中引用的证书:

smtpd_tls_cert_file=/etc/ssl/certs/company-name.com.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.com.key

新的配置如下:

# TLS parameters 'mail.company-name.in'
smtpd_tls_cert_file=/etc/ssl/certs/company-name.in.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.in.key
smtpd_use_tls=yes
smtp_tls_loglevel=5
smtpd_tls_security_level=may
smtp_tls_note_starttls_offer=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

我还遗漏了您可能注意到的任何其他内容吗?任何建议都将不胜感激。

如果您有任何疑问,请告诉我,我会很乐意为您解答。

感谢您的帮助!

答案1

我在此假设您还没有为您的域名签署的证书,否则您的问题就毫无意义了。

如果您想要获得由 CA 签名的证书,您需要前往 CA 并向他们提供您的 CSR,然后您就会获得证书。选择哪个 CA 并不重要,只要您的客户端设备信任它即可。

要生成 CSR,您可以使用 openssl:

openssl req -new -newkey rsa:4096 -nodes -out company-name.com.csr -keyout company-name.com.key

您需要回答几个问题,但除了通用名称之外,其他都无关紧要。

另请参阅如何购买 SSL 证书?以及这里许多其他问题。


编辑:

smtpd_tls_cert_file=/etc/ssl/certs/company-name.com.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.com.key

这些行定义了要用于 TLS 会话的证书和密钥文件。如果您希望客户端可以验证有效性,则需要提供证书链smtpd_tls_CA文件

smtpd_use_tls=yes
smtp_tls_note_starttls_offer=yes

这可启用机会加密。即当 SMTP 客户端连接并向您的服务器发送邮件/向另一个 SMTP 服务器发送邮件时,它会宣布 STARTTLS 可用。

smtp_tls_loglevel=5

对于调试很有用。请注意文档不建议任何高于 2 的值,并且 5 根本没有定义。1是合理的。

smtpd_tls_security_level=may

启用机会性加密,但不是必需的。您可能希望将其设置encrypt为提交。

smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

需要会议门票并推荐。

你想看看 BetterCrypto.org 的指南应用加密强化,它包含 Postfix 的完整示例。

相关内容