Не удается подключиться по RDP в Windows 11

Столкнулся со странным багом, когда некоторый пользователи чьи компьютеры, были обновлены до 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 блокирует сохранение паролей для RDP подключений.

Проверьте, включен ли Credential Guard в Windows 11 с помощью PowerShell команды:

(Get-CimInstance -ClassName Win32_DeviceGuard -Namespace rootMicrosoftWindowsDeviceGuard).SecurityServicesRunning

  • 0 – защита отключена
  • 1 – Credential Guard включен

Если Credential Guard на компьютере включен без блокировки UEFI (UEFI Lock обеспечивает защиту от изменения настроек), отключить эту функцию можно через параметр GPO или через реестр:

  1. В редакторе локальной GPO ( gpedit.msc ) перейдите в Computer Configuration -> Administrative Templates -> System -> Device Guard и измените значение параметра Turn on Virtualization Based Security (Включить средство обеспечения безопасности на основе виртуализации) на Disabled.
  2. Затем создайте два параметра реестра:
    reg add HKLMSYSTEMCurrentControlSetControlLsa /f /v LsaCfgFlags /t REG_DWORD /d 0
    reg add HKLMSOFTWAREPoliciesMicrosoftWindowsDeviceGuard /f /v LsaCfgFlags /t REG_DWORD /d 0

Если же UEFI lock включен, придется сначала создать в конфигурации BCD временную запись для загрузки компьютера в режиме отключения Credential Guard и Virtualization-Based security:

copy %WINDIR%System32SecConfig.efi X:EFIMicrosoftBootSecConfig.efi /Y
bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "EFIMicrosoftBootSecConfig.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 в Windows без правки UEFI не будут работать, т.к. настройки будут восстанавливаться.

После этого Credential Guard перестанет блокировать NTLM аутентификацию при подключении к удаленному компьютеру по RDP.

Проблема с невозможностью подключиться по RDP под учетными записями с кириллическими символами вызвано наличием бага ANSI-трансляции в Credential Guard.


Комментарии

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

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