smtp-server-tls-max-version

Global

Верхняя граница версии TLS на приёме
в конфигурации это строкаsmtp-server-tls-max-version none — действует как tlsv1.3внутри блока Global
Выше какой версии не подниматься на приёме

Вторая граница диапазона для входящих соединений. Значения те же четыре; умолчания нет, то есть потолок не ограничен и на практике равен tlsv1.3.

Ограничивать сверху почти никогда не нужно. Нормальное поведение — согласовать самую новую версию, которую понимают обе стороны. Повод появляется, когда подающая платформа объявляет tlsv1.3, а на ней срывается: такое бывает у старых библиотек с частичной поддержкой.

Это обход чужой поломки, а не настройка безопасности.

Главная ловушка — оставить ограничение навсегда. Платформа обновится, а потолок останется, и подача годами будет идти по версии ниже возможной. Строку ставят по конкретному поводу и снимают, когда повод исчез.
Что делает Хаб. Не пишет: потолок не ограничен, и это верно — узел согласует самую новую версию, которую понимает платформа. Ограничение может понадобиться точечно и временно.
Рекомендуемые значения

Ставить только по поводу:

Значение Когда
не задано (умолчание) всегда
tlsv1.2 платформа объявляет 1.3 и срывается на ней

И записывать повод рядом, комментарием с датой: иначе снять строку через год будет некому.

Значения и отсутствие умолчания — из руководства (§ 3.3.1.18). Совет записывать повод — наш.
Пример в конфигурации
# обход поломки подающей платформы, с поводом рядом
smtp-server-tls-max-version tlsv1.2   # платформа срывается на 1.3, проверено 28.08
Комментарий важнее строки: без него никто не поймёт, можно ли снять ограничение после обновления платформы.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Ограничивают потолок «на всякий случай»

наш опыт

Чем чреватоПодача остаётся на старой версии навсегда. Платформа обновляется, а узел продолжает принимать то, что ему велели годы назад.
Как заметитьСогласуемая версия на приёме ниже, чем на отправке.
Как правильноНе задавать без конкретного повода; заданное снабжать комментарием с датой и причиной.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
smtp-server-tls-max-version { tlsv1 | tlsv1.1 | tlsv1.2 | tlsv1.3 }
Значения
tlsv1 | tlsv1.1 | tlsv1.2 | tlsv1.3
Умолчание
none — действует как tlsv1.3 § 3.3.1.18
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
Global
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива пишется в корне файла, раздел Global, и действует на весь узел. У отдельного слушателя есть своя строка — tls-max-version в <smtp-listener>, — и она перекрывает общую для соединений на этот адрес и порт.
Как проверить на узле
Проверяется попыткой подключиться по самой новой версии:
openssl s_client -starttls smtp -connect localhost:25 -tls1_3
Отказ означает, что потолок опущен. Если он опущен без записанного повода — скорее всего, повод давно исчез, и строку пора снять.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Шифрование соединений