В нашем текущем рабочем процессе мы должны подключиться к нескольким серверам по протоколу RDP, чтобы знать, работает ли служба. Мы делаем нет прав администратора к этим серверам, но им разрешено просматривать, запускать и останавливать службы.
Вместо этого мы хотели бы использовать Powershell Remoting. Что-то вроде
(1..8)|%{gsv -c "server$($_" -n "*ourservice*"}
было бы и проще, и быстрее.
Правильно ли я это добавляю наших пользователей в WinRMRemoteWMIUsers
группа
редактировать
Следующий отрывок, взятый из Secrects of Powershell Remoting, похоже, решает проблемы безопасности.
powershellorg · Секреты удаленного взаимодействия PowerShell
Ни PowerShell, ни удаленное взаимодействие не являются «лазейкой» для вредоносных программ.
Это серьезное заблуждение. Имейте в виду, что по умолчанию PowerShell не выполняет сценарии. Когда он это делает, он может выполнять только те команды, на выполнение которых у выполняющего пользователя есть разрешение - он ничего не выполняет под сверхпривилегированной учетной записью и не обходит ни существующие разрешения, ни безопасность.
и
Итог: из-за того, как он работает, PowerShell Remoting не позволяет любому пользователю, авторизованному или нет, делать то, что они не могли сделать с помощью десятка других средств.
Мы не можем сделать с системой ничего, чего не могли бы сделать прямо сейчас, просто с помощью RDP (проблема управления безопасностью).
Риск заключается в том, что злоумышленник может получить доступ через PowerShell, если учетная запись в этой группе будет скомпрометирована. Оценка риска такого доступа и компенсирующие меры контроля - это то, что вам необходимо определить в зависимости от вашей среды.
Чтобы ответить на ваши последующие вопросы, я не верю, что кто-то может сделать общее предположение / вывод, что учетная запись также может входить в систему с использованием RDP. Если учетная запись / сервер (ы) настроены для использования смарт-карты, они не могут войти в систему с помощью RDP.
Безопасность заключается в оценке риска и применении компенсационных мер. Конструктивное встречное предложение может заключаться в следующем:
Пример командной строки события PowerShell Remoting:
Пример командной строки события WinRS: