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

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

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

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

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

2 ответа

Решение

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

Дон Джонс формулирует это так: " Это не более опасно, чем все остальное".

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

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

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

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

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

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

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

Другие вопросы по тегам