Ошибка аутентификации RDP: исправление шифрования CredSSP Oracle
После установки обновлений безопасности Windows, выпущенных после мая 2018 года, вы можете столкнуться с ошибкой CredSSP шифрования Oracle во время RDP-подключения к удаленному серверу или компьютеру Windows в следующих случаях:
Вы пытаетесь подключиться к удаленному рабочему столу компьютера с недавно установленной старой версией Windows (например, Windows 10 RTM или сборка 1709 или старше, Windows Server 2012 R2, Windows Server 2016), на которой установлены последние обновления безопасности Windows. не установлены;
Вы пытаетесь подключиться по RDP к компьютеру, на котором долгое время не устанавливались обновления Microsoft;
Удаленный компьютер заблокировал RDP-соединение, поскольку на вашем компьютере отсутствуют необходимые обновления безопасности.
Давайте попробуем разобраться, что означает ошибка RDP CredSSP шифрования Oracle и как ее исправить.
Так, при попытке подключения к RemoteApp на RDS-серверах под управлением Windows Server 2016/2012 R2/2008 R2 или к удаленным рабочим столам других пользователей по протоколу RDP (в Windows 10, 8.1 или 7) появляется ошибка:
Подключение к удаленному рабочему столу
Произошла ошибка аутентификации.
Функция не поддерживается.
Удаленный компьютер: имя хоста
Это может быть связано с исправлением шифрования CredSSP Oracle.
Эта ошибка возникает из-за того, что обновления безопасности Windows (по крайней мере, с марта 2018 года) не были установлены на удаленном экземпляре Windows, к которому вы пытаетесь подключиться по RDP.
Эта ошибка также может выглядеть следующим образом: Произошла ошибка аутентификации. Запрошенная функция не поддерживается.
В марте 2018 года Microsoft выпустила обновления, которые блокируют удаленное выполнение кода с помощью уязвимости в протоколе CredSSP (Credential Security Support Provider) (бюллетень CVE-2018-0886). В мае 2018 года было опубликовано дополнительное обновление, которое по умолчанию запрещает клиентам Windows подключаться к удаленным RDP-серверам с уязвимой (непропатченной) версией протокола CredSSP.
Таким образом, если вы не устанавливали накопительные обновления безопасности на свои Windows RDS/RDP-серверы (компьютеры) с марта 2018 года, а на RDP-клиентах были установлены обновления мая 2018 года (или новее), то при попытке подключения к RDS-серверам с непропатченным версии CredSSP появляется ошибка: Это может быть связано с исправлением шифрования CredSSP оракулом.
Ошибка RDP на клиентах появляется после установки следующих обновлений безопасности:
Windows 7/Windows Server 2008 R2 — KB4103718
Windows 8.1/Windows Server 2012 R2 — KB4103725
-
Windows Server 2016 — KB4103723
Windows 10 1803 — KB4103721
Windows 10 1709 — KB4103727
Windows 10 1703 — KB4103731
Windows 10 1609 — KB4103723
В этом списке показаны номера КБ за май 2018 г.; на данный момент вам необходимо загрузить и установить последний накопительный пакет обновлений для вашей редакции Windows. Вы можете получить последние обновления безопасности через Центр обновления Windows с серверов Microsoft, с локального сервера WSUS или вручную загрузить файлы исправлений *.msu из каталога Центра обновления Microsoft (https:// www.catalog.update.microsoft.com/Home.aspx). Например, для поиска обновлений за август 2019 года для Windows 10 1803 необходимо использовать следующий поисковый запрос:
windows 10 1803 x64 8/*/2019. Загрузите и установите накопительное обновление Windows (в моем примере это «2019-08 накопительное обновление для Windows 10 версии 1803 для систем на базе x64 (KB4512509)».
Чтобы восстановить подключение к удаленному рабочему столу, вы можете удалить указанное обновление безопасности на удаленном компьютере (но это не рекомендуется и делать этого не следует, есть более безопасное и правильное решение).
Чтобы устранить проблему с подключением, необходимо временно отключить проверку версии CredSSP на компьютере, с которого вы подключаетесь по RDP. Это можно сделать с помощью редактора локальной групповой политики.
-
Запустите редактор локальной групповой политики: gpedit.msc;
Перейдите в раздел GPO Конфигурация компьютера -> Административные шаблоны -> Система -> Делегирование учетных данных;
Найдите политику с именем Encryption Oracle Remediation, включите политику и установите уровень защиты Уязвимый;
Обновите параметр политики на компьютере (запустите
gpupdate /forceкоманда) и попробуйте подключиться к удаленному серверу через RDP. Если для политики Oracle Remediation Encryption установлено значение «Уязвимо», клиентские приложения с поддержкой CredSSP смогут подключаться даже к непропатченным конечным точкам RDS/RDP.
Политика шифрования Oracle Remediation предлагает 3 доступных значения для защиты от уязвимости CredSSP:
Принудительно обновлять клиенты - высший уровень защиты, когда RDP-сервер блокирует подключение от непропатченных клиентов. Обычно эту политику следует включать после того, как вы полностью обновили всю инфраструктуру и добавили последние обновления безопасности в установочные образы Windows для серверов и рабочих станций;
Mitigated — в этом режиме блокируется исходящее удаленное RDP-соединение с RDP-серверами с уязвимой версией CredSSP. Однако другие службы, использующие CredSSP, работают нормально;
Уязвимый — разрешен самый низкий уровень защиты при подключении к RDP-серверу с уязвимой версией CredSSP.
Если у вас нет локального редактора GPO (например, в редакциях Windows Home), вы можете внести непосредственное изменение в реестр, которое разрешит RDP-подключение к серверам с непропатченной версией CredSSP:
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2Изменить параметр реестра AllowEncryptionOracle на нескольких компьютерах в AD можно с помощью объекта групповой политики домена или такого сценария PowerShell (получить список компьютеров в домене можно с помощью командлета Get-ADComputer из модуля RSAT-AD-PowerShell):
$computers = (Get-ADComputer -Filter *).DNSHostName
Foreach ($computer in $computers) {
Invoke-Command -ComputerName $computer -ScriptBlock {
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
}
}После успешного подключения к удаленному RDP-серверу (компьютеру) вам необходимо установить последние обновления безопасности через Центр обновления Windows (убедитесь, что служба wuauserv включена) или вручную. Загрузите и установите последние накопительные обновления Windows с веб-сайта каталога обновлений Microsoft, как показано выше. Если при установке обновления MSU появляется ошибка «Обновление не применимо к вашему компьютеру», прочтите статью по ссылке выше.
Для Windows XP/Windows Server 2003, которые больше не поддерживаются, необходимо установить обновления для Windows Embedded POSReady 2009. Например: https://support.microsoft.com/en-us/help/4056564.
После установки обновлений и перезагрузки сервера не забудьте отключить политику на клиентах (либо переключить ее на Принудительно обновлять клиентов), либо вернуть значение параметра реестра AllowEncryptionOracle в 0. В этом случае ваш компьютер не будет подвергаться риску подключения к незащищенным хостам CredSSP и эксплуатации уязвимости.
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 0Существует еще один сценарий, при котором обновления не устанавливаются на ваш компьютер. Например, сервер RDP обновлен, но у него есть политика, которая блокирует подключения RDP от компьютеров с уязвимой версией CredSSP (параметр политики Принудительно обновлять клиентов). В этом случае вы также увидите ошибку подключения RDP «Это может быть связано с исправлением шифрования CredSSP oracle».
Проверьте дату последней установки обновлений Windows на вашем компьютере с помощью модуля PSWindowsUpdate или команды WMI в консоли PowerShell:
gwmi win32_quickfixengineering |sort installedon -desc




