Назад | Перейти на главную страницу

Dovecot SSL - IMAP работает, SMTP не работает

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

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

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

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

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

В вашей установке 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.

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

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

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

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

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

oppenssl s_client -starttls smtp -connect mail.example.com:25