0

Мне нужно выполнить скрипт powershell с использованием C# .net, поэтому моя забота - это безопасность в производственной среде, она защищена или не выполняет сценарий powershell с использованием C# .net. Если нет, то каковы способы обеспечения безопасности, также мне нужно динамически передавать параметры из кода C# .net. Любая помощь/предложение были бы полезны для обеспечения безопасности при выполнении сценария powershell с использованием C# .net.Выполнение скрипта powershell с использованием C# безопасно или нет?

Thanx заранее

+1

Это зависит от контекста, сценарий powershell может быть таким же простым, как печать «Hello World», которая не вызовет никаких проблем с безопасностью. Что вы пытаетесь обеспечить, и что вы беспокоитесь, может быть уязвимым? –

+0

Если вас беспокоит безопасность PowerShell, вы можете принудительно выполнить сценарии, подписанные с доверенным сертификатом. Однако это не гарантирует, что сценарий содержит точные команды, которые вы ожидаете, и считаете «безопасным» - только то, что источник сценария в целом заслуживает доверия. – Filburt

+0

Ну, я буду использовать сценарии обмена powershell для выполнения различных операций, таких как создание комнаты и таких вещей. – Dev

ответ

1

на тему безопасности:

Независимо от того, что вы делаете, НЕ СЛЕДУЕТ ДИАПАЗОН ПОЛЬЗОВАТЕЛЯ ПОВЕРХНОСТЕЙ! Если вы проводите какое-либо время в Интернете с августа, вы, вероятно, слышали об ошибке ShellShock Bash, в которой сисадмины по всему миру пытались обновить свой клиент Bash, потому что в противном случае был огромный потенциал для нежелательного выполнения кода. Пользовательским данным никогда не следует доверять, КОГДА-ЛИБО!

Перед отправкой каких-либо команд с использованием пользовательских данных в PowerShell подтвердите эту команду. проверьте его на белый список разрешенных команд, дорожек и флагов. Если он не проверяется правильно, не выполняйте его. Также проверьте права пользователя, чтобы пользователь A не мог повлиять на данные пользователя B. Храните журнал каждой команды, которая выполняется (что вам, вероятно, нужно делать через приложение), с точной командой, выполняемой PS. Если возможно, запустите команды с использованием пользователя, который имеет права доступа только для правильной папки и имеет только права выполнения этих команд.