Вопрос или проблема
Я использую эту команду в Windows Server 2022, последние обновления:
Disable-TlsCipherSuite -Name “TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384”
Она выполняется без ошибок. Затем я попробовал перезапустить IIS (а также сервер).
Но этот набор шифров по-прежнему отображается в SSL Labs. Является ли этот набор частью набора с именем “TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384”? Поэтому его нельзя отключить?
Буду очень признателен за любые рекомендации.
Попробуйте использовать инструмент IIS Crypto, который позволяет отключать шифры и/или изменять их порядок, и многое другое.
Вы используете шлюз приложений? Например, в Azure вам также нужно отключить их там. У нас была такая же проблема, которая была решена этим и подтверждена при повторной проверке в SSLLabs.
.
Ответ или решение
Для решения вашей проблемы отключения шифра "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" на сервере Windows Server 2022 в IIS, рассмотрим несколько теоретических моментов, практических примеров и пути их применения.
Теория
Windows Server и IIS управляют использованием шифров посредством различных настроек реестра и групповых политик. При выполнении команды Disable-TlsCipherSuite
, вы модифицируете настройки, касающиеся списка разрешённых шифров, однако, это может не привести к немедленным изменениям из-за кэширования и других механизмов.
Шифры в TLS, такие как "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" и "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", могут быть частью различных конфигураций. Хотя они похожи в названии, они используют разные алгоритмы шифрования (CBC и GCM, соответственно). Эти две конфигурации не зависят друг от друга, и одна не должна влиять на другую в контексте вашего вопроса. Возможной причиной проблемы может быть некорректное применение изменений или наличие сторонних решений, которые перезаписывают настройки TLS, например, балансировщики нагрузки или прокси-серверы, такие как Azure Application Gateway.
Пример
-
Редактирование реестра Microsoft Windows:
- Откройте редактор реестра Windows (regedit).
- Перейдите к разделу:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers
. - Найдите и проверьте, есть ли записи, отвечающие за TLS 1.2 и конкретно за "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384".
- Убедитесь, что все необходимые настройки присутствуют, и добавьте/измените, если это необходимо.
-
Использование PowerShell:
- Выполните команду
Get-TlsCipherSuite
, чтобы убедиться, что шифр действительно в списке отключенных. - Проверьте, нет ли дополнительных ошибок или предупреждений в выводе.
- Выполните команду
-
Программное обеспечение, управляющее шифрами:
- Используйте IIS Crypto, о котором упоминалось в вопросе. Это программное обеспечение предоставляет графический интерфейс для управления шифрами и протоколами безопасности.
- Перезапустите IIS и сервер после изменений.
Применение
-
Проверьте серверные роли и конфигурацию:
- Если ваш сервер является частью большой инфраструктуры, убедитесь, что изменения затрагивают именно ту машину, где происходит недопустимое использование шифра.
-
Проверьте настройки прокси и балансировщиков нагрузки:
- Например, если используется Azure Application Gateway, вам необходимо убедиться, что изменения производятся на всех уровнях, где обрабатывается TLS трафик.
- Изменения могут быть не учтены на уровне самого сервера, если их данный шифр поддерживается кем-то еще в цепочке.
-
Подтвердите изменения:
- Используйте инструменты, такие как SSL Labs, после применения всех изменений для финальной проверки. Важно понимать, что кэширование и задержки распространения измененных настроек могут давать ложные результаты в первые несколько минут/часов после изменений.
-
Дополнительная проверка:
- Аутентифицируйте изменения через локальный или удалённый сканер безопасности, чтобы гарантировать, что шифр действительно отключен.
Заключение
Отключение специфичных шифров в IIS и Windows Server требует внимательного подхода, учитывающего все уровни серверной архитектуры и используемых технологий. Ваша задача – не только выполнить техническую процедуру, но и удостовериться в её правильной имплементации и взаимодействии с другими сервисами, которые могут находиться вне непосредственного контроля сервера IIS.