web-dev-qa-db-ja.com

GmailがDovecotメールに安全でないフラグを付ける

Postfix/Dovecot電子メールサーバーを無事に保護できたと思いました。 LetsEncryptからの署名済み証明書を持っています。これは私のドメインで有効です。

送受信は正常に機能しますが、Gmailが安全でないメールにフラグを付け始めたため、サーバーから送信されたすべてのメールに暗号化されていないフラグが付けられます。

Gmailユーザーには、次のように「このメッセージは暗号化されていません」と表示されます。

enter image description here

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の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証明書を信頼していないため、誤ってフラグを立てていますか、それとも私のメールは暗号化されずに送信されていますか?

9
gavanon

私はこれらの両方の行をPostfixのmain.cfに追加することでこれを解決しました:

smtp_tls_security_level = may
smtpd_tls_security_level = may

smtpd_tls_security_levelを優先してすべてのsmtp_の値を切り下げたという誤解を招く記事のため、私はsmtpd_のみを設定しました。)

10
gavanon

メールは暗号化されずに送信されます。最善を尽くしたい場合は、以下を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

postfixを再起動する前に実行

postmap /etc/postfix/tls_policy
6
Jofre

SMTPに関するクライアントとサーバーの関係を考慮してください。設定には意味があります。

2.1。基本構造

SMTPの設計は次のように表すことができます。

              +----------+                +----------+
  +------+    |          |                |          |
  | User |<-->|          |      SMTP      |          |
  +------+    |  Client- |Commands/Replies| Server-  |
  +------+    |   SMTP   |<-------------->|    SMTP  |    +------+
  | File |<-->|          |    and Mail    |          |<-->| File |
  |System|    |          |                |          |    |System|
  +------+    +----------+                +----------+    +------+
               SMTP client                SMTP server

(ソース:rfc5321.txt)

したがって:

"smtp_tls_security_level"はPostfix SMTPクライアント用です。参照: http://www.postfix.org/postconf.5.html#smtp_tls_security_level

"smtpd_ tls_security_level"はPostfix SMTPサーバー用です参照: http://www.postfix.org/postconf.5.html #smtpd_tls_security_level

PostfixがメールをGmailに転送している場合、smtp_tls_security_level設定が関連付けられた設定です。

Postfixがsmtpを介してメールを受信する場合、smtpd_ tls_security_level設定が適切です。

5
user885983