Структура компонентов групповой политики. Часть 1

Дмитрий Буланов

Введение

*Невзирая на размер и сложность построения организации, любые администраторы должны задавать, управлять и обслуживать различные конфигурации пользователей и компьютеров, размещенных в разных подразделениях, так как в каждом отделе могут быть различные ограничения, потребности в использовании специализированного программного обеспечения и многое другое. Групповая политика предоставляет много возможностей, снижающих стоимость управления компьютерными системами, представляя собой компонент операционной системы Windows, позволяющий управлять изменениями и конфигурацией пользователей и компьютеров в центральной точке администрирования. Многие из вас уже не один год работают с групповыми политиками. Благодаря этой технологии, в вашей организации уже, наверное, оптимальным образом настроены клиентские компьютеры и учетные записи пользователей. Возможно, вы даже работаете со всеми доступными клиентскими расширениями, включая предпочитаемые групповые политики, политики защиты доступа к сети, политики ограниченного использования программ, а также расширение "установка программ", о которых в своих статьях я упоминал лишь вскользь. Многие ли из вас задумывались непосредственно об архитектуре групповых политик, а также о компонентах, взаимодействующих при распространении объектов групповой политики, на клиентские компьютеры?

Сама инфраструктура групповой политики основана на архитектуре "клиент - сервер" с компонентами клиента и сервера и включает в себя модуль групповой политики, представляющий собой основу для обработки общих функциональных параметров административных шаблонов, а также определенных компонентов, называемых расширениями клиентской стороны (Client-side extension, CSE). Расширения клиентской стороны интерпретируют параметры в объекты групповой политики и вносят соответствующие изменения в конфигурацию компьютера или пользователя. Такие расширения относятся ко всем основным категориям параметров политики. Другими словами, одно расширение клиентской стороны предназначено для установки программного обеспечения, другое применяет изменения безопасности, третье - обеспечивает автоматическую настройку компьютеров, подключенных к проводной сети и так далее. Как, возможно, вы догадались, в разных версиях операционной системы присутствуют конкретные расширения клиентской стороны, причем, с каждой последующей версией Windows функционал групповой политики пополнялся новыми расширениями CSE. Например, с появлением операционной системы Windows Server 2008, функционал групповой политики пополнился более 20 расширениями клиентской стороны, при помощи которых возможно осуществление управления дополнительными параметрами, например, сопоставление дисков или изменение секций в свойствах *.ini-файлов, называемых предпочитаемыми групповыми политиками, которые в отличие от параметров групповой политики, предпочтения групповой политики не так строго привязываются к настройкам определенных компонентов системы. С появлением операционных систем Windows 7 и Windows Server 2008 R2 появилось расширение CSE AppLocker, при помощи которого можно указать, какие пользователи и группы в организации могут запускать определенные приложения в зависимости от уникальных идентификаторов файлов. Таких примеров можно привести много. Но необходимо помнить, что клиент групповой политики всегда извлекает объекты групповой политики из домена, включая настроенные вами расширения клиентской стороны для локального применения параметров. Параметры групповой политики определяют конкретную конфигурацию для применения. Некоторые параметры политики влияют только на пользователя независимо от того, с какого компьютера был выполнен вход в систему, а другие параметры влияют на компьютер, независимо от того, какой пользователь вошел в систему на этом компьютере. Такие параметры называются параметрами конфигурации пользователей и параметрами конфигурации компьютеров. Параметры политики определяются и располагаются в объекте групповой политики, который может включать в себя один или несколько параметров политики и применяться к одной или нескольким конфигурациям пользователя или компьютера. А, как вы знаете, объекты групповой политики (GPO) можно создавать при помощи оснастки "Управление групповой политикой" (GPMC).

Из этой статьи вы узнаете об архитектуре механизма групповой политики, а также в ней вкратце будет рассмотрена архитектура таких расширений клиентской стороны, как:

  • Установка программ, расширение клиентской стороны, предназначенное для централизованного управления начальным развёртыванием, обновлением и удалением программного обеспечения;
  • Параметры безопасности, расширение клиентской стороны, содержащее правила, позволяющие администраторам настраивать компьютеры для обеспечения защиты ресурсов;
  • Политики беспроводной сети, расширение клиентской стороны, обеспечивающее автоматическую конфигурацию для компьютеров, подключающихся к сети при помощи совместимого коммутатора 802.1X;
  • Перенаправление папок, расширение клиентской стороны, позволяющее администратору перенаправлять местоположение некоторых папок в пользовательском профиле на размещения, расположенные на сетевых ресурсах;
  • Политики ограниченного использования программ, расширение клиентской стороны, предоставляющее администраторам управляющий механизм, предназначенный для предотвращения распространения пользователями вредоносного программного обеспечения, запрещая пользователям запускать и устанавливать программное обеспечение;
  • Расширение политики IPSec. расширение клиентской стороны, обеспечивающее защиту сетей, выполняя шифрование пакетов IP и используя безопасные подключения, гарантируя их подлинность и конфиденциальность.

Архитектура групповой политики

Как уже было упомянуто ранее, основным компонентом групповой политики является модуль групповой политики, также называемый ядром групповой политики, представляющий собой инфраструктуру, обрабатывающую серверные расширения, а также расширения клиентской стороны, управляемые при помощи таких административных инструментов, как "Управление групповой политикой" и "Редактор управления групповой политикой". Стоит отметить, что изначально каждый компьютер под управлением операционных систем Windows 2000, Windows XP и Windows Server 2003 содержит только по одному локальному объекту групповой политики, который управляет конфигурацией системы и существует независимо от членства компьютера в рабочей группе или в домене, причем, влияют они только на текущий компьютер. Располагается этот объект в папке %SystemRoot%\System32\GroupPolicy. Начиная с операционных систем Windows Vista и Windows Server 2008, операционные системы содержат множество локальных объектов GPO, где объект групповой политики "Локальный компьютер", применяемый к конфигурации компьютера ничем не отличается от соответствующего объекта GPO в системах-предшественниках. Но параметры пользователей на локальном компьютере модифицируются при помощи пользовательских параметров, которые можно найти в двух новых объектах GPO: "Администраторы" и "Не администраторы", применяемые к пользователям, согласно их членству в локальных группах.

В отличие от локального применения групповой политики, доменные объекты групповой политики предназначаются для централизованного управления конфигурацией пользователей и компьютеров в домене Active Directory и хранятся непосредственно на контроллерах домена. В доменной среде, объекты GPO привязываются к таким уровням структуры Active Directory, как сайт, домен или подразделение, предоставляя возможность наследования параметров групповой политики. Изначально после установки роли "Доменные службы Active Directory" создаются два следующих объекта GPO:

  • Default Domain Policy. Данный объект групповой политики привязывается к домену и влияет на всех пользователей и все компьютеры в домене. В большинстве случаев, этот объект групповой политики содержит политики паролей, Kerberos и политики блокировки учетных записей.
  • Default Domain Controller Policy. Этот объект GPO изначально связан с контейнером Domain Controllers и влияет только на контроллеры домена.

Разумеется, помимо этих объектов групповой политики вы можете самостоятельно создавать объекты GPO и привязывать их к сайту, домену или любому подразделению. На следующей иллюстрации изображено взаимодействие архитектуры клиента и сервера групповой политики в рамках параметра обработки политики:

*

Увеличить рисунок

Рис. 1. Компоненты групповой политики

Всегда при взаимодействии клиента и сервера групповых политик, распространение объекта GPO начинается с того, что администратор при помощи так называемых административных инструментов создает объект групповой политики. На этом этапе системный администратор может вносить изменения в объект групповой политики, используя оснастку "Редактор управления групповыми политиками", вызванную из оснастки "Управление групповой политикой". В этой оснастке, в расширении серверной стороны администратор настраивает параметры политик. Оснастка располагается в библиотеке userenv.dll, которую можно найти в папке Windows\System32\. После этого, изменения, внесенные в параметры объектов групповой политики, передаются в Active Directory на контроллер домена

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

При создании каждого нового объекта групповой политики, в базе данных Active Directory создается контейнер групповой политики (Group Policy Container, GPC), который вы можете найти в оснастке "Active Directory - пользователи и компьютеры". Этот контейнер вы сможете найти как дочерний контейнер Policies контейнера System, только в том случае, когда вы включите отображение дополнительных компонентов из меню "Вид", как можно увидеть на следующей иллюстрации:

*

Увеличить рисунок

Рис. 2. Контейнеры групповой политики в домене Active Directory

В Active Directory контейнер групповой политики создается как тип groupPolicyContainer, причем его GUID вы можете увидеть в оснастке "Active Directory - пользователи и компьютеры" в столбце "Имя". Можно выделить следующие шесть основных атрибутов, позволяющих описать различные типы данных объекта групповой политики:

  • displayName. Атрибут, определяющий имя объекта групповой политики;
  • gPCFileSysPath. Атрибут, указывающий путь к расположению текущего шаблона групповой политики с соответствующим именем GUID;
  • gPCMachineExtensionNames. Атрибут, определяющий список расширений клиентской стороны конфигурации компьютера, используемых для обработки объекта групповой политики;
  • gPCUserExtensionNames. Атрибут, определяющий список расширений клиентской стороны конфигурации пользователя, используемых для обработки объекта групповой политики;
  • значение текущего атрибута выглядит следующим образом: [{35378EAC-683F-11D2-A89A-00C04FBBCFA2}{53D6AB1D-2488-11D1-A28C-00C04FB94F17}], что представляет собой [{GUID CSE-расширения}{GUID расширения MMC}{GUID второго расширения MMC}][GUID-идентификаторы последующих CSE- и MMC-расширений]

  • versionNumber. В этом атрибуте определен номер версии контейнера GPC объекта групповой политики, который для осуществления синхронизации двух объектов должен быть идентичным с номером версии шаблона групповой политики;
  • flags. Используя текущий атрибут вы можете просмотреть состояние объекта групповой политики. Под состоянием подразумевается то, что согласно значениям этого атрибута можно определить, включен ли объект GPO (значение 0), отключен ли раздел "Конфигурация пользователя" (значение 1), отключен ли раздел "Конфигурация компьютера" (значение 2) или если объект GPO полностью отключен (значение 3).

Помимо упомянутых выше атрибутов, вы еще можете найти атрибуты, отображающие пользователей и группы с правами на управление объекта групповой политики. Несмотря на то, что вы можете изменять данные атрибуты при помощи оснастки "Редактор ADSI", данные атрибуты вручную изменять не желательно. Атрибуты объекта групповой политики вы можете увидеть на следующей иллюстрации:

*

Рис. 3. Пример атрибутов контейнера групповой политики

Каждый контейнер шаблона групповой политики после настройки объекта GPO создается и сохраняется в папке %SystemRoot%\SYSVOL на каждом контроллере домена. Причем, как уже было сказано ранее, каждый шаблон групповой политики создается с именем, указанным в атрибуте контейнера групповой политики. Шаблон групповой политики включает в себя практически все параметры объекта групповой политики, которые были добавлены в сам объект GPO. В основном, эти параметры можно найти в следующих папках:

  • Adm. Ввиду того, что начиная с операционных системы Windows Vista и Windows Server 2008 для административных шаблонов стали использоваться ADMX и ADML файлы, необходимость в этой папке отпала. В случае использования устаревших административных шаблонов, все файлы административных шаблонов *.adm из папки %SystemRoot%\inf того компьютера, на котором создавался объект GPO, будут сохраняться в текущей папке;
  • USER. В этой папке вы можете найти все внесенные в объект групповой политики изменения для конфигурации пользователя. В зависимости от того, как вы настроите объект GPO, в текущей папке можно найти следующее:
    • Registry.pol - параметры системного реестра, настроенных параметров политики административных шаблонов;
    • \Applications - информацию по установке программного обеспечения при помощи CSE GGPSI;
    • \Documents & Settings - данные о перенаправлении папок;
    • \Microsoft\IEAK - информацию о настройках браузера Internet Explorer;
    • \Scripts\Logon - файлы сценариев входа, настроенных в GPO;
    • Scripts\Logoff - файлы сценариев выхода, настроенных в GPO;
  • MACHINE. В этой папке вы можете найти все внесенные в объект групповой политики изменения для конфигурации компьютера. В зависимости от того, как вы настроите объект GPO, в текущей папке можно найти следующее:
    • Registry.pol - параметры системного реестра, настроенных параметров политики административных шаблонов;
    • \Applications - информацию по установке программного обеспечения при помощи CSE GGPSI;
    • \Microsoft\Windows NT\SecEdit - файл GptTmpl.inf, определяющий настройки, указанные в узле "Параметры безопасности";
    • Scripts\Shutdown - файлы сценариев завершения работы, настроенных в GPO;
    • Scripts\Startup - файлы сценариев запуска компьютера, настроенных в GPO;
  • Gpt.ini. Файл, используемый для выводимого имени соответствующего объекта групповой политики и хранения номера версии шаблона GPO.

Последний, кто участвует во взаимодействии клиента и сервера групповой политики - это клиентский компьютер, на который должны распространяться параметры политики, указанные в соответствующем объекте GPO. Если говорить о процессе распространения групповых политик на клиентский компьютер в общих чертах, то это выглядит следующим образом. Целевой компьютер связывается с контроллером домена. Модель групповых политик вызывает расширения клиентской стороны, реализованные в библиотеках, зарегистрированных в системном реестре и отвечающих за внесение изменений, согласно параметрам политики. Для выполнения настроек, указанных в параметрах групповой политики, расширения клиентской стороны изменяют конкретные параметры операционной системы. Изменения, внесенные в операционную систему при помощи модуля групповых политик, записываются в журналы событий. Начиная с операционных систем Windows Vista и Windows Server 2008, в отличие от предыдущих операционных систем, которые для выполнения обработки групповой политики использовали службу Winlogon, теперь для выполнения этих действий используется служба клиента групповой политики gpsvc. Реализовано это было с целью повышения стабильности работы системы, так как эта служба выполняется в процессе Svchost, что позволяет реализовать снижение объема памяти, занимаемого для обработки каждого процесса. В этом случае, подобно тому, как было в предыдущих операционных системах, расширения CSE запускаются в пространстве текущего процесса, как можно увидеть на следующей иллюстрации:

*

Увеличить рисунок

Рис. 4. Расширения CSE

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

  • Appmgmts.dll. Библиотека, предназначенная для обработки политики установки программного обеспечения;
  • Auditsce.dll. Библиотека, используемая для настройки политики аудита;
  • Cscobj.dll. Библиотека, сопоставленная с расширением клиентской стороны файлов Microsoft Office;
  • Dot3gpclnt.dll. Библиотека, обрабатывающая политики проводной сети IEEE 802.3;
  • Dskquota.dll. Библиотека, выполняющая обработку дисковой квоты;
  • Fdeploy.dll. Библиотека, используемая для перенаправления папок;
  • Gpprefcl.dll. Библиотека, выполняющая обработку окружения групповой политики, включающая большинство расширений клиентской стороны;
  • Gpprnext.dll. Библиотека, при помощи которой назначаются политики развертывания принтеров;
  • Gpscript.dll. Библиотека, отвечающая за расширение клиентской стороны, управляемой работой с сценариями;
  • Gptext.dll. Библиотека, использующаяся для обработки QoS на основе политики, TCP IP и некоторых сценариев;
  • Iedkcs32.dll. Библиотека, позволяющая управлять параметрами политики настройки браузера Internet Explorer;
  • Polstore.dll. Библиотека, предназначенная для работы с политиками IP-безопасности;
  • Scecli.dll. Применяется при обработке параметров безопасности;
  • TsUsbRedirectionGroupPolicyExtension.dll. Библиотека, предназначенная для перенаправления USB устройств;
  • Userenv.dll. Библиотека, включающая в себя модуль групповой политики и административные шаблоны;
  • Wlgpclnt.dll. Библиотека, обрабатывающая политики беспроводной сети IEEE 802.11.

Продолжение следует.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=25451