Защита сценариев PowerShell

Опубликовано: 12.06.2017

видео Защита сценариев PowerShell

Автоматизация с помощью System Center Opalis И PowerShell

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


Объекты в Windows PowerShell 2.0

Сценарий PowerShell — это обычный текстовый файл с расширением. ps1. Файл содержит одну или несколько инструкций PowerShell, которые выполняются при вызове сценарного файла с консоли. PowerShell дает пользователю возможность определять, допустимо ли выполнение сценариев, и если да — указывать, какие сценарии могут выполняться. Чтобы управлять выполнением сценариев и обеспечить более высокий уровень защиты системы, следует:


Атаки на корпоративную инфраструктуру: типовые сценарии

сформировать политику выполнения PowerShell; создать сертификат X.509; удостоверять сценарии цифровой подписью.

.

Формирование политики выполнения

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

Restricted: файлы конфигурации PowerShell не загружаются и сценарии не выполняются. Этот обеспечивающий самые жесткие ограничения параметр применяется по умолчанию. В результате после того, как вы установили PowerShell, непреднамеренное выполнение сценариев, а также загрузка данных конфигурации исключаются. В то же время вы можете выполнять отдельные команды с консоли PowerShell. AllSigned: все сценарии и файлы конфигурации должны быть удостоверены цифровой подписью пользующегося доверием издателя. Для подписи сценария вы должны задействовать сертификат подписи кода. Как будет показано ниже, такой сертификат можно создать самостоятельно. RemoteSigned: все сценарии и файлы конфигурации, загруженные из Интернета, должны быть удостоверены цифровой подписью. Однако сценарии, хранящиеся на вашем компьютере, могут выполняться, а локальные файлы конфигурации загружаться и в том случае, если они не имеют цифровой подписи. Unrestricted: выполняются все сценарии и загружаются все файлы конфигурации. Этот вариант связан с наименьшими ограничениями и, следовательно, сопряжен с наибольшим риском.

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

rss