Ubuntu

如何設置 TLS 以使用 Postfix 郵件伺服器

  • August 11, 2017

我的任務是在國際辦公室的 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

我是否遺漏了您可能注意到的其他任何內容?任何建議將被認真考慮。

如果您有任何問題,請告訴我,我很樂意澄清。

感謝您的幫助!

我在這裡假設您還沒有為您的域簽名的證書,否則您的問題將毫無意義。

如果你想要一個由 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_CAfile

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 的指南Applied Crypto Hardening,它包含 Postfix 的完整範例。

引用自:https://serverfault.com/questions/868191