Ошибка CredSSP при подключении по RDP. Произошла ошибка проверки подлинности

Владельцы ОС Виндовс знают, что разработчик определенное время обеспечивает обязательную поддержку своим операционным системам. Чаще всего это заключается в том, что Майкрософт периодически выпускает обновления, которые автоматически или в ручном режиме переносятся на компьютер и там устанавливаются.

К сожалению, иногда это приводит к не самым лучшим последствиям. Да, подобные обновления решают определенные проблемы, но иногда создают и новые.

Например, установка пакета KB4103718, по наблюдениям многих пользователей, приводит к тому, что попытка подсоединиться к серверу за счет удаленного рабочего стола RPR не срабатывает, а только вызывает на экране сообщение: произошла ошибка при проверке подлинности – указанная функция не поддерживается.

Естественно, это не может устраивать человека, который таким образом лишается части нужного и очень важного ему функционала. Как быть? Конечно же – исправлять.

Итак, если произошла ошибка проверки подлинности RDP Windows 7, то наиболее простым решением будет возвращение в Центр обновления операционной системы и снос недавно установленных пакетов. Как показывает практика, этого действия вполне достаточно, чтобы избавиться от сбоя.

Правда, есть несколько «но»:

  • При следующем автоматическом обновлении все вернется обратно.
  • Если запретить Винде запускать такой функционал, то операционная система может оказаться крайне уязвимой, так как не сможет получать от разработчиков важнейшие защитные наработки.

Следовательно, нужно искать альтернативные решения. Опытные юзеры, на вопрос «Произошла ошибка проверки подлинности» – как исправить, рекомендуют следующие действия:

  1. Выполнить установку всех важнейших, самых свежих обновляющих пакетов не только на своем оборудовании, но и на компьютере, и сервере, к которым пользователь планирует подсоединяться удаленно посредством данного протокола. Это – практически единственно и полноценное разрешение данной проблемы. Все остальные – только временные.
  2. Можно деактивировать NLA или предоставить доступ к удаленному серверу с так называемой небезопасной версией CredSSP.

Как же отказаться от использования NLA? Необходимо выполнить следующие шаги:

  1. Через панель управления перейти во все элементы, затем – в систему.
  2. Открыть окошечко «Свойства» и совершить переход на вкладку «Удаленный доступ».
  3. В самом низу можно увидеть строку, которая начинается со слов «Разрешить подключения только с компьютеров…». Убрать галочку возле нее.

Данная ошибка связана с установкой обновлений CredSSP для CVE-2018–0886 . Проблема решается установкой обновления.

Введение

13 марта 2018 г. выпущено обновление безопасности Windows протокола проверки подлинности CredSSP закрывающее уязвимость CVE-2018–0886 . Уязвимость в протоколе Credential Security Support Provider (CredSSP - провайдер поддержки безопасности учетных данных) допускала удаленный запуск произвольного кода на уязвимой системе.

8 мая 2018 г. Microsoft изменила уровень безопасности подключения с Vulnerable на Mitigated и начались проблемы подключения к удаленному рабочему столу по RDP.

После ввода учетных данных появляется ошибка:

Произошла ошибка при проверке подлинности.
Указанная функция не поддерживается.
Причиной ошибки может быть исправление шифрования CredSSP

Решение 1. Установить обновление безопасности Windows на сервере.

  • Зайдите на страницу уязвимости CVE-2018–0886
  • В секции Affected Products из столбца Downloads выберите подходящий файл, скачайте и установите.

Решение 2. Удалить обновление безопасности Windows на клиенте.

Решение 3. Отредактировать политику безопасности на клиенте/сервере.

Использовать стоит, если нет возможности подключитсья к серверу и установить обновление. После установки обновления, политику нужно вернуть в исходное состояние.

Откройте редактор локальной групповой политики:

  • Нажмите Win+R
  • Введите команду gpedit.msc и нажмите Enter

Измените параметры безопасности:

  • Конфигурация компьютера (Computer Configuration) > Административные шаблоны (Administrative Templates) > Система (System) > Передача учетных данных (Credentials Delegation)
  • Откройте параметр «Исправление уязвимости шифрующего оракула» (Encryption Oracle Remediation)
  • Выберите «Включено» («Enabled»).
  • Уровень защиты установить «Оставить уязвимость» («Vulnerable»).

У политики присутствует 3 опции:

  • Vulnerable – клиенты могут подключаться на уязвимые машины.
  • Mitigated – клиенты не могут подключаться к уязвимым серверам, но серверы могут принимать уязвимые клиенты.
  • Force Updated Clients – безопасный уровень взаимодействия клиентов.

Если на клиентской машине отсутствует редактор локальной групповой политики, изменение вносятся в реестр.

После очередного обновления операционной системы Windows, которое было примерно 8 мая 2018 года, почти все пользователи столкнулись с проблемой подключения к удаленному рабочему столу (RDP и remoteapp).

При попытке подключения к серверу, клиентская машина выдает ошибку:
Подключение к удаленному рабочему столу
Произошла ошибка при проверке подлинности.
Указанная функция не поддерживается

Удаленный компьютер:
Причиной ошибки может быть исправление шифрования CredSSP.
Дополнительные сведения см. в статье https://go.microsoft.com/fwlink/?linkid=866660

Существует два способа исправления ошибки шифрования CredSSP. Первый способ самый правильный, второй - быстрый.

#1 Установка обновления для исправления шифрования CredSSP на стороне сервера.

Для решения проблемы необходимо установить обновление CVE-2018-0886 на стороне сервера, ну или персонального компьютера к которому необходимо подключиться через RDP удаленный рабочий стол.

#2 Отключение уведомления об ошибке шифрования CredSPP на клиентском компьютере.

Для тех, кто не хочет заморачиваться с обновлением сервера - второй способ просто спасение!

Что нужно сделать:

1. Запускаем программу "Выполнить " и пишем там команду gpedit.msc У вас откроется ""
2. Далее идем: Конфигурация компьютера - Административные шаблоны - Система - Передача учетных данных .
Для английской версии ОС Windows путь такой: Computer Configuration - Administrative Templates - System - Credentials Delegation .

3. Здесь нужно открыть параметр "" ("Encryption Oracle Remediation") и выбираем "включено " ("Enabled"). А уровень защиты "Оставить уязвимость " ("Vulnerable").

4. Применяем изменения нажатием кнопки "OK " и на этом всё! Возможно, потребуется перезагрузить компьютер.

Бывает такое, что в "Передачи учетных данных" нет параметра "Исправление уязвимости шифрующего оракула". Тогда нужно прописать изменения вручную в реестр .

1. Запускаем программу "Выполнить " и пишем там команду regedit У вас откроется "Редактор реестра ".

2. Перемещаемся по следующему пути:
HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters

3. Нужно найти параметр DWORD с названием AllowEncryptionOracle и поставить значение 2 . Если этого параметра нет , то нужно создать его .

4. Обязательно выполняем перезагрузку компьютера.

Существует еще более простой способ внести изменения в реестр, можно просто выполнить следующую команду в командной строке (вы должны обладать правами администратора):

Вот и всё!

Исправление в домашней версии Windows

1. Запустите командную строку (cmd) от имени Администратора.

2. Вставьте или пропишите команду:

REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2

После нажатия клавиши Enter должно появиться сообщение: Операция успешно завершена .

Эта команда вносит изменения в реестр Windows и разрешает ПК подключаться протоколом шифрования CredSSP.

Всем удачи и добра!

Прочитано 47964 раз

После установки обновления 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 серверу?

  1. Самый правильный способ решения проблемы – установка последних обновлений безопасности Windows на компьютере / сервере, к которому вы подключаетесь по RDP;
  2. Временный способ 1 . Можно отключить проверку подлинности на уровне сети (NLA) на стороне RDP сервера (описано ниже);
  3. Временный способ 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) или перезагрузить компьютер. После этого вы должны успешно подключиться к удаленному рабочему столу сервера.