Ошибка RDP подключения: CredSSP encryption oracle remediation. Как исправить?

08.04.2019

Введение

Очередное обновление windwos 10 не обходится без сюрпризов, жаль что большая их часть связана вызывает различного рода неполадки и сбои в системе. В обновлении от 8 мая 2018 года была устранена критическая уязвимость в системе безопасности подключения к удалённым рабочим столам RDP.

Протокол поставщик поддержки безопасности учетных данных (CredSSP) — это поставщик проверки подлинности, который обрабатывает запросы на проверку подлинности для других приложений. Существует уязвимость удаленного выполнения кода в Неисправленные версии CredSSP. Злоумышленник, успешно воспользовавшийся данной уязвимостью, передает учетные данные пользователя для выполнения кода в целевой системе. Любое приложение, которое зависит от CredSSP для проверки подлинности может быть уязвимо для атаки этого типа.

An authentication error has occurred
An authentication error has occurred.
The function is not supported.
This could be due to CredSSP encryption oracle remediation.

И вы тут потому что, скорее всего, получили ошибку протокола CredSSP:

An authentication error has occurred.
The function is not supported.
This could be due to CredSSP encryption oracle remediation.

Пункт 1: Причины возникновения ошибки CreedSSP

Возникновение ошибки CredSSP связано с тем, что на терминальном Windows сервере, на который идёт подключение, не установлены последние обновления безопасности (CredSSP обновления для CVE-2018-0886). После обновления система по умолчанию запрещает подключаться к удалённым серверам по RDP со старой версией протокола CredSSP.

Ошибка подключения по RDP возникает после установки следующих обновлений:

  • Windows 7 / Windows Server 2008 R2 (KB4103718)
  • Windows 8.1 / Windows Server 2012 R2 (KB4103725)
  • Windows Server 2016 (KB4103723)
  • Windows 10 1803 (KB4103721)
  • Windows 10 1709 (KB4103727)
  • Windows 10 1703 (KB4103731)
  • Windows 10 1609 (KB4103723)

Пункт 2: Способы решения проблем CredSSP с подключением по RDP

Для решения данной ошибки c протоколом CredSSP необходимо убрать всплывающее уведомление, которое блокирует соединение. Но это только временное решение, правильней всего будет установить необходимые обновления на терминальные сервера, к которым вы пытаетесь подключиться. Так же читайте мою статью о том как из Windows 10 сделать терминальный сервер.

Необходимые обновления

  • Windows Server 2012 R2 / Windows 8: KB4103715
  • Windows Server 2008 R2 / Windows 7: KB4103712
  • Windows Server 2016 / Windows 10 1607: KB4103723

Но прежде чем установить обновления на сервер, скорее всего, вам ещё нужно будет к нему подключиться. А досадная ошибка этого делать не даёт. Так как обойти протокл CredSSP? При помощи редактирования локальных групповых политик системы!

  • Через окно "Выполнить" (Win + R)
  • Откройте редактор групповых политик: gpedit.msc
  • Идём в раздел Computer Configuration / Administrative Templates / System / Credentials Delega (Конфигурация компьютера / Административные шаблоны / Система / Передача учетных данных)
  • Включите политику Encryption Oracle Remediation (Исправление уязвимости шифрующего оракула)
  • В параметрах ставим Enabled (Включено)
  • Открываем окно "Выполнить" (Win + R)
  • Обновляем политики на компьютере: gpupdate /force или просто перезапускаем терминальный сервер полностью.
Включите политику Encryption Oracle Remediation (Исправление уязвимости шифрующего оракула)
Включите политику Encryption Oracle Remediation (Исправление уязвимости шифрующего оракула)
В параметрах ставим Enabled (Включено)
В параметрах ставим Enabled (Включено)

Однако в таких редакциях как Windows Home редактора груповых политик GPO просто нет. В этом случае, для решение ошибки CredSSP Encryption Oracle Remediation, необходимо внести изменение прямо в реестр.

Одной командой через "Выполнить" (для редакций ОС Windows Home)

Включение команду, чтобы разрешить подключаться к рабочему столу не обращая внимания на версию протокола CredSSP:

Чтобы выполнить команду ниже, вам нужно нажать Win + R и в появившееся окно вставить команду.

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

Параметр REG_DWORD /d 2 переключает уровень безопасности на низкий и провека подключения не будет проверяться по протоколу CreedSSP.

Не забудьте отключить фичу после обновления терминального сервера, так как отключения протоколов безопасности не самая хорошая идея:

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

Запустив .reg файл

А можно просто для таких ситуаций сделать себе *.reg файл, который после запуска пропишет всё необходимое к вам в реестр самостоятельно.

Содержимое .reg файла следующее:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters]
"AllowEncryptionOracle"=dword:00000002

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

Автору на кофе ☕ или просто поднять мотивацию писать больше статей для вас 😉 !
Отдельное спасибо всем, кто отправляет донатики 😀! Очень приятно и неожиданно. Благодаря вам сайт может и в дальнейшем обходиться без рекламных баннеров.
11146