Столкнулся со странным багом, когда некоторый пользователи чьи компьютеры, были обновлены до Windows 11 24H2, стали жаловаться на невозможность RDP подключения к некоторым удаленным.
RDP подключение не удавалось установить в следующих случаях:
- Если выполняется подключение RDP под учетной записью Администратор (на кириллице) и другим аккаунтами с русскими символами. При подключении не принимает пароль с сообщением «Недопустимые учётные данные«.
- При подключении к удаленному компьютеру по IP адресу. При этом по FQDN хоста RDP подключение было успешно. Это явно указывало, что блокируются именно подключения с NTLM аутентификацией (по IP), в то время как с Kerberos — все ОК.
- Компьютеры не добавлены в домен AD и находятся в разных рабочих группах
Довольно долго (через включение KDC event logging) искали источник проблемы и закономерности и оказалось, что проблемы с RDP подключением в Windows 11 вызваны Credential Guard (а точнее Remote Credential Guard). Эта функция безопасности, включённая по умолчанию на компьютерах с Windows 11 22H2 и выше (компьютер должен соответствовать определенным аппаратным требованиям, включая TPM+UEFI+SecureBoot+Virtualization-based security), предназначена для защиты учетных данных пользователей.
Проверьте, включен ли Credential Guard в Windows 11 с помощью PowerShell команды:
(Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard).SecurityServicesRunning
- 0 – защита отключена
- 1 – Credential Guard включен
Если Credential Guard на компьютере включен без блокировки UEFI (UEFI Lock обеспечивает защиту от изменения настроек), отключить эту функцию можно через параметр GPO или через реестр:
- В редакторе локальной GPO (
gpedit.msc
) перейдите в Computer Configuration -> Administrative Templates -> System -> Device Guard и измените значение параметра Turn on Virtualization Based Security (Включить средство обеспечения безопасности на основе виртуализации) на Disabled. - Затем создайте два параметра реестра:
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /f /v LsaCfgFlags /t REG_DWORD /d 0
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard /f /v LsaCfgFlags /t REG_DWORD /d 0
Если же UEFI lock включен, придется сначала создать в конфигурации BCD временную запись для загрузки компьютера в режиме отключения Credential Guard и Virtualization-Based security:
copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y
bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi"
bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:
mountvol X: /d
При загрузке компьютера появится консольное окно с запросом на отключение Credential Guard. Чтобы подтвердить отключение, нажмите F3.
После этого Credential Guard перестанет блокировать NTLM аутентификацию при подключении к удаленному компьютеру по RDP.
Проблема с невозможностью подключиться по RDP под учетными записями с кириллическими символами вызвано наличием бага ANSI-трансляции в Credential Guard.