Підписування powershell скриптів сертифікатом, rgarazd

За замовчуванням, виконання скриптів Windows PowerShell відключено. Різні політики (їх всього 4) відповідають за можливість запуску як підписаних, так і непідписаних скриптів, які можуть бути як викачаними з Інтернету, так і локальними.

Поточний рівень безпеки задається параметром «ExecutionPolicy», який можна змінити в реєстрі. Він розташований за наступним шляхом:

Однак, набагато простіше скористатися вбудованою в саму консоль командою:

Параметр «ExecutionPolicy» може набувати таких значень:

  • AllSigned - Все .ps1 і .ps1xml файли повинні мати цифровий підпис. Це стосується і конфігураційних файлів як для всієї системи в цілому, так і для конкретного користувача. Якщо файл підписаний і проводиться спроба його виконання, то оболонка задасть питання про те, чи довіряєте ви даному видавцеві і чи варто запускати файли, підписані цією особою (або організацією) в подальшому. Ця політика поширюється навіть на файли, які створені на вашій машині. Вони теж повинні бути підписані.
  • RemoteSigned - Файли .ps1 і .ps1xml завантажені з мережі за допомогою програм Microsoft Outlook, Internet Explorer, Outlook Express або Windows Messenger і ін. Повинні бути підписані видавцем, якому ви довіряєте. Якщо файл має цифровий підпис і його спробувати запустити, то оболонка задасть питання про те, чи довіряєте ви даному видавцеві і чи варто запускати файли, підписані цією особою або організацією надалі. Скрипти, які являютсялокальнимі, запускаються без виведення запиту про довіру конкретному видавцеві і цифрового підпису не вимагають.
  • Restricted - Виконання скриптів заборонено. Ця заборона поширюється на системні і призначені для користувача файли профілів. Дана політика включена за замовчуванням. Завантаження конфігураційних файлів при старті можлива, однак вони повинні мати цифровий підпис. В цьому випадку система запитає про можливість запуску зараз і надалі скриптів підписаних цією особою або організацією.
  • Unrestricted - Файли можуть не мати цифрового підпису. Запуск файлів, викачаних з мережі, буде супроводжуватися попереджуючим повідомленням. Для позбавлення від нього необхідно виділити файл в Explorer'е і, натиснувши праву кнопку миші, вибрати пункт «Properties» (властивості) і натиснути «Unblock» (розблокувати).

Відразу після установки в Windows PowerShell встановлений режим Restricted, що дозволяє працювати з консоллю тільки в інтерактивному режимі.

Отже для підпису сертифіката необхідно:

1. Отримуємо сертифікат від центру сертифікації

2. Перевіряємо сертифікати підпису коду на робочій станції

Get-ChildItem cert: \ CurrentUser \ my -CodeSigningCert

Схожі статті