Рейтинг:1

Не могу настроить шифрование SMTP - postfix

флаг cl

У меня есть docker-mailserver и Roundcube в контейнерах, кроме того есть база данных MySQL для почтовых данных и паролей пользователей. Dovecot внутри настроен для проверки входа в систему паролей пользователей с базой данных. Вчера я настроил IMAP, и он работает правильно. Также Roundcube работает без проблем. Теперь я столкнулся с проблемой настройки безопасного соединения для SMTP. Даже если есть настройка «требовать» и аналогичная «всегда использовать STARTTLS», у меня нет возможности отправлять электронные письма с безопасным соединением. Простые (небезопасные) соединения работают нормально.

Мой postfix-main.cf файл:

smtpd_use_tls = да
smtpd_tls_cert_file = /etc/dovecot/fullchain.pem
smtpd_tls_key_file = /etc/dovecot/privkey.pem

smtpd_tls_eecdh_grade = сильный
smtpd_tls_protocols= !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_mandatory_protocols= !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_mandatory_ciphers = высокий
smtpd_tls_security_level=может
smtpd_tls_ciphers = высокий
tls_preempt_cipherlist = да
smtpd_tls_mandatory_exclude_ciphers = NULL, MD5, DES, ADH, RC4, PSD, SRP, 3DES, eNULL
smtpd_tls_exclude_ciphers = NULL, MD5, DES, ADH, RC4, PSD, SRP, 3DES, eNULL
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1

# smtpd_tls_auth_only = да

# smtp_use_tls = да

# smtp_enforce_tls = да
# smtpd_enforce_tls = да

Если я раскомментирую последние 4 строки, у меня возникнут проблемы с отправкой электронной почты через Roundcube (SMTP-сервер ожидает безопасное соединение, но на сервере оно не настроено на стороне Roundcube). А также нет возможности защитить SMTP-связь с моим домашним Thunderbird. ТБ с незащищенным соединением работает нормально.

Я видел документацию здесь:

http://www.postfix.org/SASL_README.html

но это мало помогает.

Какова правильная конфигурация, необходимая для работы postfix/dovecot с STARTTLS?

РЕДАКТИРОВАТЬ:

Конфигурация: https://pastie.io/hxcfkw.ini

Что я получаю при подключении:

# телнет локальный хост 587
Пытаюсь 127.0.0.1...
Подключен к localhost.localdomain.
Экранирующий символ '^]'.
220 mail.correct_domain.com ESMTP
ЭХЛО test.com
250-mail.correct_domain.com
250-ТРУБОПРОВОД
250-РАЗМЕР 10240000
250-ЭТРН
250-AUTH ОБЫЧНЫЙ ВХОД
250-AUTH=ОБЫЧНЫЙ ВХОД
250 РАСШИРЕННЫХ КОДОВ СОСТОЯНИЯ
250-8БИТИМИМ
250-ДСН
250 РАЗБИВКА
^]
телнет> выйти
Соединение закрыто.

Похоже, что сервер не предлагает никакой безопасности.

РЕДАКТИРОВАТЬ2:

Я видел эту ссылку:

Принудительное шифрование исходящего SMTP с помощью Postfix

Но ничего оттуда мне не помогает. ТБ постоянно отключается от STARTTLS на почтовом сервере.

Paul avatar
флаг cn
Действительно, лучше всего прочитать всю статью: [Поддержка Postfix TLS] (http://www.postfix.org/TLS_README.html). Вы должны опубликовать весь вывод `postconf -n`, и можно анонимизировать такие вещи, как IP-адреса в вашем сообщении. Короткий ответ: добавьте `smtp_tls_security_level = may` и посмотрите, исправит ли это.
pbies avatar
флаг cl
Этот вариант не решил проблему. Я отредактировал вопрос, добавив пасту конфигурации.
pbies avatar
флаг cl
@ Пол есть идеи?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.