Gmail contrassegna l'e-mail Dovecot come non sicura


9

Pensavo di aver protetto con successo il mio server di posta Postfix / Dovecot. Ho un certificato firmato da LetsEncrypt, che è valido per il mio dominio.

L'invio e la ricezione funzionano correttamente, ma da quando Gmail ha iniziato a contrassegnare le email non sicure, tutta la posta inviata dal mio server viene contrassegnata come non crittografata.

Gli utenti di Gmail visualizzano "Questo messaggio non è stato crittografato", in questo modo:

inserisci qui la descrizione dell'immagine

In Postfix main.cf, tra le altre impostazioni, ho:

# 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 master.cf, tra le altre impostazioni, ho:

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 10-ssl.conf, tra le altre impostazioni, ho:

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 sta falsificando falsamente i certificati LetsEncrypt perché non li considera attendibili o la mia e-mail viene davvero inviata non crittografata?


1
Si prega di inviare il Postfix main.cf. Non hai incluso tutto ciò che è rilevante nei tuoi snippet.
Michael Hampton,

@MichaelHampton - cosa certa. Ho aggiunto tutto il contenuto personalizzato del mio main.cf. E 'solo esclude cose di base come smtpd_banner, myhostnamee così via
Gavanon

Risposte:


10

Ho risolto questo aggiungendo entrambe queste righe a Postfix main.cf:

smtp_tls_security_level = may
smtpd_tls_security_level = may

(Avevo impostato solo a smtpd_tls_security_levelcausa di un articolo fuorviante in cui si diceva che tutti i smtp_valori erano stati ammortizzati a favore smtpd_.)


6

La tua e-mail viene inviata non crittografata. Se vuoi solo fare del tuo meglio aggiungi quanto segue al tuo main.cf

smtp_tls_security_level = may

Per applicare la crittografia TLS per l'e-mail inviata a Google, aggiungila al tuo main.cf

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

sostituire / etc / postfix / rootcas / con l'ubicazione delle autorità di certificazione principali attendibili e nel file / etc / postfix / tls_policy add

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

questo imporrà che le e-mail inviate a gmail.com., google.com e googlemail.com vengano inviate crittografate e autenticando il server SMTP

Se non si desidera eseguire l'autenticazione e crittografare (questo è necessario per i siti con certificati fasulli), utilizzare

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

prima di riavviare postfix eseguire

postmap /etc/postfix/tls_policy

Grazie per questo. Quello che sto davvero cercando di fare è forzare TLS ogni volta che è possibile verso tutte le destinazioni e tornare in sicurezza a non crittografato solo come ultima risorsa se la destinazione non lo supporta. È possibile senza elenchi gestiti di domini specifici? Come una forzatura generale di TLS?
Gavanon,

Il problema è che ci sono molti server che non supportano TLS e altri che lo supportano e utilizzano certificati autofirmati o fasulli. Inoltre, quando STARTLS viene inviato in chiaro, un utente malintenzionato attivo può rimuoverlo durante il trasporto. Concordo sul fatto che tenere un tavolo lungo separato sia la soluzione più sicura ma non la più affidabile
Jofre,


Grazie - la prima parte della vostra risposta è stata utile: smtp_tls_security_level = may. Era tutto ciò che era richiesto e il resto delle impostazioni specifiche di Google non erano necessarie.
Gavanon,

5

Considerare la relazione client / server per quanto riguarda SMTP e le impostazioni hanno senso:

2.1. Struttura basilare

Il design SMTP può essere rappresentato come:

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

(Src: rfc5321.txt)

Così:

"smtp_tls_security_level" è per il client SMTP Postfix. Vedi: http://www.postfix.org/postconf.5.html#smtp_tls_security_level

"smtp d _tls_security_level" è per il server SMTP Postfix Vedere: http://www.postfix.org/postconf.5.html#smtpd_tls_security_level

Quando postfix trasferisce la posta su Gmail, l' impostazione smtp_tls_security_level è l'impostazione associata.

Quando postfix riceve posta su smtp, l' impostazione smtp d _tls_security_level è rilevante.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.