smtp-server-tls-min-version

Global

Нижняя граница версии TLS на приёме
в конфигурации это строкаsmtp-server-tls-min-version tlsv1.2внутри блока Global
Что узел готов принять — и почему это строже, чем отправка

Строка задаёт нижнюю границу версии для входящих соединений. Значения те же четыре, что и на отправке.

Умолчание здесь tlsv1.2, а на отправке tlsv1.1 — и асимметрия осмысленная. Кому мы отправляем, выбираем не мы: приёмник может оказаться старым, и жёсткий порог обернётся потерей доставки. А кто подаёт нам — известно: это наши платформы, и требовать от них современной версии можно.

Поверх границы действует openssl-security-level — библиотека шифрования у PowerMTA своя, и её уровень может запретить версию, которую строка разрешает.

Главная ловушка — сравнить с исходящей настройкой и «выровнять». Умолчания у них разные не по недосмотру. Опустив порог приёма до tlsv1.1 «для единообразия», вы разрешаете подающей стороне пользоваться устаревшей версией — при том что она ваша и вполне способна на современную.
Что делает Хаб. Не пишет — оставляет вендорское умолчание tlsv1.2. Подача идёт от платформ парка, и все они современные; понижать порог не за чем, а поднимать до tlsv1.3 рискованно — библиотека подающей стороны может оказаться старше.
Рекомендуемые значения

Четыре значения, и решение — про подающую сторону:

Значение Кого теряете на подаче
tlsv1 никого; и защиты не остаётся
tlsv1.1 почти никого; слабее умолчания
tlsv1.2 (умолчание) клиентов с очень старым стеком
tlsv1.3 клиентов со стеком старше нескольких лет

Проверять перед подъёмом. Подающая платформа своя, и её библиотека известна: посмотреть, что она согласует, дешевле, чем потом разбирать остановившуюся подачу.

Значения и умолчание tlsv1.2 — из руководства (§ 3.3.1.17). Объяснение асимметрии с отправкой и совет проверять клиента — наши.
Пример в конфигурации
# порог приёма строже, чем отправки, и это осознанно
smtp-server-tls-min-version tlsv1.2
Умолчание, записанное явно. Кому отправляем, выбираем не мы — там порог tlsv1.1; кто подаёт нам, известно, и здесь можно требовать больше.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается2 ошибки▶

Выравнивают порог приёма с порогом отправки

наш опыт

Чем чреватоУмолчания разные намеренно. Понизив приём до уровня отправки, вы разрешаете своим же платформам подавать по устаревшей версии — без всякой необходимости.
Как заметитьВ конфигурации оба порога tlsv1.1, в комментарии — про единообразие.
Как правильноВернуть умолчание приёма. Единообразие здесь не цель: стороны решают разные задачи.

Поднимают до 1.3, не проверив подающую платформу

§ 3.3.1

Чем чреватоПлатформа со стеком старше нескольких лет перестаёт подключаться вовсе. Подача останавливается целиком, а не деградирует.
Как заметитьПлатформа сообщает об ошибке соединения сразу после правки.
Как правильноПроверить, что она согласует, командой из справки — и только потом поднимать.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
smtp-server-tls-min-version { tlsv1 | tlsv1.1 | tlsv1.2 | tlsv1.3 }
Значения
tlsv1 | tlsv1.1 | tlsv1.2 | tlsv1.3
Умолчание
tlsv1.2 § 3.3.1.17
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
Global
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива пишется в корне файла, раздел Global, и действует на весь узел. У отдельного слушателя есть своя строка — tls-min-version в <smtp-listener>, — и она перекрывает общую для соединений на этот адрес и порт. Поверх всего стоит openssl-security-level: он один на узел и уровней не имеет.
⇄

Связанные директивы

2 связи

Как проверить на узле
Проверяется согласованием с самим узлом — попыткой подключиться со старой версией:
openssl s_client -starttls smtp -connect localhost:25 -tls1_1
Отказ согласования означает, что порог держится. Успешное соединение по tlsv1.1 при умолчании — повод проверить, не понижен ли порог в конфигурации или у слушателя.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Шифрование соединений