Ubuntu

Gmail 將 Dovecot 電子郵件標記為不安全

  • June 22, 2016

我以為我成功地保護了我的 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’s10-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

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