После установки последних обновлений безопасности, вышедших 8 мая 2018 года, на Windows 10 и 7, пользователи стали жаловаться, что при попытке подключится к RemoteApp на RDS серверах под Windows Server 2016 / 2012 R2 / 2008 R2, или удаленным рабочим столам других пользователей по протоколу RDP (на Win 10/8/7), появляется ошибка:
Remote Desktop connection
An authentication error has occurred.
The function is not supported.
Remote Computer: hostname
This could be due to CredSSP encryption oracle remediation.
Данная ошибка связана с тем, что на Windows Server или обычных десктопных версиях Windows, к котором вы пытаетесь подключится по RDP, с марта 2018 года не устанавливались обновления безопасности. Дело в том, что еще в марте 2018 Microsoft выпустила обновление, закрывающее возможность удаленного выполнения кода с помощью уязвимости в протоколе CredSSP (бюллетень CVE-2018-0886). В мае 2018 было опубликовано дополнительное обновление, в котором по-умолчанию клиентам запрещается подключаться к удаленным RDP серверам с уязвимой (непропатченной) версией протокола CredSSP.
Таким образом, если вы не устанавливали накопительные обновления безопасности на RDS серверах Windows с марта этого года, а клиенты (Win 10 / 8 / 7) установили майские обновления, то на них при попытке подключится к RDS серверам с непропатченной версией 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 Server 2016 — KB4103723
Windows 10 1803 — KB4103721
Windows 10 1709 — KB4103727
Windows 10 1703 — KB4103731
Windows 10 1609 — KB4103723
Для восстановления удаленного подключения к рабочему столу можно удалить указанное обновление (но это не рекомендуется и делать этого не стоит, есть более правильное решение).
Для решения проблемы нужно временно на компьютере, с которого вы подключаетесь по RDP, убрать данное уведомление безопасности, блокирующее подключение.
Это можно сделать через редактор локальных групповых политик. Для этого:
- Запустите редактор локальных GPO: gpedit.msc ;
- Перейдите в раздел Computer Configuration -> Administrative Templates -> System -> Credentials Delegation (Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных);
Найдите политику с именем Encryption Oracle Remediation (Исправление уязвимости шифрующего оракула). Включите политику (Enabled/ Включено), а в качестве параметра в выпадающем списке выберите Vulnerable / Оставить уязвимость;
Осталось обновить политики на компьютере (команда gpupdate /force) и попробовать подключится по RDP. При включенной политике клиентские приложения с поддержкой CredSSP смогут подключаться даже к непропатченным RDS серверам.
В том случае, если у вас отсутствует редактор локальных GPO (например, в Home редакциях Windows), вы можете внести изменение, разрешающее RDP подключение к серверам с непропатченной версия CredSSP, напрямую в реестр с помощью команды:
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Можно внести изменения сразу на множестве компьютеров в AD с помощью доменной GPO или такого PowerShell скрипта (список компьютеров в домене можно получить с помощью командлета Get-ADComputer):
Import-Module ActiveDirectory
$PSs = (Get-ADComputer -Filter *).DNSHostName
Foreach ($computer in $PCs) {
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 Update (проверьте, что служба включена) или вручную. Ниже представлены прямые ссылки на обновления для Windows Server, которые обязательно нужно установить:
Windows Server 2012 R2 / Windows 8: KB4103715
Windows Server 2008 R2 / Windows 7: KB4103712
Windows Server 2016 / Windows 10 1607 = KB4103723
После установки обновлений и перезагрузки сервера, не забудьте отключить политику на клиентах (либо выставить ее на Force Updated Clients), или вернуть значение 0 у ключа реестра AllowEncryptionOracle. В этом случае, ваш компьютер не будет подвержен риску подключения к незащищенным хостам с CredSSP и эксплуатации уязвимости.
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 0