Удаленное взаимодействие Powershell 4.0 с учетной записью домена без администратора

Мне нужна помощь, чтобы правильно настроить удаленное взаимодействие PowerShell для группы серверов, не являющейся администраторами. Прямо сейчас у нас есть рабочая конфигурация, которая позволяет учетным записям Admin Domain успешно подключаться к серверам без ошибок. Мы используем метод аутентификации Credssp с использованием SSL, и он отлично работает для учетной записи администратора домена.

С другой стороны, у меня есть учетная запись домена пользователя userTest. Эта учетная запись сопоставляется с группой домена, которая локально (на каждом сервере) сопоставляется с группами пользователей удаленного рабочего стола. Это позволяет этому пользователю успешно подключиться к этому серверу по протоколу RDP, но не имеет прав администратора. Он останется таким, и это не вариант сделать его локальным администратором.

Цель этого пользователя - разрешить учетным записям, не являющимся администраторами, выполнять набор сценариев на сервере с использованием Ограниченного сеанса, который подключается к учетной записи администратора домена. Проблема возникает, когда я пытаюсь подключиться к учетной записи userTest. Сервер отвечает с ошибкой Доступ запрещен:

[ServerA] Connecting to remote server ServerA failed with the following error message : Access is denied. For more information, see the about_Remote_Troubleshooting Help topic. + CategoryInfo : OpenError: (ServerA:String) [], PSRemotingTransportException + FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken

Просматривая аналитические журналы событий, я обнаружил следующее сообщение об ошибке:

The WSMan service could not launch a host process to process the given request. Make sure the WSMan provider host server and proxy are properly registered.

Это конфигурация, которую я уже настроил:

  • Создал PSSessionConfiguration с именем RemoteDesktopUsers

  • Зарегистрировать-PSSessionConfiguration -Name RemoteDesktopUsers -StartupScript C: \ Start.ps1

  • Set-PSSessionConfiguration -Name RemoteDesktopUsers -ShowSecurityDescriptorUI (добавлена ​​группа Пользователи удаленного рабочего стола в эту конфигурацию сеанса)

Так что да, в основном из того, что я уже искал в Google, это должна быть вся необходимая конфигурация, которая вам понадобится для PSRemote с учетными записями без прав администратора. Как я уже упоминал, использование учетной записи администратора домена, подключенной к этой SessionConfiguration, работает нормально, поэтому я подумал, что мне не хватает какого-то разрешения / привилегии / SDDL, которое позволяет этому пользователю получить доступ:

Windows Server 2008 R2 SP1
Powershell 4.0
Winrm ProductVersion = OS: 6.1.7601 SP: 1.0 Стек: 3.0


person Julio José Guevara    schedule 28.04.2015    source источник


Ответы (1)


Вероятно, вы столкнулись с этой проблемой из-за использования CredSSP

Есть какая-то конкретная причина, по которой вам нужно использовать CredSSP? Чаще всего CredSSP используется в ситуациях, когда вам нужно настроить сервер перехода для удаленного доступа с одной машины на другую и оттуда снова на другой сервер. Он хорошо известен как функциональность второго шага и представляет собой такую ​​огромную дыру в безопасности, что намеренно настраивать CredSSP довольно сложно.

Вам необходимо настроить CredSSP в трех местах: один раз на вашем компьютере, с которого вы будете выполнять удаленное взаимодействие, затем снова на машине, к которой вы будете переходить, и, наконец, на каждой машине, к которой вы будете подключаться с сервера перехода.

Если вам действительно нужно использовать CredSSP, следуйте этому замечательному руководству здесь в блоге Scripting Guy.

Если вам не нужен CredSSP

Попробуйте весь этот процесс с использованием авторизации по умолчанию / WSman, и я уверен, что проблемы исчезнут.

person FoxDeploy    schedule 28.04.2015
comment
Спасибо FoxDeploy, прямо сейчас мы подключаемся по протоколу RDP к серверу: ServerDeploy, на котором размещаются сценарии, а затем выполняем переход к каждому серверу в ферме, на который нацелен сценарий. Нужен ли мне Creddssp для этого сценария? Итак, вы говорите, что нужно полностью отказаться от конфигурации Credssp. Я не уверен, почему настроен Credssp, просто следуя тому, что уже было настроено здесь. - person Julio José Guevara; 28.04.2015
comment
Да, вам не нужен credSSP. потому что вы заходите на этот сервер и оттуда выполняете удаленное взаимодействие PS, это всего лишь один прыжок удаленного взаимодействия PowerShell. Однако, если вы со своего рабочего стола PowerShell удалились в ServerDeploy и оттуда вызвали все свои скрипты, удаленные где-то еще, вам понадобится CredSSP. Единственная веская причина использовать второй переход - это среда со сверхвысокой степенью безопасности, где вы разрешаете удаленное администрирование только определенных групп машин подмножеством людей на подмножестве машин. Это известно как сценарий сервера перехода, распространенный в финансовых компаниях высокого уровня. - person FoxDeploy; 28.04.2015
comment
Хорошо, я отказался от CreddSSP, запустив Disable-WsManCredSSP как на клиенте, так и на сервере. Активированная базовая аутентификация и разрешенный незашифрованный трафик как на клиенте, так и на сервере. По-прежнему используется SSL на порту 5986. В доступе все еще отказано. - person Julio José Guevara; 29.04.2015
comment
Хулио, я бы начал попроще. Начните с базового незашифрованного удаленного взаимодействия, а затем заставьте его работать, прежде чем переходить к SSL на настраиваемый порт или другие требования безопасности для конкретного домена. - person FoxDeploy; 29.04.2015
comment
Я пробовал это сейчас, незашифрованную (HTTP) и базовую аутентификацию (даже жесткая базовая проверка работает только для локальных учетных записей). Я создал локальную учетную запись пользователя и добавил его к пользователю удаленного рабочего стола. Этот пользователь может подключиться с удаленного компьютера, но только после того, как он будет добавлен в группу. Просто для тестирования я запретил администраторам подключаться к конечной точке microsoft.powershell и пользователям удаленного рабочего стола для подключения: локальный пользователь может подключиться, администратор домена не может подключиться, пользователь домена не может подключиться. Итак, я думаю, мне нужно что-то настроить на уровне домена. - person Julio José Guevara; 01.05.2015
comment
Может ли этот компьютер связаться с контроллером домена? - person FoxDeploy; 01.05.2015
comment
Как я могу узнать? я могу открыть Active Directory Users and Computers и подключиться ко всем контроллерам домена - person Julio José Guevara; 01.05.2015
comment
Привет, Хулио, попробуйте выполнить действия по устранению неполадок, перечисленные здесь: blogs.technet.com/b/heyscriptingguy/archive/2013/11/29/ - person FoxDeploy; 01.05.2015