Open
Close

Rdp windows 7 указанная функция не поддерживается. Ошибка при подключении по RDP (Исправление шифрования CredSSP)

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

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

Например, установка пакета 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 – безопасный уровень взаимодействия клиентов.

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

После установки майских обновлений безопасности (от 8 мая 2018 г. на платформы Windows 7/8/10 и серверные платформы на ОС Windows Server 2008 R2 / 2012 R2 / 2016) пользователи не получают доступ к удаленной машине посредством RDP и RemoteApp, и происходит следующая ошибка:

Скриншот: окно ошибки CredSSP после выполнения подключения RDP к серверу с клиентской машины.

В начале весны 2018 года Microsoft выпустила обновление, предотвращающее удалённое выполнение кода с помощью уязвимости в протоколе CredSSP, и в мае было выложено обновление после установки которого по умолчанию клиентским машинам запрещено подключение к удаленным RDP-серверам с уязвимой версией протокола CredSSP. Соответственно если на клиентах весенние обновления установлены, а на серверах с ОС Windows Server — не установлены, то мы получим ошибку при подключении:

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

Или английский вариант:

«This could be due to CredSSP encryption oracle remediation.»

Ошибка клиента RDP появляется после установки обновлений безопасности:

  • Windows 7 / Windows Server 2008 R2 - обновление KB4103718
  • Windows 8.1 / Windows Server 2012 R2 - обновление KB4103725
  • Windows 10 1803 - обновление KB4103721
  • Windows 10 1709 - обновление KB4103727
  • Windows 10 1703 - обновление KB4103731
  • Windows 10 1609 - обновление KB4103723
  • Windows Server 2016 - обновление KB4103723

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

  1. Мы временно, на компьютере с которого подключаемся по RDP, уберем уведомление безопасности, которое блокирует подключение;
  2. Подключимся к нему по уже восстановленному RDP-подключению, и установим необходимый патч безопасности;
  3. Включим обратно уведомление безопасности которое временно отключали в первом пункте плана действий.
  • Открываем редактор локальных групповых политик: Пуск — Выполнить — gpedit.msc;
  • Переходим в раздел Конфигурация компьютера — Административные шаблоны — Система — Передача учетных данных (Computer Configuration — Administrative Templates — System — Credentials Delegation — англ.);
  • Находим политику с именем Исправление уязвимости шифрующего оракула (Encryption Oracle Remediation- англ.). Включите политику Включено (Enabled — англ.), в качестве параметра в выпадающем списке выберите Оставить уязвимость (Vulnerable — англ.);

Скриншот: включение опции GPO — Исправление уязвимости шифрующего оракула
  • Осталось обновить политики на компьютере (для этого открываем Cmd и используем команду gpupdate/force) и попробовать подключится по RDP. При включенной политике клиентские приложения с поддержкой CredSSP смогут подключаться даже к непропатченным Remote Desktop серверам.

Если это домашний компьютер с урезанной версией Windows, и у вас нет доступа к консоли локальных групповых политик — не беда, воспользуемся редактором реестра (Regedit). Запускаем его, и проходим по пути:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters

и установить значение параметра AllowEncryptionOracle в значение 2 (0х00000002).

Затем, необходимо скачать и установить обновления безопасности, подходящие для вашей системы (публикую прямые ссылки на обновления для Windows Server для вашего удобства, которые очень рекомендую установить):

  • Windows Server 2016 / Windows 10 1607 — KB4103723
  • Windows Server 2012 R2 / Windows 8 —

13 марта Microsoft опубликовал описание уязвимости CVE-2018-0886 в протоколе проверки подлинности CredSSP, который в частности используется при подключении по RDP к терминальным серверам. Позже Microsoft опубликовал, что будет блокировать подключения к необновлённым серверам, где присутствует данная уязвимость. В связи с чем многие заказчики столкнулись с проблемами подключения по RDP.

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


Для обхода ошибки со стороны клиента многие советуют отключить групповую политику, путём установки значения Encryption Oracle Remediation в Vulnerable :
с помощью gpedit.msc в Конфигурация компьютера / Административные шаблоны / Система / Передача учётных данных, слева выбрать "Исправление уязвимости шифрующего оракула" (забавный конечно перевод), в настройках поставить "Включено" и выбрать "Оставить уязвимость".


или через реестр (т.к., например, в Windows Home нет команды gpedit.msc):

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


НО! Так делать не нужно! Т.к. таким образом вы оставляете уязвимость и риски перехвата вашего трафика и пр. конфиденциальные данные, включая пароли. Единственный случай, когда это может быть необходимо, это когда у вас вообще нет другой возможности подключиться к удалённому серверу, кроме как по RDP, чтобы установить обновления (хотя у любого облачного провайдера должна быть возможность подключения к консоли сервера). Сразу после установки обновлений, политики нужно вернуть в исходное состояние.

Если доступ к удалённому серверу есть, то ещё, как временная мера, можно отключить требование NLA (Network Level Authentication), и сервер перестанет использовать CredSSP. Для этого достаточно в Свойствах системы, на вкладке удалённые подключения снять соответствующую галку "Разрешить подключения только с компьютеров, на которых работает удалённый рабочий стол с проверкой подлинности на уровне сети":

Но, это тоже неправильный подход.

Правильный подход - это всего-лишь установить нужные обновления на операционную систему, закрывающие уязвимость CVE-2018-0886 в CredSSP, причём, как серверную, куда вы подключаетесь, так и клиентскую, с которой вы подключаетесь.

Список обновлений для всех операционных систем, начиная с Windows 7 и Windows Server 2008 доступен по ссылке: https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2018-0886
Выбираете нужную версию операционной системы, скачиваете соответствующее обновление из каталога, устанавливаете и перезагружаетесь. После этого ошибка должна пропасть.
Например, на Windows Server 2016 ссылка на скачивание будет такой:

После очередного обновления операционной системы 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 раз