После установки обновления KB4103718 на моем компьютере с Windows 7 я не могу удаленно подключится к серверу через удаленный рабочий стол RDP. После того, как я указываю адрес RDP сервера в окне клиента mstsc.exe и нажимаю «Подключить», появляется ошибка:
Подключение к удаленному рабочему столу
Произошла ошибка проверки подлинности.
Указанная функция не поддерживается.
После того, как я удалил обновление KB4103718 и перезагрузил компьютер, RDP подключение стало работать нормально. Но, как я понимаю, это только временное обходное решение, в следующем месяце приедет новый патч и ошибка вернется. Можете что-нибудь посоветовать?
Ответ
Вы абсолютно правы в том, что бессмысленно решать проблему удалением обновлениq Windows, ведь вы тем самым подвергаете свой компьютер риску эксплуатации различных уязвимостей, которые закрывает данное обновление.
В своей проблеме вы не одиноки. У пользователей английской версии Windows при попытке подключится к RDP/RDS серверу появляется ошибка:
An authentication error has occurred.
The function requested is not supported.
Почему это происходит? В первую очередь рекомендую познакомится со статьей Ошибка RDP подключения: CredSSP encryption oracle remediation. В ней я подробно описывал, почему после установки последних (май 2018 года) обновлений безопасности на Windows клиентах, у пользователей могут появится проблемы с подключением к удаленным компьютерам / серверам по RDP. Дело в том, что в майских обновлениях безопасности Microsoft исправила серьезную уязвимость в протоколе CredSSP, использующегося для аутентификации на RDP серверах(CVE-2018-0886). В том случае, если на RDP сервере не установлены последние обновления и на нем используется устаревшая версия протокола CredSSP, такое подключение блокируется клиентом.
Что можно сделать для исправления данной проблемы
- Самый правильный способ решения проблемы – установка актуальных кумулятивных обновлений безопасности на компьютере / сервере, к которому вы подключаетесь по RDP.
- Временный способ 1. Можно отключить NLA (Network Level Authentication / Проверку подлинности на уровне сети) на стороне RDP сервера (описано ниже).
- Временный способ 2. Вы можете разрешить на стороне клиентов подключаться к RDP с небезопасной версией CredSSP, как описано в статье по ссылке выше (ключ реестра AllowEncryptionOracle или локальная политика Encryption Oracle Remediation / Исправление уязвимости шифрующего оракула) = Vulnerable / Оставить уязвимость).
Отключение NLA для протокола RDP в Windows
В том случае, если на стороне RDP сервера включен NLA, то это означает что для преаутентификации используется CredSPP. Отключить Network Level Authentication можно в свойствах системы на вкладке Удаленный доступ, сняв галку «Разрешить подключения только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети / Allow connection only from computers running Remote Desktop with Network Level Authentication (recommended)» (Windows 10 / Windows 8).
В Windows 7 эта опция называется по-другому. На вкладке Удаленный доступ нужно выбрать опцию «Разрешить подключения от компьютеров с любой версий удаленного рабочего стола (опасный) / Allow connections from computers running any version of Remote Desktop (less secure)»
Либо можно отключить проверку подлинности на уровне сети (NLA) с помощью редактора локальной групповой политики (gpedit.msc). Для этого перейдите в разделе Конфигурация компьютера –> Административные шаблоны –> Компоненты 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) или перезагрузить компьютер. После этого вы должны успешно подключиться к удаленному рабочему столу.