Skip to main content

RDP ошибка при проверке подлинности. Исправление шифрования CredSSP

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

Подключение к удаленному рабочему столу Произошла ошибка при проверке подлинности. Указанная функция не поддерживается. Причиной ошибки может быть исправление шифрования CredSSP.
Скриншот: окно ошибки 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 — англ.);
Исправление уязвимости шифрующего оракула - Encryption Oracle Remediation
Скриншот: включение опции 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 —  KB4103715
  • Windows Server 2008 R2 / Windows 7 — KB4103712

 

После установки этих обновлений политику в GPO нужно вернуть на значение  Force Updated Clients, так как только в этом случае ваша ОС будет защищена от уязвимости подключения к незащищенным хостам с CredSSP. Для ОС с ответствующей оснасткой локальной GPO — запускаем Regedit, и идем по пути:

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

и устанавливаем значение параметра AllowEncryptionOracle в значение 0.

 

На этом на сегодня всё. Проблема RDP-подключения решена, уязвимость закрыта.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *