Powershell изначально отключен. Почему осторожный администратор может оставить его отключенным?

Powershell по умолчанию изначально отключен, предположительно по соображениям безопасности.

Когда я попрошу, чтобы он был включен, поэтому я могу его использовать, Администраторы осторожны, чтобы предпринять действия, которые могут оставить сервер более уязвимым, и в результате он не включен, и я остаюсь в ожидании.

Предположим, что у Microsoft есть отвратительная репутация для безопасности, и что отказ от функции отключен, вероятно, теоретически более безопасно, что позволяет, но это происходит с чем угодно.

Является ли Powershell более опасным, чем его следует опасаться, чем любой другой язык сценариев Windows?

Ответ 1

В дополнение к тому, что @manojlds указал на хорошую статью для проверки.

Дон Джонс говорит так: " Это не более опасно, чем что-либо еще.

Безопасность с помощью PowerShell может фактически контролироваться групповой политикой (эти политики выполнения, упомянутые в @manojlds). Фактически вы увидите, что он включен по умолчанию, когда вы попадаете в Window Server 2008 R2. Затем ряд продуктов Microsoft теперь устанавливает его и включает в себя его для вас (Exchange 2010, SharePoint 2010, SQL Server 2008 R2). Я должен сказать, что Microsoft значительно улучшила свой послужной список с помощью PowerShell.

Ответ 2

Powershell обладает дополнительными функциями безопасности и безопасности. Посмотрите политики выполнения - http://msdn.microsoft.com/en-us/library/dd347641.aspx (или запустите get-help about_execution_policies)

Scripting - очень мощный инструмент, но его можно использовать неправильно для вредоносных цели. Для защиты пользовательских данных и целостности система Windows PowerShell включает несколько функций безопасности, среди который является политикой выполнения.

http://msdn.microsoft.com/en-us/library/bb648601(v=vs.85).aspx

Таким образом, по умолчанию вы не можете дважды щелкнуть по сценариям, чтобы ввести их в консоль для их запуска. И вы можете контролировать, могут ли исполняемые скрипты и какие сценарии тоже есть.

Кроме того, с помощью Powershell вы не сможете выполнять команды script/run, которые в противном случае у вас не было прав, установленных администратором. Если вы не можете отключить брандмауэр из графического интерфейса, скажем, потому что у вас нет необходимых привилегий, вы также не можете делать это из Powershell.

Powershell также заимствует из лучших рекомендаций по безопасности из других источников. Вы не можете выполнить script или другой исполняемый файл, который не находится в пути, просто указав имя script или имя exe. Вы должны использовать что-то вроде .\script.ps1 - для его запуска. Это связано с тем, что в отличие от CMD текущий каталог не находится в пути, что похоже на то, что вы увидите в * nix. Это гарантирует, что любой вредоносный script, размещенный в текущем каталоге, не может переопределять встроенные команды, такие как dir, и вызывать вредные эффекты.