Подпись скриптов PowerShell в доменной среде

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

Структуры в Active Directory

Структуру важно понимать для эффективного администрирования Active Directory, так как правильные методы хранения и организации являются ключом к построению безопасной иерархии. Ниже приведены некоторые основные структурные аспекты управления Active Directory:

  • Домены. Домен AD — это совокупность объектов, таких как пользователи или устройства, которые совместно используют политики, и базы данных. Домены содержат идентифицирующую информацию об этих объектах и имеют DNS-имя. Групповая политика может применяться ко всему домену или подгруппам, называемым организационными единицами (OU).
  • Деревья. Несколько доменов AD в одной группе называются деревьями. Они совместно используют конфигурацию сети, схему и глобальный каталог. Существует правило доверия с деревьями — когда новый домен присоединяется к дереву, ему сразу же доверяют другие домены в группе.
  • Леса. Лес — это группа деревьев, которые совместно используют одну базу данных. Это вершина организационной иерархии в AD. Один лес должен быть использован для каждого отдела. Важно отметить, что администраторы пользователей в одном лесу не могут автоматически получать доступ к другому лесу.

Создание шаблона сертификата подписи кода на выдающем сервере сертификации

Первым делом надо для пользователя, который будет создавать скрипты PowerShell, указать группу безопасности, предназначенную для подписания всех последующих скриптов. Для этого создается, скажем, глобальная группа безопасности «PS_ScriptCreators» и в качестве ее членов добавляется пользователь DCAdmin.

Создание шаблона сертификата подписи кода на выдающем сервере сертификации

Ввиду того что дальше будет продемонстрирован процесс создания шаблона сертификата, нужно будет находясь на сервере сертификации выполнить следующие действия:

Создание шаблона сертификата подписи кода на выдающем сервере сертификации
  1. Откройте оснастку «Шаблоны сертификатов» (Certificate Templates). Для этого в диалоговом окне «Выполнить» (Run) вы можете ввести команду «». Если вы хотите закрепить эту оснастку в меню «Пуск» или на панели задач, то тогда вам следует открыть «Консоль управления Microsoft» (Microsoft Management Console, MMC), где надо из диалогового окна добавления и удаления оснасток выбрать оснастку «Шаблоны сертификатов» (Certificate Templates). После этого останется лишь сохранить эту оснастку;
  2. Теперь, находясь в требуемой оснастке, вам надо локализовать шаблон «Подписывание кода» (Code Signing) и из контекстного меню выбрать опцию копирования шаблона. В отобразившемся диалоговом окне создания нового шаблона вам следует на вкладке общих параметров указать имя и отображаемое имя шаблона (например, как видно на следующей иллюстрации, в качестве отображаемого имени было указано «Подписывание скриптов Windows PowerShell», а имя шаблона – «PowerShellScriptSigning»), а также удостовериться в том, что на всех вкладках выбраны идентичные с основным шаблоном настройки. Например, на вкладке обработки запроса (Request Handling) в качестве цели указывается «Подпись», на вкладке имени субъекта, в качестве источника имени переключатель установлен на опции построения на основе данных Active Directory и в качестве типа субъекта выбран пользователь, а также на вкладке шифрования следует удостовериться, что в качестве поставщиков служб шифрования указаны «Microsoft Base Cryptographic Provider v1.0» и «Microsoft Enhanced Cryptographic Provider v1.0». Все это видно на следующей иллюстрации:

    Рис. 3. Создание нового шаблона сертификата

  3. Ввиду того что нам необходимо, чтобы подписывать скрипты PowerShell мог лишь узкий круг пользователей, на вкладке «Безопасность» (Security) следует выбрать созданную ранее группу «PS_ScriptCreators» и установить для нее разрешения на чтение и на заявку, после чего можно сохранить диалоговое окно создания нового шаблона сертификата. Назначенные разрешения для выбранной группы безопасности вы можете увидеть ниже:

    Рис. 4. Назначение разрешений для группы безопасности «PS_ScriptCreators»

  4. После этого следует включить сгенерированный на предыдущих этапах шаблон сертификата. Для этого надо открыть оснастку «Центр сертификации» (Certification Authority) и перейти к узлу «Шаблоны сертификатов» (Certificate Templates). В этом узле вы можете увидеть все шаблоны сертификатов, которые доступны для запроса самих сертификатов. Ввиду того что изначально данный шаблон отсутствует в этом списке, вам придется его добавить. Для этого надо кликнуть правой кнопкой мыши на названии узла шаблонов сертификатов и затем выбрать последовательно опции «Создать» и «Выдаваемый шаблон сертификата» (New > Certificate Template to Issue). Как вы видите на следующей иллюстрации, в отобразившемся диалоговом окне «Включение шаблонов сертификатов» (Enable Certificate Templates) вам нужно лишь выбрать требуемый шаблон сертификата, а затем нажать на кнопку «ОК»:

    Рис. 5. Включение шаблона сертификата

Создание шаблона сертификата подписи кода на выдающем сервере сертификации

Итого, шаблон сертификата, предназначенного для подписи скриптов Windows PowerShell создан и включен. Можно переходить к следующему этапу.

Читайте также:  Как запустить командную строку от имени администратора на Windows 7,10

Настроим созданный объект

Для настройки нового объекта кликаем по нему правой кнопкой мыши. В контектстном меню выбираем “Изменить”.

Настроим созданный объект

Откроется окно редактора управления групповыми политиками. Займемся “полезным” делом — удалим папку со стандартными играми из меню Пуск. Для этого, в меню слева проследуем по пути Конфигурация пользователя Конфигурация пользователя → Политики → Административные шаблоны: получены определения политик (ADMX-файлы) с локального компьютера → Меню “Пуск” и панель задач.

В правой части окна найдем параметр “Удалить ссылку “Игры” из меню “Пуск””. Для удобства поиска можно воспользоваться сортировкой по имени, вверху окна.

Настроим созданный объект

Кликаем по этому параметру правой кнопкой мыши, выбираем “Изменить”.

В открывшемся окне изменим состояние на “Включено”. В поле комментария рекомендуем не игнорировать. Для завершения настройки нажимаем “OK”.

Настроим созданный объект

Создание объектов можно считать оконченным.

Глобальный каталог

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

Глобальный каталог (ГК) включает в себя ограниченный набор атрибутов для каждого объекта леса в каждом домене. Данные он получает из всех разделов каталога доменов в лесу, они копируются с использованием стандартного процесса репликации службы Active Directory.

Схема определяет, будет ли атрибут скопирован. Существует возможность конфигурирования дополнительных характеристик, которые будут создаваться повторно в глобальном каталоге с помощью “Схемы Active Directory”. Для добавления атрибута в глобальный каталог, нужно выбрать атрибут репликации и воспользоваться опцией “Копировать”. После этого создастся репликация атрибута в глобальный каталог. Значение параметра атрибута isMemberOfPartialAttributeSet станет истиной.

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

Читайте также:  Исправляем ошибку 0x80240fff при установке обновлений Windows 10

dsquery server –isgc