CredSSP NLA и смена пароля через RDP
Есть одна важная особенность, касающаяся смены истекшего пароля пользователя по RDP, связанна с опцией Network Level Authentication (NLA) и протоколом Credential Security Support Provider (CredSSP). По умолчанию CredSSP с NLA для RDP включен во всех версиях Windows, начиная с Windows Server 2012/Windows 8. NLA обеспечивают защиту RDP сервера за счет выполнения аутентификации пользователя до установки RDP сеанса с сервером.
Если у пользователя истек пароль, или администратор AD через атрибуты пользователя включил ему опцию userAccountControl “Требовать смену пароля при первом входе в систему/ User must change password at next logon ” (чаще всего это опцию включают для новых учетных записей AD), то при входе в систему по RDP появится ошибка:
Remote Desktop Connection You must change your password before logging on the first time. Please update your password or contact your system administrator or technical support.
Подключение к удаленному рабочему столу Перед первым входом в систему необходимо сменить пароль. Обновите пароль либо обратитесь к вашему системному администратору или в службу технической поддержки.
Как результат — пользователь не сможет подключиться к RDP серверу и сменить пароль.
В этом случае, чтобы пользователь мог самостоятельно сменить пароль, можно:
- Отключить NLA на RDP сервере (не рекомендуется!!!, т.к. существенно снижает уровень безопасности для RDP подключений) и использовать для подключения .rdp файл со строкой enablecredsspsupport:i:0
- Запускаем оснастку «Службы удаленных рабочих столов»
-
Выбираем QuickSesionCollection -> Свойства коллекции -> Задачи -> Изменить свойства
-
Выбираем Безопасность -> Уровень безопасности -> Согласование -> Уровень безопасности RDP
- Создать отдельный сервер для смены паролей пользователей. На этот сервер не нужно устанавливать роль Remote Desktop Session Host, не нужно добавлять пользователей в локальную группу доступа Remote Desktop Users, но нужно отключить NLA. В этом случае пользователи смогу сменить пароль, но не смогут войти на сервер по RDP
- Пользователь может изменить свой пароль удаленно через PowerShell (если у него есть сетевой доступ к контроллеру домена).