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:
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?
main.cf
. Nie umieściłeś we wszystkich fragmentach wszystkiego, co istotne.smtpd_banner
,myhostname
itpOdpowiedzi:
Rozwiązałem to, dodając obie te linie do Postfixa
main.cf
:(Ustawiłem tylko z
smtpd_tls_security_level
powodu wprowadzającego w błąd artykułu, w którym napisano, że wszystkiesmtp_
wartości zostały zamienione na korzyśćsmtpd_
.)źródło
Twój e-mail jest wysyłany niezaszyfrowany. Jeśli chcesz po prostu spróbować, dodaj następujący kod do pliku main.cf
Aby wymusić szyfrowanie TLS dla wiadomości e-mail wysyłanych do Google, dodaj to do pliku main.cf
zamień / etc / postfix / rootcas / na lokalizację zaufanych głównych urzędów certyfikacji i w pliku / etc / postfix / tls_policy dodaj
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
przed ponownym uruchomieniem postfiksa wykonaj
źródło
smtp_tls_security_level = may
. To wszystko, co było wymagane, a reszta ustawień specyficznych dla Google nie była konieczna.Rozważ relację klient / serwer w odniesieniu do SMTP, a ustawienia mają sens:
2.1 Podstawowa struktura
Projekt SMTP można przedstawić jako:
(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 .
źródło