Gmail, який позначає електронну пошту Dovecot як небезпечну


10

Я думав, що я успішно захистив свій сервер електронної пошти Postfix / Dovecot. У мене є підписаний сертифікат від LetsEncrypt, який дійсний для мого домену.

Надсилання та отримання працює чудово, але оскільки Gmail почав позначати незахищені електронні листи, усі листи, надіслані з мого сервера, позначені як незашифровані.

Користувачі Gmail бачать "Це повідомлення не було зашифровано", наприклад:

введіть тут опис зображення

У Postfix's 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's 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's 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, оскільки він їм не довіряє, чи мій електронний лист дійсно надсилається незашифрованим?


1
Будь ласка, опублікуйте Postfix main.cf. Ви не включили все відповідне у свої фрагменти.
Майкл Хемптон

@MichaelHampton - впевнена річ. Я додав увесь нестандартний вміст свого main.cf. Це тільки включає основні речі , як smtpd_banner, myhostnameі т.д.
Гаванон

Відповіді:


11

Я вирішив це, додавши обидва ці рядки до Postfix main.cf:

smtp_tls_security_level = may
smtpd_tls_security_level = may

(Я встановив лише smtpd_tls_security_levelчерез оманливу статтю, в якій говорилося, що всі smtp_цінності знецінилися на користь smtpd_.)


7

Ваш електронний лист надіслано незашифрованим. Якщо ви просто хочете спробувати, додайте наступне до свого main.cf

smtp_tls_security_level = may

Щоб застосувати шифрування TLS для електронної пошти, надісланої google, додайте це до свого 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

перед перезапуском виконувати постфікс

postmap /etc/postfix/tls_policy

Дякую за це Те, що я насправді намагаюся зробити, - примушувати TLS, коли це можливо, до всіх напрямків, і безпечно переходити до незашифрованих лише в крайньому випадку, якщо місце призначення не підтримує його. Чи можливо це без підтримуваних списків конкретних доменів? Як виловлювальне форсування TLS?
gavanon

Проблема полягає в тому, що існує багато серверів, які не підтримують TLS та інших, які підтримують його та використовують самопідписані або фальшиві сертифікати. Крім того, як STARTLS надсилається чітким текстом, активний зловмисник може позбавити його під час транзиту. Я згоден, що зберігання окремого довгого столу - це найбезпечніше, але не найнадійніше рішення
Jofre


Спасибі - перша частина вашої відповіді було корисно: smtp_tls_security_level = may. Це було все, що потрібно, а решта налаштувань Google не були потрібні.
gavanon

5

Розглянемо відносини клієнт / сервер щодо SMTP та налаштувань має сенс:

2.1. Основна структура

Дизайн SMTP можна зобразити як:

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

(Src: rfc5321.txt)

Таким чином:

"smtp_tls_security_level" призначений для SMTP-клієнта Postfix. Дивіться: http://www.postfix.org/postconf.5.html#smtp_tls_security_level

"smtp d _tls_security_level" призначений для SMTP-сервера Postfix Див.: http://www.postfix.org/postconf.5.html#smtpd_tls_security_level

Коли postfix переносить пошту на gmail, налаштування smtp_tls_security_level є відповідним параметром.

Коли postfix отримує пошту через smtp, налаштування smtp d _tls_security_level має значення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.