http-tls-cipher-server-preference

Globalнужен перезапуск

Кто выбирает шифр на веб-мониторе — узел или клиент
в конфигурации это строкаhttp-tls-cipher-server-preference falseвнутри блока Global
Чьё слово последнее при выборе шифра

В рукопожатии TLS клиент присылает список того, что умеет, а сервер выбирает. По умолчанию монитор берёт первый подходящий из списка клиента — то есть решает клиент. Со значением true порядок меняется местами: монитор идёт по своему списку и берёт первое, что клиент поддерживает.

Без этой строки сортировка своего списка бессмысленна. Запись @STRENGTH в http-tls-ciphers упорядочивает список по стойкости — и этот порядок ни на что не влияет, пока выбирает клиент.

Настройка касается обеих версий: и списка до 1.2, и наборов http-tls-v1.3-ciphersuites.

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

Смысл появляется только вместе со своим списком:

Значение Когда
false (умолчание) список шифров не задавали
true задали свой список и хотите, чтобы его порядок решал
Умолчание false и правило выбора — из руководства (§ 3.3.1.58.18). Замечание про бессмысленность сортировки в одиночку — наше.
Пример в конфигурации
# свой порядок имеет силу только вместе с этой строкой
http-tls-ciphers HIGH:!ADH:@STRENGTH
http-tls-cipher-server-preference true
Две строки работают в паре. Порознь первая задаёт список, но не порядок, а вторая настаивает на порядке умолчания.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Сортируют список и оставляют выбор клиенту

§ 3.3.1.58.18

Чем чреватоПорядок списка не используется. Клиент берёт то, что удобно ему, — часто более быстрый и менее стойкий шифр.
Как заметитьСогласуется не то, что стоит первым в списке узла.
Как правильноПоставить true.

Включают, не задав своего списка

наш опыт

Чем чреватоНастойчивость есть, а настаивать не на чем: порядок берётся из умолчания. Строка вводит в заблуждение читающего конфигурацию.
Как заметитьВ файле есть строка, а списка шифров рядом нет.
Как правильноЛибо задать свой список, либо убрать строку.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
http-tls-cipher-server-preference <boolean>
Значения
yes | no | true | false
Умолчание
false § 3.3.1.58.18
Применение
нужен перезапуск сервиса
Очередь
уже поставленное в очередь не затронет
Где писать
Global
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Наследования у директивы нет: она пишется в корне файла, раздел Global, и действует на весь управляющий интерфейс узла.
Как проверить на узле
Прямого показания у настройки нет — её видно по тому, что выбрано. Смотрим согласованный шифр:
openssl s_client -connect NODE:1000 -tls1_2 -brief </dev/null
Сравните Ciphersuite: с началом своего списка. Совпало — решает узел; не совпало, а соединение прошло — решает клиент.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Безопасность узла