ПредишенСледващото

Както е добре известно, че почти всички потребители на PowerShell, за да работи на политиката за сигурност на скриптове е въведена. Кой има 4 режима:

  • Ограничен - не е позволено да изпълни всички скриптове, които могат да работят само в интерактивна конзола
  • AllSigned - всички скриптове трябва да бъдат криптографски подписани
  • RemoteSigned - получи само от ненадеждни източници (например интернет) скриптове трябва да бъдат подписани
  • Неограничен - най-малко сигурна ниво, разрешено изпълнението на скриптове

Във версия V2 (все още CTP3) PowerShell скрипт приравни към изпълними файлове, както и тези файлове са станали neotklyuchaemo Политики Политика Монитор за ограничаване на софтуера. Аз вече писано по-рано: PowerShell V2 и политики за ограничаване на софтуера. В началото бях много неприятно това, но след като стигна до заключението, че тя е вярна. Грешен само, че ние не виждаме (удължаване ps1 никъде не се появява). С тази борба имате два метода - ясно да посочи пътя, където е позволено .ps1 стартира файлове или да ги подпише.

Ако компютри в мрежата повече от един, а след това е идеалното решение за проблема е наличието на един домейн на Active Directory, и ако е възможно, Enterprise Сертифициране Authity (Калифорния). Домейн Наличие на решаване на много проблеми, тъй като разпространението на SRP политики в областта, разпространението сертификат в рамките на сертификат версия на домейна, контрол, който подписа скриптове.

Така че, първо трябва да получи сертификат, който ще бъде подписан скриптове. От съображения за сигурност, трябва да създадете ограничен потребителски акаунт изпод администратор (в повечето случаи), ще бъде подписване на скриптове. Книгата е PowerShell в действие, за да генерира сертификат предложи да използвате makecert.exe. който е част от Visual Studio SDK, но ми се струва, по-правилно да се използва CA. В Windows Server CA за тази цел има готов шаблон, който се нарича Подписване на код. Но няма съществена разлика, какво инструмент, който ще генерира сертификат и ще опиша процеса на получаване на сертификат с CA. домейн

След това, трябва да влезете в системата от страна на потребителя, стартирайте мениджърът на сертификати модула в (Start -> Run ... -> certmgr.msc) и изпълнение на заявка за сертификат. В списъка с шаблони, за да се добави и нашата Подписване на код. Когато сертификатът не е необходимо, за да затворите сертификати щракнат ще бъде поискано. На следващо място, ние трябва да се изнася откритата част на удостоверението във файла x509 (с .CER разширение). Износ общественото участие, трябва да проверим, подпис и подписа на организация доверието в рамките на домейна. Износът на сертификат, който да бъде доставен администратор (-АМИНО), сега е отговорен за Group Policy.

В група политики (най-често в правилата на домейна) трябва да създаде нови политики политики за ограничаване на софтуера в Additiona Правила добавите правило за сертификат (Certificate в областта на върховенството) и посочете изнесени сертификата. Необходимо е след това, че PowerShell да провери доверието на сертификат търси го в съда и само за ограничаване на софтуера политики Trusted Издатели на централно разпространява сертификати в този контейнер.

Сега можете да започнете Подписване скриптове. За тези цели на Set-AuthenticodeSignature кратката команда и синтаксис е както следва:

Къде $ файла - път към скрипта и $ CERT - обектът сертификат, който се получава, както следва:

Тук изрично се отбележи, че ние се нуждаем от сертификат, който в ЕКЮ (Enchanced Key Usage) Set Code Sgining. В нашия случай, тя ще просто 1. Но ако те ще бъдат по-малко, а след това ние ще изберем първия. Ето как ще изглежда на практика:

Аз демонстрира как работи. За първи път в превод на политиката за изпълнение сценарий AllSigned и е установено, че неподписан сценария не се изпълнява. След това се записах на скрипта и отново се опита. Както можете да видите, сценарият вече е запълнена.

Ако няма условие за разпределението на сертификат чрез SRP политика в Trusted контейнера за издатели. След това можете да получите тук е посланието:

Това е начина, по който да реши проблема на изпълнение само доверен определени скриптове. В този смисъл, PowerShell 1.0 по-малко сигурна и удобна, защото не можем да блокира изпълнението на политиките за SRP PS1 файл като клас и има само един вариант - насилственото подписване на скриптове. Във версия V2 изпълнение политика скрипт удобно се интегрира с SRP. Лесен за интеграция е, че в допълнение към разпространението на сертификат SRP в рамките на домейн, както и въз основа на това правило позволява да се изпълни тези скриптове, за да заобиколят ограничението, наложено на файловете PS1.

В следващия пост ще обясня как можете да опрости процеса на подписване на скриптове. Така, че не забраните :-)

Свързани статии

Подкрепете проекта - споделете линка, благодаря!