Ошибка RDP подключения: CredSSP encryption oracle remediation. Как исправить?
Введение
Очередное обновление windwos 10 не обходится без сюрпризов, жаль что большая их часть связана вызывает различного рода неполадки и сбои в системе. В обновлении от 8 мая 2018 года была устранена критическая уязвимость в системе безопасности подключения к удалённым рабочим столам RDP.
Протокол поставщик поддержки безопасности учетных данных (CredSSP) — это поставщик проверки подлинности, который обрабатывает запросы на проверку подлинности для других приложений. Существует уязвимость удаленного выполнения кода в Неисправленные версии CredSSP. Злоумышленник, успешно воспользовавшийся данной уязвимостью, передает учетные данные пользователя для выполнения кода в целевой системе. Любое приложение, которое зависит от CredSSP для проверки подлинности может быть уязвимо для атаки этого типа.
И вы тут потому что, скорее всего, получили ошибку протокола 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 или просто перезапускаем терминальный сервер полностью.
Однако в таких редакциях как 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
Надеюсь смог помоч с возникшей проблемой работы протокола
The function is not supported.
This could be due to CredSSP encryption oracle remediation.