Попытка использовать TLS SMTP против Exim, получив ошибку безопасности; что не так?

ОС: FreeBSD9 64 бит

MTA: EXIM4 с TLS с самоподписанным сертификатом.

я использую

 telnet myserver.com 25 
 EHLO dummy@dummy.com
 STARTTLS

В нем говорится:

 TLS идут вперед

И затем я выпускаю

  MSG FROM: me@me.com 

В нем говорится:

  Ошибка безопасности 554 

Сначала он говорит, что tls в порядке, а затем производит ошибку !!!!!

Может кто-то выяснить, в чем проблема. И / Или предоставить необходимое решение.

Если требуется дополнительная информация, пожалуйста, дайте мне знать

Я тестировал свои tls здесь https://www.wormly.com/test_smtp_server , он произвел:

 Разрешение имени хоста ...
 Подключение ...
 SMTP -> FROM SERVER:
 SMTP -> FROM SERVER: 
 SMTP -> ОШИБКА: EHLO не принимается с сервера: 
 SMTP -> FROM SERVER: 
 SMTP -> ОШИБКА: HELO не принимается с сервера: 
 Не удалось отправить сообщение.

2 Solutions collect form web for “Попытка использовать TLS SMTP против Exim, получив ошибку безопасности; что не так?”

Это потому, что ответ на STARTTLS просто указывает, что вы должны идти вперед и вести переговоры TLS; это не означает, что ссылка теперь покрывается TLS. Согласование TLS – это процесс двух систем, связанных с согласованием ключей, обменом сертификатами и т. Д., Все это во имя создания надежного, зашифрованного канала между двумя системами.

Цитирование RFC 2487 (расширение службы SMTP для безопасного SMTP через TLS), раздел 5 The STARTTLS Command :

 After receiving a 220 response to a STARTTLS command, the client SHOULD start the TLS negotiation before giving any other SMTP commands. 

Также см. Раздел 6 « Usage Example в том же RFC. Обратите внимание, что это специально ускоряет процесс согласования TLS.

Когда сервер ожидает, что вы начнете переговоры с TLS, и вместо этого вы получите команду SMTP (или даже не SMTP), которая, скорее всего, будет ошибкой. Я не знаком с внутренними процессами согласования TLS, но вероятность того, что MSG FROM: или MAIL FROM: формирует действительные строфы начала переговоров TLS, показалась бы мне невероятно крошечной. SMTP-сервер в этом случае полностью отвечает за свои права отказаться от неудачной попытки согласования TLS; следовательно, полученную вами ошибку.

В дополнение к этому , есть две проблемы с вашим MSG FROM: me@me.com сразу после STARTTLS :

  1. В SMTP нет команды MSG FROM . Правильный синтаксис: MAIL FROM:<me@me.com>
  2. Сессия SMTP сбрасывается в исходное состояние, когда завершается согласование TLS (см. RFC 2487, раздел 5.2), поэтому вы должны перезапустить, сначала предоставив EHLO или, возможно, HELO

Если вы хотите подключиться к SMTP-серверу, для которого требуется STARTTLS, вы можете использовать клиент SSL / TLS OpenSSL для этой цели, а не telnet. Это будет что-то вроде строк openssl s_client -starttls smtp -crlf -connect smtp.example.com:587 для SMTP STARTTLS. Как только соединение будет установлено, вы можете просто использовать настроенное SMTP-соединение, затем правильно настроенное соединение (начало в EHLO ).

Вам нужно отправить сигнал ALRM после того, как TLS go ahead ,

 killall -ALRM gnutls-cli 

Вы можете сделать это через другой терминал или нажав Crtl-Z чтобы выполнить фоновый текущий процесс, выполнив команду killall , а затем набрав fg чтобы вернуться к сеансу SMTP .

  • Невозможно отключить доступ не SNI к серверу SSL по умолчанию
  • FreeBSD-11 Mate настольный файловый браузер не может подключиться к https webdav url
  • SSLSNIFF на CentOS 7
  • Разрешение запрещено для файла cacerts - SSL
  • VSFTPD вырезанные загрузки
  • stunnel Нет сертификата, возвращенного неизвестным CA
  • ssldump: PCAP: синтаксическая ошибка
  • Включение HTTPS для bi-сервера pentaho - Tomcat
  • Несколько сертификатов сервера RSA не разрешены
  • Каковы недостатки использования policy_any в openssl.cnf?
  • Создание подписанного подчиненного ЦС для клиентских сертификатов
  • Linux и Unix - лучшая ОС в мире.