5

Я нахожусь в процессе настройки постфиксного сервера в Arch Linux. Кажется, что пока все работает нормально - я могу успешно поговорить с ним через telnet localhost 25 . Тем не менее, когда я пытаюсь подключиться с помощью openssl s_client , он жалуется:

$ openssl s_client -connect localhost:25
CONNECTED(00000003)
140243743024808:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:766:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 228 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

и выходит со статусом 1.

Соответствующая часть /etc/postfix/main.cf:

smtpd_tls_key_file = /path/to/server.key.pem
smtpd_tls_cert_file = /path/to/server.crt.pem
smtpd_tls_CAfile = /path/to/ca.pem

smtpd_tls_security_level = may

У меня также есть ключ и сертификат в не-pem форматах, и они отлично работают с другим сервисом, который их использует (сервер xmpp).

Я нашел документацию о том, что для этого мне нужно раскомментировать строку в /etc/postfix/main.cf и использовать порт 587 вместо 25. Это дает мне то же самое из openssl s_client как и выше.

Как мне убедить postfix использовать TLS?

2 ответа2

3

Вам не нужно использовать порт 587 для tls, потому что он не зависит от протокола приложения.

Я получаю точно такой же результат, как и вы, из openssl s_client -connect localhost:25 , но на моем сервере tls работает правильно.

В настоящее время у меня нет доступа к моей личной вики, поэтому я не могу вставить правильную команду для проверки вашей конфигурации tls в вашей системе. Но вы можете использовать CheckTLS.

2

Я предлагаю вам прочитать о STARTTLS. Это сводится к следующему: запустите незашифрованное текстовое соединение и позже обновитесь до TLS. Команда openssl не использует это и хочет выполнить рукопожатие SSL/TLS напрямую.

«Общая» де-факто конфигурация для адаптеров MTA заключается в том, чтобы настроить его так, чтобы STARTTLS был доступен на порту 587, простой SSL/TLS на 465 и небезопасен с опцией STARTTLS на порту 25. Насколько я знаю, это не стандарт, а то, как это делают крупные поставщики услуг.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .