Dovecot SSL - IMAP работает, Ошибка SMTP

Я настраиваю небольшой почтовый сервер с помощью postfix + dovecot. При запуске oppenssl s_client -connect mail.myserver.com:993 (IMAP) отображается сертификат сервера, и я могу заставить почтовый клиент подключиться нормально.

Однако при изменении порт на 25 (SMTP), я получаю сообщение об ошибке Подпрограммы SSL: ssl3_get_record: неправильный номер версии , и сертификат не возвращается.

Из моего исследования кажется, что протоколы и шифры разрешены в файле 10-ssl.conf Может быть проблема, но я пробовал так много комбинаций, но все равно получаю ту же ошибку. Вот какие они сейчас:

ssl_protocols = TLSv1.2 TLSv1.1 TLSv1 !SSLv3 !SSLv2
ssl_cipher_list = HIGH:!SSLv2:!SSLv3:!TLSv1.0:!aNULL:!MD5

Как я могу заставить сервер возвращать сертификат на порт SMTP?

0
задан 15 August 2018 в 12:46
3 ответа

В вашей установке Postfix + Dovecot есть два разных серверных программного обеспечения, выполняющих разные роли:

  • Dovecot в вашей конфигурации - это почтовый сервер хранения , отвечающий за IMAP. Кроме того, Dovecot обеспечивает аутентификацию SASL для Postfix. Файл конфигурации /etc/dovecot/conf.d/10-ssl.conf предназначен только для Dovecot, и поэтому он влияет только на IMAP с STARTTLS на порту 143 и IMAPS на порту 993. .

  • Postfix - это агент доставки почты (MTA), отвечающий за SMTP, будь то для других MTA на TCP-порту 25, за отправку сообщений с STARTTLS на порт 587 или SMTPS на порт 465. Основные файлы конфигурации для Postfix - это main.cf и master.cf в / etc / postfix / .

] Вы можете протестировать IMAPS 993 и SMTPS 465 , используя oppenssl s_client -connect mail.example.com:465. Для тестирования STARTTLS на портах SMTP 25 и 587 и порте IMAP 143 вам необходимо использовать:

openssl s_client -starttls smtp -connect mail.example.com:25
openssl s_client -starttls smtp -connect mail.example.com:587
openssl s_client -starttls imap -connect mail.example.com:143

Есть также несколько веб-сайтов и инструменты для тестирования, обсуждаемые в вопросе Security Stack Exchange . Для настройки TLS в Postfix см. Поддержка Postfix TLS . В документации Postfix и Dovecot SASL также есть пример для настройки отправки . Кроме того, вам необходимо добавить параметры TLS в ваш main.cf .

3
ответ дан 4 December 2019 в 11:05

Порт 25 по умолчанию не использует SSL. Клиент должен выполнить команду STARTTLS , чтобы начать переговоры с сервером о криптографии. В противоположном случае IMAPS на порту 993 начинает согласование SSL сразу при подключении.Вам необходимо настроить и попробовать SMTPS на порту 465, который действует точно так же, как IMAPS на порту 993.

3
ответ дан 4 December 2019 в 11:05

Для тестирования служб, таких как SMTP, которые запускают как протокол открытого текста, так и версию этого протокола с шифрованием TLS на одном и том же TCP-порту , вам необходимо указать openssl на согласование обновления протокола TLS с помощью STARTTLS и переключателя -starttls protocol .

В зависимости от версии openssl s_client поддерживает ряд различных протоколов:

- Протокол starttls
отправляет зависящее от протокола сообщение (я) для переключения на TLS для связи. протокол - ключевое слово для предполагаемого протокола. В настоящее время,единственные поддерживаемые ключевые слова: "smtp", "pop3", "imap", «ftp», «xmpp», «xmpp-server», «irc», «postgres», «lmtp», «nntp», «sieve» и «ldap».

Поэтому проверьте свой почтовый сервер Postfix с помощью:

oppenssl s_client -starttls smtp -connect mail.example.com:25
2
ответ дан 4 December 2019 в 11:05

Теги

Похожие вопросы