Введение
Часто спрашивают: как работают групповые политики. Причем этот вопрос задается не обязательно с точки зрения редактирования GPO, проверки отмеченных политик и функций каждой отдельной настройки, но о том, почему групповая политика оказывается настолько умной, чтобы в момент загрузки контроллера домена обнаруживать нужные GPO. Вот об этом и будет эта статья. Мы заглянем в сердце механизма групповых политик. После прочтения этой статьи вы станете гораздо лучше понимать, каким образом и при каких условиях работают или не работают групповые политики. К тому же, это прекрасный урок в решении сложных проблем с групповыми политиками!
Начало: компьютер загружается
В качестве примера обсудим ПК в вашей инфраструктуре Active Directory.
Ваша Windows загружается, и компьютер должен получить IP-адрес. Если IP-адрес статический, то IP-адрес для DNS 'ДОЛЖЕН' быть адресом DNS-сервера, поддерживающего Active Directory. Если же IP-адрес динамический, то DHCP-сервер должен иметь всю необходимую информацию об IP-адресах, включая IP-адрес DNS-сервера, поддерживающего Active Directory.
Итак, у вас есть ПК с корректно настроенными IP-данными, включающими в себя, как минимум:
- IP-адрес ПК
- Маска подсети
- IP-адрес DNS-сервера для Active Directory
Общение с DNS
Когда у ПК появится IP-адрес DNS, он воспользуется службой NETLOGON для взаимодействия с DNS-сервером с целью получения списка IP-адресов всех контроллеров домена, к которому относится наш компьютер. Контроллеры домена перечислены в базе данных DNS под записями SRV (service resource locator - локатор служебных ресурсов). Эти записи вносятся динамически при создании контроллера домена из сервера. (Если ваш DNS не поддерживает динамическое обновление, тогда их нужно вводить вручную!)
Список контроллеров домена не произволен, а неким образом упорядочен. Список контроллеров домена будет контролироваться сайтом Active Directory, в котором располагается ПК. Сайты контролируются подсетями IP-адресов, настроенными администратором предприятия после настройки Active Directory. Начальный список контроллеров домена, получаемый от DNS, будет включать контроллеры домена на сайте ПК. После этого данный список станет список контроллеров домена всего домена.
Подробности об этом процессе можно найти по этой ссылке.
Взаимодействие с контроллером домена
Теперь, когда у нас есть список контроллеров домена, ПК начинает взаимодействие с контроллером домена для аутентификации. Это взаимодействие осуществляется по защищенному каналу между ПК и контроллером домена. Весь процесс происходит через общие папки, доступные на контроллере домена. Это ресурсы под названиями SYSVOL и NETLOGON. SYSVOL – это C:\Windows\SYSVOL\sysvol, а netlogon – это C:\Windows\SYSVOL\sysvol\<имя домена>\SCRIPTS.
Объекты групповой политики хранятся в SYSVOL, а сценарии входа хранятся в NETLOGON. Именно с помощью этого взаимодействия и именно через данные ресурсы и происходит получение GPO.
Направленность объектов групповой политики
Поскольку мы сейчас говорим только о входе в компьютер (персональный), нам требуются только те GPO, которые работают с разделом Computer Configuration. Контроллер домена определит, какие GPO должны применяться к ПК на основании местоположения аккаунтов в Active Directory. Также он определит, к какому сайту относится ПК, чтобы GPO, связанные с этим сайтом, также были отправлены компьютеру. Части Active Directory, существенные для определения местонахождения компьютера, включают в себя:
- Домен
- Сайт
- Организационная единица
Все GPO, связанные с доменом, сайтом и организационной единицей, в которых располагается аккаунт компьютера, отправляются этому ПК. (Естественно, есть и другие факторы, определяющие этот список GPO: фильтры безопасности, фильтры WMI, вложенные OU и т.д.)
Слежение за GPO на ПК
Список GPO, полученных ПК, отслеживается тут же, и когда потребуется обновить политики, компьютер помнит, что происходило в последний раз. Этот список GPO отслеживается в реестре. Найти его можно здесь:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Group Policy\History
Этот список показан на Рисунке 1.
Рисунок 1: Список относящихся к компьютеру GPO, хранящийся в реестре
Обратите внимание, что список GPO использует GUID GPO, а не название GPO. Это нормальная ситуация, т.к. ни операционной системе, ни Active Directory не важно название GPO, им нужен только GUID.
Далее: пользователь входит
Совершенно ясно, что компьютер получил все настройки GPO, связанные с Computer Configuration групповых политик, только потому, что он был загружен. Однако это только половина дела. Теперь пользователь должен войти и получить часть политик, связанных с разделом User Configuration групповых политик, применяемым после определения местонахождения аккаунта в Active Directory.
Поскольку данные об IP-адресах, связанных с DNS коммуникациях и соединение с контроллером домена уже установлены, эта часть процесса завершена. Теперь важно определить, где находится пользователь в Active Directory, чтобы к нему можно было применить нужные GPO. После того, как GPO будут применены к аккаунту пользователя, их хранение будет производиться аналогично тому, как это происходит с компьютером, только находиться они будут в разделе HKEY_Current_User реестра здесь:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy\History
На Рисунке 2 показан пример такого списка.
Рисунок 2: Хранимые пользователем GPO в реестре
Обновление групповой политики
У каждого GPO есть номер версии, используемый в процессе фонового или нефонового обновления групповой политики. И клиент, и контроллер домена хранят этот номер версии, чтобы иметь возможность сравнить его при следующем обновлении.
С клиентской стороны этот номер хранится в реестре под History\GUID на Рисунках 1 и 2. На Рисунке 3 показан номер версии для одного из GPO.
Рисунок 3: Номер версии GPO в списке в реестре компьютера
Контроллер домена хранит номер версии в GPT.ini под GUID для данного GPO в SYSVOL. Также он хранит номер версии в базе данных Active Directory с объектом для GPO. Таким образом гарантируется синхронизация SYSVOL и базы данных AD относительно правильных версии и данных в GPO.
Заключение
Обработка групповых политик – довольно сложный процесс с многими важными аспектами. Мы обсудили только некоторые высокоуровневые аспекты, в то время как многие другие аспекты остались нераскрытыми. Однако, любой администратор теперь должен иметь представление о том, что важно в процессе входа как компьютера, так и пользователя, а также о том, на каком этапе может нарушиться обработка групповой политики. При наличии стольких подвижных частей очень важно отследить все ключевые конфигурации при решении проблем с GPO. DNS, SRV-записи, SYSVOL, GUID, фильтры безопасности, фильтры WMI, расположение объектов в AD и т.д. В любой момент настройки групповой политики могут быть изменены, если конфигурация или расположение неверны.
|