我的任务是为一家国际办事处的 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 的完整示例。