Текст:
Немного истории.
При удаленном соединении с Server 2003 для пользователя сразу создавалась сессия в которую затем вводился логин/пароль, после успешной проверки предоставлялся доступ к рабочему столу. Создание сессии до проверки учетных данных открывало большие возможности для DDoS и несанкционированного исполнения процессов.
Для решения этой проблемы, начиная с Server 2008 R2 для терминальных подключений по RDP была введена технология Network Level Authentication (NLA). При использовании NLA учетные данные вводятся в RDP клиент, который передает их на сервер. И только после их успешной проверки на сервере создается пользовательская сессия. Для передачи учетных данных в NLA используется протокол Credential Security Support Provider (CredSSP).
NLA однозначно полезна и рекомендуема к использованию, но как и любой защитный механизм приносит определенные неудобства для пользователей и администраторов. Наиболее заметной является проблема смены пароля при RDP подключении. Нет, если пользователь уже зашел по RDP, то поменять пароль через net user или ctrl+alt+end не составит никакой сложности.
Проблемный сценарий №1: администатор создает нового пользователя, устанавливает ему стандартный пароль, например QWErty123 и ставит галочку User must change password at next login.
Проблемный сценарий №2: у пользователя истекает пароль, а смена пароля через 30-60 дней это стандартное требование информационной безопасности практически в любой организации.
Если у пользователя имеется доступ к рабочей станции то он может поменять пароль и далее заходить и работать по RDP. А если нет?
В этом случае, учетные данные будут считаться недействительными и пользовательская сессия на сервере, благодаря NLA, не будет создана. Вы получите сообщение об ошибке You must change your password before loggin on first time. Please update your password or contact your system administrator or technical support.
То есть чтобы создать сессию - нужно поменять пароль, а чтобы поменять пароль нужно создать сессию. Микрософт не озаботилась разработкой отдельного механизма в протоколе, который обрабатывал бы данные случаи. Поэтому применяются обходные решения, например смена пароля через citrix xenapp или Outlook WEB Access. Или просто администраторы не ставят галочку must change и включают Password never expires на учетных записях в надежде на сознательность пользователей.
Одним из способов решения проблемы является отключение NLA со стороны сервера и клиента. Тут возможны разные сочетания версий ОС и как следствие разные сочетания настроек по умолчанию. У кого-то все заработает после отключения NLA на сервере, у кого-то придется делать дополнительные шаги и отключать на клиенте. Данное решение допустимо использовать для серверов и клиентов находящихся в защищенной сети, где угрозы DDoS и несанкционированного доступа минимальны.
Отключение NLA со стороны сервера.
Возможны два варианта: просто сервер и сервер с ролью Remote Desktop Session Host.
В первом случае достаточно убрать галочку Allow connections only from computers running Remote Desktop with Network Level Authentication в System - Remote Settings.
Во втором нужно использовать локальную или доменную политики Computer Configuration - Administrative Templates - Windows Components - Remote Desktop Services - Remote Desktop Session Host - Security - Require use of specific security layer for remote (RDP) connections. Ставим данный параметр в enabled и выбираем security layer = RDP.
Отключение NLA со стороны клиента.
Запускаем RDP клиент и создаем через Show option - Save as... rdp файл. Открываем его например через notepad и в конце добавляем строку enablecredsspsupport:i:0
Сохраняем файл и двойным щелчком запускаем его.
Еще раз повторюсь, что отключение NLA не рекомендуется. Если все таки деваться некуда, то правильно будет выделить отдельный сервер БЕЗ роли Remote Desktop Session Host предназначенный только для смены паролей и только на нем отключить NLA. На этом сервере пользователей НЕ НУЖНО включать в группу Remote Desktop Users так как проверка и смена пароля выполняются до входа в систему. В этом случае пользователь при подключении по RDP сможет поменяет пароль, но не сможет зайти на сервер.
Добавить комментарий.