Google Mail markiert Dovecot-E-Mail als unsicher

9

Ich dachte, ich hätte meinen Postfix / Dovecot-E-Mail-Server erfolgreich gesichert. Ich habe ein signiertes Zertifikat von LetsEncrypt, das für meine Domain gültig ist.

Senden und Empfangen funktioniert einwandfrei, aber seit Google Mail unsichere E-Mails markiert, werden alle von meinem Server gesendeten E-Mails als unverschlüsselt markiert.

Google Mail-Nutzer sehen "Diese Nachricht wurde nicht verschlüsselt" wie folgt:

Geben Sie hier die Bildbeschreibung ein

In Postfix's habe main.cfich unter anderem:

# 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

In Postfix's habe master.cfich unter anderem:

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

In Dovecot's habe 10-ssl.confich unter anderem:

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

Kennzeichnet Google Mail fälschlicherweise LetsEncrypt-Zertifikate, weil es ihnen nicht vertraut, oder wird meine E-Mail wirklich unverschlüsselt gesendet?

Gavanon
quelle
1
Bitte poste den Postfix main.cf. Sie haben nicht alles Relevante in Ihre Snippets aufgenommen.
Michael Hampton
@ MichaelHampton - sicher. Ich habe den gesamten benutzerdefinierten Inhalt meiner main.cf. Es nur schließen grundlegende Dinge wie smtpd_banner, myhostnameetc.
Gavanon

Antworten:

10

Ich habe dieses Problem gelöst, indem ich beide Zeilen zu Postfix hinzugefügt habe main.cf:

smtp_tls_security_level = may
smtpd_tls_security_level = may

(Ich hatte nur smtpd_tls_security_levelwegen eines irreführenden Artikels festgelegt, dass alle smtp_Werte zugunsten von abgewertet wurden smtpd_.)

Gavanon
quelle
6

Ihre E-Mail wird unverschlüsselt gesendet. Wenn Sie nur Ihr Bestes geben möchten, fügen Sie Folgendes zu Ihrer main.cf hinzu

smtp_tls_security_level = may

Um die TLS-Verschlüsselung für an Google gesendete E-Mails zu erzwingen, fügen Sie diese Ihrer main.cf hinzu

# Force TLS for outgoing server connection
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
smtp_tls_CApath = /etc/postfix/rootcas/ 

Ersetzen Sie / etc / postfix / rootcas / durch den Speicherort Ihrer vertrauenswürdigen Stammzertifizierungsstellen und fügen Sie in der Datei / etc / postfix / tls_policy hinzu

#/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
gmail.com       secure ciphers=high
google.com      secure ciphers=high
googlemail.com  secure ciphers=high

Dadurch wird erzwungen, dass E-Mails, die an gmail.com, google.com und googlemail.com gesendet werden, verschlüsselt gesendet werden und den SMTP-Server authentifizieren

Wenn Sie sich nicht authentifizieren und nur verschlüsseln möchten (dies ist für Websites mit gefälschten Zertifikaten erforderlich), verwenden Sie

gmail.com       encrypt ciphers=high
google.com      encrypt ciphers=high
googlemail.com  encrypt ciphers=high

vor dem Neustart von Postfix ausführen

postmap /etc/postfix/tls_policy
Jofre
quelle
Danke dafür. Was ich wirklich versuche, ist, TLS nach Möglichkeit an alle Ziele zu erzwingen und nur als letzten Ausweg sicher auf unverschlüsselt zurückzugreifen, wenn das Ziel dies nicht unterstützt. Ist dies ohne gepflegte Listen bestimmter Domains möglich? Wie ein Allheilmittel gegen TLS?
Gavanon
Das Problem ist, dass es viele Server gibt, die TLS nicht unterstützen, und andere, die es unterstützen und selbstsignierte oder gefälschte Zertifikate verwenden. Auch wenn die STARTLS im Klartext gesendet werden, kann ein aktiver Angreifer sie während der Übertragung entfernen. Ich bin damit einverstanden, dass das Halten eines separaten langen Tisches die sicherste, aber nicht die zuverlässigste Lösung ist
Jofre
Ich habe auch einige Probleme mit einigen Websites. Siehe Postfix "Vertrauenswürdige TLS-Verbindung hergestellt", aber "Serverzertifikat nicht verifiziert"
Jofre
Danke - der erste Teil Ihrer Antwort war hilfreich : smtp_tls_security_level = may. Das war alles, was erforderlich war, und die restlichen Google-spezifischen Einstellungen waren nicht erforderlich.
Gavanon
5

Berücksichtigen Sie die Client / Server-Beziehung in Bezug auf SMTP und die Einstellungen sind sinnvoll:

2.1. Grundstruktur

Das SMTP-Design kann wie folgt dargestellt werden:

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

(Src: rfc5321.txt)

Somit:

"smtp_tls_security_level" steht für den Postfix SMTP-Client. Siehe: http://www.postfix.org/postconf.5.html#smtp_tls_security_level

"smtp d _tls_security_level" ist für den Postfix SMTP-Server. Siehe: http://www.postfix.org/postconf.5.html#smtpd_tls_security_level

Wenn Postfix E-Mails an Google Mail überträgt, ist die Einstellung smtp_tls_security_level die zugehörige Einstellung.

Wenn Postfix wird Empfangen von Mail über SMTP, die SMTP- d _tls_security_level setzt relevant.

user885983
quelle