Gmail oznaczający e-mail Dovecot jako niepewny

10

Myślałem, że udało mi się zabezpieczyć mój serwer pocztowy Postfix / Dovecot. Mam podpisany certyfikat z LetsEncrypt, który jest ważny dla mojej domeny.

Wysyłanie i odbieranie działa dobrze, ale ponieważ Gmail zaczął oznaczać niepewne wiadomości e-mail, cała poczta wysyłana z mojego serwera jest oznaczana jako niezaszyfrowana.

Użytkownicy Gmaila widzą „Ta wiadomość nie była zaszyfrowana”, na przykład:

wprowadź opis zdjęcia tutaj

W Postfix main.cf, między innymi, mam:

# 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

W Postfix master.cf, między innymi, mam:

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

W Dovecot 10-ssl.conf, między innymi, mam:

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

Czy Gmail fałszywie oflaguje certyfikaty LetsEncrypt, ponieważ im nie ufa, czy też mój e-mail naprawdę jest wysyłany niezaszyfrowany?

gavanon
źródło
1
Proszę opublikować Postfix main.cf. Nie umieściłeś we wszystkich fragmentach wszystkiego, co istotne.
Michael Hampton
@MichaelHampton - pewna rzecz. Dodałem całą niestandardową zawartość mojego pliku main.cf. Wyklucza ona jedynie podstawowe rzeczy, jak smtpd_banner, myhostnameitp
gavanon

Odpowiedzi:

11

Rozwiązałem to, dodając obie te linie do Postfixa main.cf:

smtp_tls_security_level = may
smtpd_tls_security_level = may

(Ustawiłem tylko z smtpd_tls_security_levelpowodu wprowadzającego w błąd artykułu, w którym napisano, że wszystkie smtp_wartości zostały zamienione na korzyść smtpd_.)

gavanon
źródło
7

Twój e-mail jest wysyłany niezaszyfrowany. Jeśli chcesz po prostu spróbować, dodaj następujący kod do pliku main.cf

smtp_tls_security_level = may

Aby wymusić szyfrowanie TLS dla wiadomości e-mail wysyłanych do Google, dodaj to do pliku main.cf

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

zamień / etc / postfix / rootcas / na lokalizację zaufanych głównych urzędów certyfikacji i w pliku / etc / postfix / tls_policy dodaj

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

wymusi to wysłanie wiadomości e-mail na adres gmail.com., google.com i googlemail.com zostaną wysłane w postaci zaszyfrowanej i uwierzytelniającej serwer SMTP

Jeśli nie chcesz się uwierzytelniać i po prostu szyfrować (jest to konieczne w przypadku witryn z fałszywymi certyfikatami) użyj

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

przed ponownym uruchomieniem postfiksa wykonaj

postmap /etc/postfix/tls_policy
Jofre
źródło
Dzięki za to. Naprawdę próbuję wymusić TLS, gdy tylko jest to możliwe, do wszystkich miejsc docelowych i bezpiecznie wrócić do niezaszyfrowanego tylko w ostateczności, jeśli miejsce docelowe nie obsługuje tego. Czy jest to możliwe bez utrzymywanych list określonych domen? Jak wymuszenie TLS?
gavanon
Problem polega na tym, że istnieje wiele serwerów, które nie obsługują TLS, a inne obsługują go i używają samopodpisanych lub fałszywych certyfikatów. Ponieważ STARTLS jest wysyłany zwykłym tekstem, aktywny napastnik może go rozebrać podczas transportu. Zgadzam się, że utrzymanie osobnego długiego stołu jest najbezpieczniejszym, ale nie najbardziej niezawodnym rozwiązaniem
Jofre
Dzięki - część pierwsza odpowiedź była pomocna: smtp_tls_security_level = may. To wszystko, co było wymagane, a reszta ustawień specyficznych dla Google nie była konieczna.
gavanon
5

Rozważ relację klient / serwer w odniesieniu do SMTP, a ustawienia mają sens:

2.1 Podstawowa struktura

Projekt SMTP można przedstawić jako:

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

(Src: rfc5321.txt)

A zatem:

„smtp_tls_security_level” dotyczy klienta SMTP Postfix. Zobacz: http://www.postfix.org/postconf.5.html#smtp_tls_security_level

„smtp d _tls_security_level” dotyczy serwera SMTP Postfix Patrz: http://www.postfix.org/postconf.5.html#smtpd_tls_security_level

Gdy postfix przenosi pocztę do Gmaila, ustawienie smtp_tls_security_level jest ustawieniem powiązanym.

Gdy postfix odbiera pocztę przez smtp, odpowiednie jest ustawienie smtp d _tls_security_level .

użytkownik885983
źródło