Короткий ответ

Даже на TLS 1.2 сервер может предлагать слабые cipher suite: RC4, 3DES, NULL, анонимные, устаревшие RSA-без-forward-secrecy в некоторых политиках сканеров. На Windows управляйте набором через Get-TlsCipherSuite / Disable-TlsCipherSuite и GPO «SSL Cipher Suite Order» / приоритет CCS, строго по документации Schannel для вашей ОС. Не копируйте строку порядка с блога 2016 года — сломаете RDP/IIS/WinRM. Сначала выключите TLS 1.0/1.1, потом режьте suite.

Не отключайте firewall, чтобы «шифр прошёл». Не выдумывайте CVE: работайте с именами suite из Get-TlsCipherSuite.

Симптомы и как отличить

  • Отчёт: TLS_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA, NULL.
  • Handshake проходит с устаревшим клиентом «на слабом».
  • После чужого порядка suite — «не открывается сайт с Windows 7» (иногда так и надо) или «не открывается с Windows 11» (вы сломали строку).
НаходкаНе cipher
TLS 1.0устаревшие TLS
Слабый сертификатPKI
HTTP без TLSсначала HTTPS
SMB signingне Schannel

Возможные причины

  1. Дефолт Server 2019 с совместимостью.
  2. GPO с древним Cipher Suite Order.
  3. Требование одного вендора на 3DES.
  4. Ручной Disable части suite, reboot не сделан, процессы держат старое.
  5. Балансировщик предлагает свой набор, Windows уже чистый.

Диагностика

На сервере приложения:

Get-TlsCipherSuite | Format-Table Name, Certificate, Exchange, Hash, Cipher, Length

Зафиксируйте список до изменений в C:\Temp\ciphers-before.txt. Скан с jump (инструмент организации) на 443 и 5986.

Реестр порядка (имя значения и формат — по документу Microsoft «Priority of cipher suites» / GPO SSL Cipher Suite Order для вашей версии; на новых ОС предпочитайте cmdlet и CCS):

Get-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002' -ErrorAction SilentlyContinue

IIS / WinRM HTTPS слушают Schannel — после изменения проверьте оба. RDP: отдельная проверка с консолью наготове.

Журнал Schannel в System после пилота.

Решение

Сценарий A. Точечно выключить известный мусор

Пилот не ERP:

Get-TlsCipherSuite | Where-Object { $_.Name -match 'RC4|DES|NULL|EXPORT|PSK' } |
  ForEach-Object { Disable-TlsCipherSuite -Name $_.Name }

Имена должны существовать в Get-TlsCipherSuite. Если cmdlet говорит, что suite нет — не выдумывайте имя.

Перезапуск IIS:

IISReset

Для системных служб часто нужен reboot. Планируйте.

Сценарий B. Эталон порядка через GPO

Используйте актуальный список Microsoft для Windows Server 2022/2025 / Windows 11 (Cipher suite in Schannel / HTTP/2 требования). GPO: SSL Cipher Suite Order — строка suite через запятую, длина лимитирована; на новых ОС смотрите политику Curve и Cipher suites в ADMX «SSL Configuration». Если строка обрезается — получите сломанный TLS.

Не мешайте одновременно пять инструментов (IIS Crypto + GPO + ручной Disable + SCCM) без одного источника правды.

Сценарий C. Нужен 3DES «ещё год»

Изолируйте хост, не весь contoso.example. Дата вывода. На основном IIS — 3DES Disable.

Сценарий D. Только AEAD / PFS

Сканеры просят GCM/CHACHA и ECDHE. Это достигается удалением старых TLS_RSA_WITH_AES_128_CBC_SHA и подобных, после проверки клиентов (сканеры, старые Java, 1С). Пилот, затем OU серверов.

Эталон cipher для contoso.example храните рядом с GPO, с датой review и сборкой Server 2022/2025. Пилот не должен быть DC01: сломанный Schannel на единственном DC — плохой вечер. Проверьте WS-042 как клиент к IIS и к WinRM HTTPS jump после Disable RC4/3DES. Если HTTP/2 включён, сверка с списком Microsoft обязательна, иначе сайт «просто не открывается» без понятной ошибки в браузере. Load balancer снова может предлагать RC4, даже когда Windows чистый — сканируйте VIP и backend отдельно. Не смешивайте IIS Crypto GUI и GPO порядка без одного источника правды.

На WS-042 как клиенте после сужения suite проверьте корпоративный портал и WSUS TLS: слишком короткий эталон ломает внутренние сайты на Server 2019, пока их не вывели. Держите матрицу suite по поколениям ОС.

После Disable-TlsCipherSuite сохраните CSV «до/после» в заявке: без артефакта через месяц никто не вспомнит, какой suite вернули аварийно.

Как проверить, что проблема устранена

  • Get-TlsCipherSuite без RC4/3DES/NULL.
  • Внешний/внутренний скан: слабые suite не предлагаются на 443/5986.
  • Браузер Windows 11 24H2 открывает сайт, WinRM HTTPS с jump жив, LDAPS к DC01 жив.
  • Повторный скан через неделю, включая второй IP/SNI.

Сохраните ciphers-after.txt в заявку.

Если не помогло

  • Скан бьёт в load balancer — правьте профиль там.
  • Suite снова включились GPO vs локальный Disable: побеждает политика. Выровняйте.
  • SQL/не-IIS порт не тот, что сканировали.
  • Клиент .NET свой набор — SchUseStrongCrypto.
  • Не возвращайте RC4 «для одного принтера» на DC.

Связь с hardening. RDP с интернета cipher не лечит — закройте 3389.

Профилактика

  • Эталон cipher в золотом образе + GPO.
  • Скан после каждого шаблона IIS.
  • Закупка ПО с TLS 1.2 + современные suite.
  • Документ «наш список suite» с датой review 2026-09-08 и ссылкой на Microsoft, не на форум.

FAQ

Disable-TlsCipherSuite сразу для всех хостов?

Нет. OU пилота. Schannel общий для многих ролей.

CBC suite — всегда запретить?

Многие сканеры просят GCM. CBC на TLS 1.2 ещё встречается. Режьте по политике риска и совместимости, не одной кнопкой «disable CBC» с блога.

ECC vs RSA сертификат

Набор suite зависит от типа ключа сертификата. Сменили сертификат на ECDSA — часть RSA-suite не используется. Планируйте вместе.

Нужен ли reboot после Enable обратно?

Часто процесс (lsass/HTTP.sys) держит набор. Reboot — надёжная проверка rollback.

Server 2025 отличается?

Набор по умолчанию уже жёстче. Всё равно снимите Get-TlsCipherSuite и скан, не верьте дефолту без проверки.

Можно ли править только IIS binding?

Шифры Schannel системные. Отдельного «только этот сайт без RC4, соседний с RC4» на одном Windows нет (кроме разных хостов/ADC).