LINUX.ORG.RU
ФорумAdmin

Тео де Раадт сломал мне почту! Как жить дальше?

 , ,


0

2

Было бы смешно, если б не было так грустно. ССЗБ, да.

И так, дело в том, что есть у меня почтовые серверы, которые живут на OpenBSD, ну там OpenSMTPD/SpamAssassin, Dovecot и тд, всё плюс-минус стандартно, всё работало годами как часы. Ну нравится мне OpenBSD для таких вещей типа почтовый сервер, NS сервер, прям кайфую, ну что поделать (ага, вот и страдаю теперь).

Тут недавно вышел OpenBSD 7.4, и казалось бы, ничто не предвещало беды, но нужно было читать changelog полностью:

LibreSSL version 3.8.2
    Security fixes
        Disabled TLSv1.0 and TLSv1.1 in libssl so that they may no longer be selected for use.

Что сие означает на практике? А на практике сие означает, что если мы включаем TLS на 25-м порту, а к нам стучится сервер, который не может в TLS v1.2 и выше, допустим он только TLS v1.1 может, то мы в maillog получаем ошибку типа такой:

mail smtpd[71934]: 17a542d6a4cedfe6 smtp disconnected reason="io-error: handshake failed: error:1402610B:SSL routines:ACCEPT_SR_CLNT_HELLO:wrong version number"

а он, в свою очередь, получает что-то в духе Deferred: 403 4.7.0 TLS handshake failed.

И в итоге часть почты тупо не доходит. Малая часть, но всё же.

Что же делать?

  1. Решение очевидное, временное и плохое: вообще отключить TLS на 25-м порту. Наверное, это и был хитрый план разработчиков самой безопасной «only-two-remote-holes-in-the-default-install-in-a-heck-of-a-long-time» системы!

  2. Пересобирать libressl, бэкпортировать туда 1.0 и 1.1, пересобирать smtpd? Блин, если честно, очень не хочется, я конечно могу заморочиться с этим, но прям лень и неохота. Плюс потом же обновления снова будут, опять морока. Это решение тоже не очень правильное, ИМХО.

  3. А вот что если считерить как-нибудь и на 25-й порт перед smtpd поставить какой-то прокси, который поддерживает все версии от 1.0 до 1.3 (допустим он статично слинкован и системная libssl тут не при чем), он будет принимать все соединения, а на настоящий smtpd, который допустим слушает 127.0.0.1:25, проксировать всё уже можно и вовсе без шифрования. М? Как тебе такое, Тео?

Тут у меня вопросы:

  • где я просчитался, какие подводные камни? должны же они быть?
  • существует ли уже такой прокси или придется писать самому?

Ну и вообще:

  • сталкивался ли кто-то ещё с этой фигней, что делали?

На работе отключили у себя TLSv1/1.1 для всех входящих и исходящий соединений ибо ломается скрепкой а по PSI DSS трэба что-то более безопасное.

Мораль - если серв стучится вам по протоколу 24хлетней давности - то вам такие письма не нужны. Даже в MS их отрубают: https://techcommunity.microsoft.com/t5/windows-it-pro-blog/tls-1-0-and-tls-1-1-soon-to-be-disabled-in-windows/ba-p/3887947

PPP328 ★★★★★
()
Ответ на: комментарий от PPP328

Я это всё понимаю, но вот буквально вчера ждал весь день письмо, думаю что-то не так. Оказалось вон оно что. Хорошо ещё что по протоколу там 5 или 6 дней на попытки переотправки, и в итоге письма пришли.

Поэтому я бы ещё годик-два посидел с 1.1, а там уже наверное можно будет убивать их окончательно. К тому же, конкретно это был личный сервер, тут я сам риски на себя беру. На работе это уже конечно другой разговор.

ch1p
() автор топика