Global
С версии 6.0 PowerMTA несёт внутри OpenSSL 3.0, а тот отказывается от многого, что раньше проходило: слабых алгоритмов подписи, коротких ключей — в том числе ключей DKIM, — и версий протокола ниже 1.2. Порог задаётся числом от 0 до 5, умолчание — 1.
Симптом — узел не стартует. Слишком слабый ключ или сертификат останавливает запуск, а не роняет одно соединение. Руководство приводит две характерные ошибки: ca md too weak — сертификат подписан устаревшим алгоритмом; tlsv1 alert internal error с номером 80 — слишком слабый сертификат у той стороны.
Правильное лечение — перевыпуск, а не снижение порога. Руководство говорит это прямо: снижать стоит тогда, когда перевыпустить сейчас нельзя. Порог общий на весь узел и опускает планку сразу для всего — подписи, приёма, отправки и управляющего интерфейса.
Есть точечная замена. Запись DEFAULT:@SECLEVEL=0 внутри списка шифров — например smtp-tls-ciphers — снижает уровень только для него. Оба способа работают по месту в файле: снижение должно стоять выше той строки с сертификатом, к которой относится.
Мы видим ту же механику с другой стороны. Проверяя узел командой openssl s_client, легко получить отказ от своего клиента, а не от узла: no protocols available — это местный уровень безопасности отказался предлагать старую версию. Снимается тем же приёмом: -cipher ‘DEFAULT:@SECLEVEL=0’.
Снижение — крайняя мера, и лучше точечная:
| Значение | Когда |
|---|---|
| 1 (умолчание) | всегда |
| 0 | узел не стартует, перевыпустить прямо сейчас нельзя |
| 2 и выше | внешнее требование к стойкости, с проверкой доставки |
Точечная замена общему снижению — DEFAULT:@SECLEVEL=0 в нужном списке шифров, выше соответствующей строки с сертификатом.
# крайняя мера: узел не стартует со старым сертификатом, # перевыпуск запланирован — снять до конца квартала openssl-security-level 0smtp-server-tls-certificate /etc/pmta/legacy.pem
что делают не так и чем это кончается3 ошибки▶
§ 3.3.1.51
§ 3.3.1.51
наш опыт
3 связи
smtp-server-tls-certificateGlobalСлабый сертификат приёма — самая частая причина, по которой узел не стартует и по которой снижают уровень. § 3.3.1.51Обновление MTAПереход на PowerMTA 6 с прежней версии — момент, когда старые ключи и сертификаты впервые проверяются новым OpenSSL. § 3.3.1.51
smtp-server-tls-min-versionGlobalУровень безопасности библиотеки может запретить версию раньше, чем до неё дойдёт эта настройка. § 3.3.1.51http-tls-min-versionGlobalУровень безопасности OpenSSL может отказать в версии, которую эта граница разрешает. inferencehttp-tls-ciphersGlobalУровень безопасности отсекает слабое из этого списка; запись DEFAULT:@SECLEVEL=0 внутри списка — точечная замена общему снижению. § 3.3.1.51smtp-tls-min-version<domain>Уровень безопасности библиотеки может запретить версию раньше, чем до неё дойдёт эта настройка. § 3.3.1.51Библиотека шифрования — часть поставки, а не системыЕдинственная настройка встроенной библиотеки: она разрешает или запрещает целые классы шифров и версий. § 2.8
grep -rn 'openssl-security-level' /etc/pmta/
3 статьи
◇Библиотека шифрования — часть поставки, а не системыOpenSSL приезжает внутри дистрибутива PowerMTA, поэтому набор версий и шифров определяется версией продукта, а не системными библиотеками.◇Ключ активации — условие установки, а не шаг после неёБез ключа активации от поддержки SparkPost MTA не ставится и не работает, а уровень лицензии задаёт потолок исходящих соединений: на стандартной всё сверх 200 игнорируется.◇Ограничения облакаОблака ограничивают исходящую почту через порт 25, пока не попросишь снять лимит, а их диапазоны адресов почтовики встречают с подозрением.