Указанная функция не поддерживается. Произошла ошибка проверки подлинности. Указанная функция не поддерживается Удаленный компьютер требует проверки подлинности
После установки обновления KB4103718 на моем компьютере с Windows 7 я не могу удаленно подключится к серверу c Windows Server 2012 R2 через удаленный рабочий стол RDP. После того, как я указываю адрес RDP сервера в окне клиента mstsc.exe и нажимаю «Подключить», появляется ошибка:
Подключение к удаленному рабочему столу
Произошла ошибка проверки подлинности.
Указанная функция не поддерживается.
Удаленный компьютер: computername
После того, как я удалил обновление KB4103718 и перезагрузил компьютер, RDP подключение стало работать нормально. Если я правильно понимаю, это только временное обходное решение, в следующем месяце приедет новый кумулятивный пакет обновлений и ошибка вернется? Можете что-нибудь посоветовать?
Ответ
Вы абсолютно правы в том, что бессмысленно решать проблему , ведь вы тем самым подвергаете свой компьютер риску эксплуатации различных уязвимостей, которые закрывают патчи в данном обновлении.
В своей проблеме вы не одиноки. Данная ошибка может появится в любой операционной системе Windows или Windows Server (не только Windows 7). У пользователей английской версии Windows 10 при попытке подключится к RDP/RDS серверу аналогичная ошибка выглядит так:
An authentication error has occurred.
The function requested is not supported.
Remote computer: computername
Ошибка RDP “An authentication error has occurred” может появляться и при попытке запуска RemoteApp приложений.
Почему это происходит? Дело в том, что на вашем компьютере установлены актуальные обновления безопасности (выпущенные после мая 2018 года), в которых исправляется серьёзная уязвимость в протоколе CredSSP (Credential Security Support Provider), использующегося для аутентификации на RDP серверах (CVE-2018-0886) (рекомендую познакомится со статьей ). При этом на стороне RDP / RDS сервера, к которому вы подключаетесь со своего компьютера, эти обновления не установлены и при этом для RDP доступа включен протокол NLA (Network Level Authentication / Проверку подлинности на уровне сети). Протокол NLA использует механизмы CredSSP для пре-аутентификация пользователей через TLS/SSL или Kerberos. Ваш компьютер из-за новых настроек безопасности, которые выставило установленное у вас обновление, просто блокирует подключение к удаленному компьютеру, который использует уязвимую версию CredSSP.
Что можно сделать для исправления эту ошибки и подключиться к вашему RDP серверу?
- Самый правильный способ решения проблемы – установка последних обновлений безопасности Windows на компьютере / сервере, к которому вы подключаетесь по RDP;
- Временный способ 1 . Можно отключить проверку подлинности на уровне сети (NLA) на стороне RDP сервера (описано ниже);
- Временный способ 2
. Вы можете на стороне клиента разрешить подключение к 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, если у вас отсусвует возможность локального входа на сервер (через консоль ILO, виртуальной машины, облачный интерфейс и т.д.). В этом режиме вы сможете подключиться к удаленному серверу и установить обновления безопасности, таким образом перейдете к рекомендуемому 1 способу. После обновления сервера не забудьте отключить политику или вернуть значение ключа AllowEncryptionOracle = 0: REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 0
Отключение NLA для протокола RDP в Windows
Если на стороне RDP сервера, которому вы подключаетесь, включен NLA, это означает что для преаутентификации RDP пользователя используется CredSPP. Отключить Network Level Authentication можно в свойствах системы на вкладке Удаленный доступ (Remote ) , сняв галку «Разрешить подключения только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети / 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 10 Home редактор политик gpedit.msc можно запустить ) или с помощью консоли управления доменными политиками – GPMC.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) или перезагрузить компьютер. После этого вы должны успешно подключиться к удаленному рабочему столу сервера.
Если при подключении к серверу Вы используете Windows XP, то у Вас может возникнуть ошибка: «Удаленный компьютер требует проверки подлинности на уровне сети, которую данный компьютер не поддерживает».
Данная ошибка возникает в следствии того, что изначально в ОС Windows XP не была реализована проверка подлинности на уровне сети, данную возможность разработчики реализовали в последующих ОС. Так же позднее был выпущен файл обновления KB951608 который исправлял данную ошибку и позволял ОС Windows XP реализовать проверку подлинности на уровне сети.
Для того, чтобы Вы могли со своего компьютера под управлением ОС Windows XP подключиться к удаленному рабочему столу сервера необходимо установить Service Pack 3 (SP3), а после сделать следующее:
На официальном сайте Microsoft на русскоязычной странице https://support.microsoft.com/ru-ru/kb/951608 скачать файл автоматического исправления. Пролистайте страницу чуть ниже и нажмите кнопку «Скачать» в разделе «Помощь в решении проблемы».
Так же Вам доступна англоязычная страница https://support.microsoft.com/en-us/kb/951608 на которой Вы можете скачать данный файл нажав кнопку «Download» в разделе «How to turn on CredSSP»
После того как загрузка файла будет закончена запустите его на выполнение. После запуска данного файла Вы увидите окно программы. В нем на первом шаге установите галочку на «Принимаю». На втором шаге нажмите кнопку «Далее»
По выполнению установки Вы увидите следующее окно с уведомлением «Это исправление Microsoft Fix it было обработано» Вам остается только нажать «Закрыть».
После того как Вы нажали кнопку «Закрыть» программа укажет Вам чтобы изменения вступили в силу необходима перезагрузка компьютера, нажмите «Да» чтобы перезагрузить.
Решить проблему самостоятельно без загрузки файла
Если Вы обладаете навыками администрирования, то Вы можете внести изменения в реестр Вашего компьютера вручную, не прибегая к необходимости загрузки файла исправления.
1. Нажмите кнопку Пуск (Start) , выберите пункт Выполнить (Run) , введите команду regedit и нажмите клавишу Ввод (Enter)
Открываем редактор реестра.
Ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Открываем параметр Security Packages и ищем там слово tspkg. Если его нет, добавляем к уже существующим параметрам.
Ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders
Открываем параметр SecurityProviders и добавляем к уже существующим провайдерам credssp.dll, если таковой отсутствует.
Закрываем редактор реестра.
Теперь надо перезагрузиться. Если этого не сделать, то компьютер запросит у нас имя пользователя и пароль, но вместо удаленного рабочего стола ответит следующее:
Вот, собственно и все.
Администраторам серверов на базе Windows 2008 возможно придется столкнуться со следующей проблемой:
Подключение по rdp протоколу к любимому серверу со станции Windows XP SP3 проваливается со следующей ошибкой:
Удаленный рабочий стол отключен.
Удаленный компьютер требует проверки подлинности на уровне сети, которую данный компьютер не поддерживает. Обратитесь за помощью к системному администратору или в службу технической поддержки.
И хотя многообещающая Win7 грозит со временем заменить свою бабушку WinXP, еще годик-другой проблема будет актуальной.
Вот что необходимо предпринять для включения механизма проверки подлинности на сетевом уровне:
Открываем редактор реестра.
Ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Открываем параметр Security Packages и ищем там слово tspkg . Если его нет, добавляем к уже существующим параметрам.
Ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders
Открываем параметр SecurityProviders и добавляем к уже существующим провайдерам credssp.dll , если таковой отсутствует.
Закрываем редактор реестра.
Теперь надо перезагрузиться. Если этого не сделать, то при попытке подключения компьютер запросит у нас имя пользователя и пароль, но вместо удаленного рабочего стола ответит следующее:
Подключение к удаленному рабочему столу
Ошибка при проверке подлинности(код 0x507)
Вот, собственно и все.