smtp-server-tls-ciphers

Global

Набор шифров на приёме для версий до TLS 1.2
в конфигурации это строкаsmtp-server-tls-ciphers HIGH:!ADH:@STRENGTHвнутри блока Global
Чем шифровать входящие — до версии 1.2

То же, что список шифров на отправке, только для входящих соединений. Запись — как у команды OpenSSL ciphers; умолчание HIGH:!ADH:@STRENGTH, то есть сильные шифры, без анонимных, отсортированные по крепости.

Действует по TLS 1.2 включительно. У версии 1.3 наборы устроены иначе и задаются строкой smtp-server-tls-v13-ciphersuites.

Порядок в списке имеет значение только вместе с соседней строкой. По умолчанию шифр выбирает клиент из того, что мы разрешили; чтобы выбирал узел, нужен smtp-server-tls-cipher-server-preference.

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

Значение — строка в записи OpenSSL:

Что Замечание
HIGH:!ADH:@STRENGTH (умолчание) сильные шифры, без анонимных, по убыванию крепости
своё сужение проверять согласованием со своей платформой до применения
версия 1.3 этой строкой не задаётся
порядок предпочтений учитывается только при включённом соседе
Умолчание и ограничение версиями до 1.2 — из руководства (§ 3.3.1.19). Замечание про цену ошибки на приёме — наше.
Пример в конфигурации
# умолчание, записанное явно
smtp-server-tls-ciphers HIGH:!ADH:@STRENGTH
Пример руководства повторяет умолчание. Сужать его имеет смысл только по внешнему требованию — и проверив, что своя платформа ещё подключается.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Сужают список, не проверив подающую платформу

наш опыт

Чем чреватоПлатформа перестаёт подключаться. В отличие от отправки, здесь нет мягкой деградации: соединение просто не устанавливается.
Как заметитьПодача останавливается сразу после применения конфигурации.
Как правильноПроверять согласование командой из справки до применения. И менять список отдельным шагом, а не вместе с другими правками.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
smtp-server-tls-ciphers <openssl-cipher-list>
Значения
строка списка шифров в записи команды OpenSSL ciphers
Умолчание
HIGH:!ADH:@STRENGTH § 3.3.1.19
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
Global
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива пишется в корне файла, раздел Global, и действует на весь узел. У отдельного слушателя есть своя строка — tls-ciphers в <smtp-listener>. Поверх всего стоит openssl-security-level.
Как проверить на узле
Проверять надо согласованием с самим узлом:
openssl s_client -starttls smtp -connect localhost:25 -cipher 'HIGH:!ADH:@STRENGTH'
Строка Cipher is … означает, что общий шифр нашёлся. Ошибка согласования — что список слишком узкий, и подающая платформа тоже не подключится.
В Хабе
Цена ошибки
опасно: последствия переживут откат
Сценарии
Шифрование соединений