Ubuntu
Gmail 將 Dovecot 電子郵件標記為不安全
我以為我成功地保護了我的 Postfix/Dovecot 電子郵件伺服器。我有一個來自 LetsEncrypt 的簽名證書,它對我的域有效。
發送和接收工作正常,但由於 Gmail 開始標記不安全的電子郵件,所以從我的伺服器發送的所有郵件都被標記為未加密。
Gmail 使用者看到“此郵件未加密”,如下所示:
在 Postfix 的
main.cf
其他設置中,我有:# SASL, for SMTP authentication smtpd_sasl_type = dovecot smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_path = private/auth # TLS, for encryption smtpd_tls_security_level = may smtpd_tls_auth_only = no smtpd_tls_CAfile = /etc/letsencrypt/live/mydomain.com/chain.pem smtpd_tls_cert_file = /etc/letsencrypt/live/mydomain.com/fullchain.pem smtpd_tls_key_file = /etc/letsencrypt/live/mydomain.com/privkey.pem tls_random_source = dev:/dev/urandom smtpd_client_new_tls_session_rate_limit = 10 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_tls_exclude_ciphers = EXP EDH-RSA-DES-CBC-SHA ADH-DES-CBC-SHA DES-CBC-SHA SEED-SHA smtpd_tls_dh512_param_file = ${config_directory}/certs/dh_512.pem smtpd_tls_dh1024_param_file = ${config_directory}/certs/dh_1024.pem disable_vrfy_command = yes smtpd_helo_required = yes smtpd_delay_reject = yes
在 Postfix 的
master.cf
其他設置中,我有:smtp inet n - - - - smtpd -o smtpd_enforce_tls=yes -o smtpd_use_tls=yes -o smtpd_tls_security_level=encrypt submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o broken_sasl_auth_clients=yes
在 Dovecot’s
10-ssl.conf
中,除其他設置外,我有:ssl = required ssl_ca = </etc/letsencrypt/live/mydomain.com/chain.pem ssl_cert = </etc/letsencrypt/live/mydomain.com/fullchain.pem ssl_key = </etc/letsencrypt/live/mydomain.com/privkey.pem
Gmail 是否錯誤地標記了 LetsEncrypt 證書,因為它不信任它們,或者我的電子郵件真的是在未加密的情況下發送的?
我通過將這兩行添加到 Postfix 解決了這個問題
main.cf
:smtp_tls_security_level = may smtpd_tls_security_level = may
(我之所以設置
smtpd_tls_security_level
,是因為一篇誤導性的文章說所有smtp_
的價值都貶值了smtpd_
。)
您的電子郵件未加密發送。如果您只是想盡力而為,請將以下內容添加到您的 main.cf
smtp_tls_security_level = may
要對發送到 google 的電子郵件強制執行 TLS 加密,請將其添加到您的 main.cf
# Force TLS for outgoing server connection smtp_tls_policy_maps = hash:/etc/postfix/tls_policy smtp_tls_CApath = /etc/postfix/rootcas/
將 /etc/postfix/rootcas/ 替換為您信任的根 CA 的位置,並在文件 /etc/postfix/tls_policy 添加
#/C=US/O=Equifax/OU=Equifax Secure Certificate Authority gmail.com secure ciphers=high google.com secure ciphers=high googlemail.com secure ciphers=high
這將強制發送到 gmail.com.、google.com 和 googlemail.com 的電子郵件被加密發送並驗證 SMTP 伺服器
如果您不想進行身份驗證而只是加密(這對於具有偽造證書的站點來說是必需的),請使用
gmail.com encrypt ciphers=high google.com encrypt ciphers=high googlemail.com encrypt ciphers=high
在重新啟動後綴執行之前
postmap /etc/postfix/tls_policy