При подключении к рабочему столу удаленного компьютера с помощью встроенного RDP клиента (mstsc.exe) может появится ошибка:
Произошла ошибка проверки подлинности. Указанная функция не поддерживается.
An authentication error has occurred. 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
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
или можно изменить настройки локальной политики Encryption Oracle Remediation / Исправление уязвимости шифрующего оракула), установив ее значение = Vulnerable / Оставить уязвимость (см. описание в статье Ошибка RDP подключения: CredSSP encryption oracle remediation).Это позволит вам подключиться к удаленному серверу по RDP и установить последние обновления безопасности (способ 1). После обновления сервера отключите политику или измените значение ключа AllowEncryptionOracle на 0 :
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /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
) или перезагрузить компьютер. После этого вы должны успешно подключиться к удаленному рабочему столу сервера.
отлично написано!
просто диву даюсь! как микрософт заплаты строчит, не проверяя их на безопасность и работоспособность функционала. криворукие индийские кодеры работают на микрософт за еду?!
Спс
Спасибо, очень помогли ))
Мда… мелкомягкие как всегда со своим УГ. Уж не срамились бы, открыли код, а там глядишь народ подтянулся бы и всё по-человечьи было бы. Нехрен обновы выпускать, коль они не работают.
Спасибо. Статья помогла!
Не помогло
Помогает решение по ссылке (упоминалась в статье):
https://winitpro.ru/index.php/2018/05/11/rdp-auth-oshibka-credssp-encryption-oracle-remediation/
Работает 100% для WinServ2012
gpedit.msc / computer configuration / administrative templates / windows component / remote desktop services / remote desktop session host / security
«require user autentification for remote connection» -> DISABLED
На windows 8.1 тоже сработало на отлично
На Windows 10, не сработало((
win ХР sp3 как не мог по RDP подключиться к win server 2016, так и советы этой заметки не помогли
Спасибо очень помогло!
Кстати сработало на Win 10 Pro х64 спасибо еще раз автору.
Здравствуйте! Обновил Windows 10 до Windows 11 (21H2). После обновления не могу подключиться по РДП. Появляется ошибка, что описана в статье и компьютер уходит в перезагрузку. Манипуляции выше не помогают. Может кто сталкивался с данной проблемой и может подсказать в чем проблема может быть еще?
Локально нет возможности подключиться к компьютеру, поэтому подключился через командную строку по сети. Прописал:
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Перегрузился.
Толку ни какого, все равно выдает ошибку CredSSP.
Разобрался, оказывается, эту историю надо прописывать на той машине, с которой подключаешься, а не на удаленной.
До сих пор актуально, но вот это не обязательно, убрал / ребутнул, работает RDP:
>> Также нужно в политике «Требовать использования специального уровня безопасности для удаленных подключений по протоколу RDP» (Require use of specific security layer for remote (RDP) connections) выбрать уровень безопасности (Security Layer) — RDP.
По сути только снять галочку / или через gpedit можно отключить:
>> Разрешить подключения только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети.
выйди и снова войди в домен, проблема исправится.