RDP не сохраняет пароль: Настройка делегирования NTLM и CredSSP
Архитектура CredSSP и почему сбрасываются пароли
Ситуация, когда RDP-клиент (mstsc.exe) игнорирует сохраненные учетные данные и требует ручного ввода пароля при каждом подключении, связана с механизмами защиты провайдера поддержки безопасности учетных данных (CredSSP). В корпоративных средах групповые политики по умолчанию (или Defender Credential Guard) запрещают Делегирование учетных данных (Credential Delegation) на удаленные хосты. Это сделано для предотвращения атак типа Pass-the-Hash, чтобы хеши ваших паролей не оседали в памяти (LSASS) потенциально скомпрометированного сервера. Бизнес-риски: недовольство пользователей, замедление авторизации, невозможность запуска автоматизированных скриптов через RDP.
Приоритет политик (от высшего к низшему)
| Источник блокировки | Уровень применения | Как влияет на RDP |
|---|---|---|
| Windows Defender Credential Guard | Уровень гипервизора (VBS) | Блокирует NTLM/Kerberos делегацию полностью. Требует Remote Credential Guard. |
| GPO: Запретить делегирование (Deny) | Конфигурация компьютера (Local/Domain) | Жестко запрещает передачу сохраненных паролей. |
| Настройка RDSH: Always prompt for password | Настройки сервера (Session Host) | Сервер принудительно запрашивает пароль, даже если клиент его передал. |
Настройка разрешений на сохранение паролей (GPO)
Сценарий 1: Разрешение делегирования на стороне клиента (Откуда подключаемся)
Необходимо явно разрешить клиенту отправлять сохраненные NTLM-данные на серверы терминалов.
- Откройте редактор локальных политик (
gpedit.msc) на ПК клиента. - Перейдите: Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных (Credential Delegation).
- Откройте Разрешить передачу сохраненных учетных данных с проверкой подлинности сервера только NTLM.
- Включите политику, нажмите кнопку «Показать...» и добавьте значение
TERMSRV/*(разрешить для всех RDP-серверов) илиTERMSRV/rds.domain.local(только для конкретного). - Выполните в CMD:
gpupdate /force.
Сценарий 2: Отключение принудительного запроса на стороне сервера (Куда подключаемся)
Если клиент настроен, но пароль все равно запрашивается, виноват сервер.
Отключение политики "Всегда запрашивать пароль" в реестре сервера RDSH
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fPromptForPassword /t REG_DWORD /d 0 /fТиповые ошибки администраторов
- Настройка политики на сервере вместо клиента: Политики Credential Delegation (TERMSRV/*) применяются к исходящим подключениям. Настраивать их нужно на рабочих местах пользователей, а не на самом сервере терминалов.
- Использование IP-адресов вместо FQDN: Сохранение паролей работает надежно только при подключении по доменному имени (FQDN). Если вы подключаетесь по IP-адресу, Kerberos не работает (происходит Fallback до NTLM), и CredSSP может заблокировать передачу.
Существуют безопасные архитектурные решения. Специалисты ITSTM внедрят SSO (Single Sign-On) на базе ADFS или Remote Credential Guard, обеспечив беспарольный, но криптографически защищенный доступ к фермам RDS.
Частые вопросы (FAQ)
Что такое TERMSRV/*?
TERMSRV — это Service Principal Name (SPN), указывающий на службу удаленных рабочих столов (TermService). Звездочка (*) — подстановочный знак, разрешающий делегирование ко всем серверам. Безопаснее указывать конкретные FQDN: TERMSRV/server1.corp.local.
Я настроил политику, но галочка 'Запомнить меня' не работает. Что еще проверить?
Проверьте политику 'Запретить делегирование сохраненных учетных данных' (Deny delegating saved credentials). Запрещающие политики всегда имеют приоритет над разрешающими.
Влияет ли шифрование Oracle Remediation (CVE-2018-0886) на это?
Да. Если на клиенте установлен патч CredSSP, а на сервере нет (или наоборот), подключение будет разорвано с ошибкой проверки подлинности, и до этапа передачи сохраненного пароля дело даже не дойдет.
Почему пароль не сохраняется при подключении к недоменному ПК (Workgroup)?
В рабочих группах Kerberos не работает, а NTLM-делегация к целевым узлам без доверия часто расценивается политиками Windows 10/11 как небезопасная. Требуется явное разрешение в политике 'Разрешить передачу сохраненных учетных данных... только NTLM'.