Planetahost VPS
Перейти к основному контенту

Как исправить ошибку CredSSP при подключении по RDP

intro-How-to-fix-the-CredSSP-error-when-connecting-via-RDP-planetahost.png

Введение

При подключении к удалённому компьютеру по RDP можно столкнуться с ошибкой проверки подлинности:

Remote Desktop Connection

An authentication error has occurred.
The function is not supported.

This could be due to CredSSP encryption oracle remediation.

uu7u6u77777777i.png

В русской версии Windows сообщение выглядит примерно так:

Подключение к удаленному рабочему столу

Произошла ошибка при проверке подлинности.
Указанная функция не поддерживается.

Причиной ошибки может быть исправление шифрования CredSSP.

rdp-error.png

Ошибка связана с механизмом CredSSP (Credential Security Support Provider), который используется для предварительной аутентификации при подключении по RDP с включённой NLA (Network Level Authentication).

Почему возникает ошибка

В 2018 году Microsoft обнаружила критическую уязвимость в протоколе CredSSP CVE-2018-0886. Уязвимость позволяла атакующему при определённых условиях выполнить произвольный код на удалённой системе.

После выпуска исправлений Microsoft изменила поведение CredSSP. Обновлённый клиент Windows может блокировать подключение к удалённому компьютеру, на котором установлена старая версия CredSSP.

В результате возникает ситуация, когда:

65555.png

Возможна и обратная ситуация: сервер уже обновлён и настроен на обязательное использование защищённой версии CredSSP, а клиент использует устаревшую версию. Таким образом, причиной ошибки обычно является несовместимость версий CredSSP на клиенте и сервере.

Как исправить ошибку

Основной и рекомендуемый способ - это обновить Windows на клиентском и удалённом компьютере. Не стоит постоянно переводить CredSSP в небезопасный режим только для того, чтобы подключаться к старому серверу.

В первую очередь проверьте, установлены ли актуальные обновления Windows на обеих системах.

Для просмотра установленных обновлений можно выполнить PowerShell-команду:

Get-HotFix | Sort-Object InstalledOn -Descending

изображение.png

Также можно использовать:

Get-CimInstance Win32_QuickFixEngineering | Sort-Object InstalledOn -Descending

Если на компьютере отсутствуют обновления безопасности, выпущенные начиная с марта–мая 2018 года, его версия CredSSP может быть уязвимой или несовместимой с современным RDP-клиентом. Установите актуальные накопительные обновления Windows и перезагрузите компьютер.

Важно обновить и RDP-клиент, и удалённый компьютер. Microsoft отдельно указывает, что для корректной работы CredSSP необходимо обновлять обе стороны соединения.

После установки обновлений повторите подключение по RDP.

Временное решение

Если обновить удалённый компьютер сейчас невозможно, можно временно разрешить подключение к системе со старой версией CredSSP.

Важно: этот способ снижает уровень защиты компьютера и предназначен только для временного восстановления доступа.

Через редактор групповых политик

На компьютере, с которого выполняется RDP-подключение, запустите:

gpedit.msc

изображение.png

Выполните показанные действия на картинке:

r4r4r4444444.png

На английской версии:

33344rrrr4444466.png

После этого обновите групповые политики:

gpupdate /force

изображение.png

Попробуйте снова подключиться к удалённому компьютеру по RDP.

Режимы Encryption Oracle Remediation

Политика Encryption Oracle Remediation имеет три режима:

Режим Описание
Force Updated Clients Подключения от клиентов с уязвимой версией CredSSP блокируются
Mitigated Стандартный режим. Подключение к удалённым компьютерам с уязвимой CredSSP блокируется
Vulnerable Разрешаются подключения к удалённым компьютерам с уязвимой версией CredSSP

Для обычной работы следует использовать защищённый режим и поддерживать Windows в актуальном состоянии.

Если gpedit.msc отсутствует

В редакциях Windows, где нет редактора локальных групповых политик, например в некоторых редакциях Windows Home, аналогичную настройку можно изменить через реестр.

Запустите Командную строку от имени администратора и выполните:

REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 2 /f

Значение:

2

соответствует режиму Vulnerable и разрешает подключение к системам с уязвимой версией CredSSP.

После изменения параметра повторите подключение по RDP.

Возврат безопасных настроек

После того как доступ к удалённому компьютеру восстановлен, необходимо обновить удалённую Windows. После установки обновлений временное послабление на клиентском компьютере нужно убрать.

Если настройка выполнялась через групповую политику, то откройте gpedit.msc и выполните показанные действия на картинке:

66666ееее5555ороо.png

Выполните:

gpupdate /force

Если использовался реестр, верните параметр AllowEncryptionOracle в безопасное значение:

REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /v AllowEncryptionOracle /t REG_DWORD /d 0 /f

После этого клиент снова будет блокировать подключения к системам с уязвимой версией CredSSP.

Заключение

Ошибка CredSSP encryption oracle remediation возникает из-за несовместимости уровня защиты CredSSP между RDP-клиентом и удалённым компьютером.

Оптимальный порядок действий:

  1. Проверить обновления Windows на клиенте и сервере.

  2. Установить актуальные обновления безопасности.

  3. Перезагрузить обе системы.

  4. Повторить подключение по RDP.

  5. Если обновить удалённый компьютер невозможно - временно использовать режим Vulnerable.

  6. После восстановления доступа обязательно вернуть безопасные настройки и обновить удалённую систему.

Использование режима Vulnerable не является полноценным исправлением ошибки, оно лишь отключает защиту, которая и блокирует подключение к уязвимой системе.