При подключении к рабочему столу удаленного компьютера с помощью встроенного RDP клиента (mstsc.exe) может появится ошибка:
Произошла ошибка проверки подлинности._x000D_Указанная функция не поддерживается.
An authentication error has occurred._x000D_ The function requested is not supported.
Данная ошибка связана с тем, что Windows по-умолчанию блокирует RDP подключения к удаленным компьютерам, на которых используется уязвимая версия протокола CredSSP (CVE-2018-0886). Протокол CredSSP (Credential Security Support Provider) используется для пре-аутентификации пользователей, когда для RDP доступа включен протокол NLA (Network Level Authentication / Проверка подлинности на уровне сети). Microsoft выпустило обновление для уязвимости CredSSP в 2018 г ( https://support.microsoft.com/en-us/topic/credssp-updates-for-cve-2018-0886-5cbf9e5f-dc6d-744f-9e97-7ba400d6d3ea ), но какой-то причине это обновление не установлено на удаленном хосте, к которому вы пытаетесь подключиться.
Как исправить ошибку проверки подлинности RDP?
Что нужно сделать, чтобы исправить ошибку и подключиться к вашему RDP/RDS серверу?
- ( Рекомендованный способ ) Самый правильный способ решения проблемы – установить последние кумулятивные обновлений безопасности Windows на удаленном компьютере/сервере , к которому вы подключаетесь по RDP. Скорее всего этот компьютер был недавно развернут из старого образа, или на нем отключено служба обновлений Windows. Проверьте последнюю дату установки обновлений Windows с помощью модуля PSWindowsUpdate или командой:
gwmi win32_quickfixengineering |sort installedon -desc
Обновления можно получить автоматически через Windows Update, или вы можете скачать и установить обновления Windows вручную . Нужно установить любое кумулятивное обновления для вашей версии Windows, выпущенное после 2019 года; - ( Не рекомендуется ) Временный способ 1 . Вы временно разрешить подключение к RDP серверам с небезопасной версией CredSSP на своем компьютере (клиенте) . Для этого нужно изменить ключ реестра AllowEncryptionOracle командой:
REG ADD
HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2
или можно изменить настройки локальной политики Encryption Oracle Remediation / Исправление уязвимости шифрующего оракула), установив ее значение = Vulnerable / Оставить уязвимость (см. описание в статье Ошибка RDP подключения: CredSSP encryption oracle remediation ).Это позволит вам подключиться к удаленному серверу по RDP и установить последние обновления безопасности ( способ 1 ). После обновления сервера отключите политику или измените значение ключа AllowEncryptionOracle на 0 :
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 0
- ( Не рекомендуется ) Временный способ 2 . Можно отключить проверку подлинности на уровне сети (NLA) на стороне RDP сервера (описано ниже).
- ( Рекомендованный способ ) Самый правильный способ решения проблемы – установить последние кумулятивные обновлений безопасности Windows на удаленном компьютере/сервере , к которому вы подключаетесь по RDP. Скорее всего этот компьютер был недавно развернут из старого образа, или на нем отключено служба обновлений Windows. Проверьте последнюю дату установки обновлений Windows с помощью модуля PSWindowsUpdate или командой:
Отключить проверку подлинности уровня сети (NLA) для RDP в Windows
Если на стороне RDP сервера, которому вы подключаетесь, включен NLA, это означает что для преаутентификации RDP пользователей используется протокол CredSPP.
Вы можете отключить Network Level Authentication в свойствах системы ( SystemPropertiesRemote. exe ) на вкладке Удаленный доступ (Remote) , сняв галку « Разрешить подключения только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети / Allow connection only from computers running Remote Desktop with Network Level Authentication (recommended)».
В Windows 7 эта опция называется по-другому. На вкладке Удаленный доступ нужно выбрать опцию «Разрешить подключения от компьютеров с любой версией удаленного рабочего стола (опасный) / Allow connections from computers running any version of Remote Desktop (less secure)».
Также можно отключить проверку подлинности на уровне сети (NLA) с помощью редактора локальной групповой политики .
Для этого перейдите в разделе Конфигурация компьютера –> Административные шаблоны –> Компоненты Windows –> Службы удаленных рабочих столов – Узел сеансов удаленных рабочих столов –> Безопасность (Computer Configuration –> Administrative Templates –> Windows Components –> Remote Desktop Services – Remote Desktop Session Host –> Security), отключите политику Требовать проверку подлинности пользователя для удаленных подключений путем проверки подлинности на уровне сети (Require user authentication for remote connections by using Network Level Authentication).
Также нужно в политике « Требовать использования специального уровня безопасности для удаленных подключений по протоколу RDP » (Require use of specific security layer for remote (RDP) connections) выбрать уровень безопасности (Security Layer) — RDP .
Для применения новых настроек RDP нужно обновить настройки групповых политик ( gpupdate /force
) или перезагрузить компьютер. После этого вы должны успешно подключиться к удаленному рабочему столу сервера.