Ошибка RDP: Исправление шифрования CredSSP (Oracle Remediation)
Суть уязвимости CredSSP (CVE-2018-0886)
Ошибка «Произошла ошибка проверки подлинности. Указанная функция не поддерживается (CredSSP)» возникает при попытке подключения по RDP (Remote Desktop Protocol). Это не баг, а механизм защиты, внедренный Microsoft (патч CVE-2018-0886), который закрывает уязвимость удаленного выполнения кода через провайдер поддержки безопасности учетных данных (CredSSP). Сбой происходит, когда клиентская и серверная части имеют разные уровни обновлений безопасности: пропатченный клиент отказывается передавать учетные данные (пароль/хэш) непатченному, уязвимому серверу терминалов по слабому алгоритму (Oracle Remediation). Бизнес-риски: полная блокировка удаленной работы, недоступность критичных серверов без прямого KVM/iLO консольного доступа.
Уровни защиты CredSSP (Политика Oracle Remediation)
| Параметр GPO | Значение в реестре | Поведение клиента RDP |
|---|---|---|
Force Updated Clients | 0 | Строгий режим. Подключение только к пропатченным серверам. (По умолчанию сейчас) |
Mitigated | 1 | Смешанный режим. Блокирует уязвимые серверы, если не согласован высокий уровень. |
Vulnerable | 2 | Небезопасный режим. Игнорирует проверку, подключается к любым серверам. (Используется для обхода) |
Алгоритмы восстановления доступа по RDP
Сценарий 1: Правильный (Обновление сервера)
Единственный архитектурно верный способ — установить обновления безопасности на целевой сервер (RDSH или Standalone). Если сервер недоступен по RDP, зайдите на него через консоль гипервизора (VMware vSphere, Hyper-V) или IPMI (iLO/iDRAC) и запустите Windows Update.
Сценарий 2: Временный обход блокировки на Клиенте (Через Реестр)
Если доступ нужен срочно (чтобы зайти на сервер и обновить его), можно временно понизить уровень защиты на ПК с которого вы подключаетесь (клиент).
Откройте CMD от имени администратора на ВАШЕМ компьютере
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /f /v AllowEncryptionOracle /t REG_DWORD /d 2
После этого сразу же подключайтесь по RDP.Сценарий 3: Настройка через GPO (gpedit.msc)
- На клиенте нажмите
Win+R, введитеgpedit.msc. - Перейдите: Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных.
- Найдите политику Исправление уязвимости шифрующего оракула (Encryption Oracle Remediation).
- Включите её (Enabled) и установите уровень защиты: Оставить уязвимым (Vulnerable).
- В CMD выполните
gpupdate /force.
Типовые ошибки администраторов
- Оставление параметра Vulnerable навсегда: Оставив реестр с параметром
AllowEncryptionOracle = 2, вы делаете рабочую станцию уязвимой к атакам Man-in-the-Middle (MitM) на сессии RDP. После обновления сервера верните параметр в 0 или удалите ключ. - Попытка отключить NLA: Отключение Network Level Authentication на сервере пустит вас до экрана ввода логина, но это снижает безопасность и отключает SSO.
Хаотичное обновление инфраструктуры приводит к простоям. Инженеры ITSTM разработают матрицу патч-менеджмента через WSUS, обеспечив синхронное обновление клиентов и серверов без влияния на критические бизнес-процессы.
Частые вопросы (FAQ)
Нужно ли перезагружать ПК после правки реестра AllowEncryptionOracle?
Нет, перезагрузка не требуется. Изменения вступают в силу немедленно для новых RDP-сессий.
Почему политики Encryption Oracle Remediation нет в gpedit.msc?
Ваша клиентская Windows слишком старая или в хранилище (Central Store) AD отсутствуют актуальные административные шаблоны (CredSsp.admx). В этом случае используйте только метод через реестр.
Правка реестра не помогла, ошибка осталась. В чем дело?
Убедитесь, что вы правите реестр на КЛИЕНТСКОМ ПК (с которого запускаете mstsc.exe), а не пытаетесь удаленно через скрипты править недоступный сервер. Блокирует соединение именно пропатченный клиент.
Безопасно ли откатывать обновления на клиенте?
Категорически нет. Удаление пакетов безопасности не только вернет уязвимость, но и может сломать зависимости других компонентов ОС. Всегда решайте проблему настройкой CredSSP.