Полное руководство по Active Directory и его компонентам

«Active Directory — это не просто каталог пользователей. Это распределённая база данных с собственной системой имён, механизмом транзакций и политик, где сбой DNS равносилен отказу всей инфраструктуры. Понимание её компонентов — это понимание того, как устроена безопасность и управление в корпоративной среде.»

DNS — фундамент работы Active Directory

Active Directory не просто использует DNS — она строится поверх него как над распределённой системой имён. Домен AD и домен DNS — это одно и то же пространство имён. Без правильно настроенного и стабильного DNS контроллеры домена не найдут друг друга, клиенты не найдут контроллеры, а механизмы аутентификации Kerberos и репликации остановятся.

Критические SRV-записи для AD

Службы AD регистрируют в DNS специальные SRV-записи, которые клиенты используют для обнаружения. Их отсутствие или повреждение приводит к частичной или полной неработоспособности домена.

Запись Назначение
_ldap._tcp.dc._msdcs.<домен> Поиск контроллеров домена для операций каталога.
_kerberos._tcp.<домен> Поиск серверов центра распространения ключей (KDC) для аутентификации Kerberos.
_gc._tcp.<домен> Поиск серверов глобального каталога для межлесных запросов и входа в систему с универсальными группами.
_ldap._tcp.pdc._msdcs.<домен> Поиск основного контроллера домена (PDC) для операций, требующих мастер-роли.

Динамическое обновление и безопасность

Контроллеры домена и клиенты автоматически регистрируют и обновляют свои A- и SRV-записи в DNS. Это удобно, но создаёт вектор для атак, таких как отравление DNS или регистрация ложного контроллера домена.

  • Безопасные динамические обновления — обязательная настройка. Она разрешает обновление записей только аутентифицированным и авторизованным узлам (членам домена), предотвращая вставку произвольных записей извне.
  • AD-интегрированные зоны — хранят данные зоны DNS не в файлах, а в объектах Active Directory. Это обеспечивает многомастерную репликацию через AD, встроенную безопасность на уровне объектов и отказоустойчивость.
  • Мониторинг аномалий — появление записей с подозрительными именами (например, содержащими «wpad», «исходное имя контроллера домена + суффикс») или регистрация новых SRV-записей от неизвестных IP-адресов может сигнализировать об атаке.

Критическая зависимость: AD неработоспособна без DNS. Рекомендация: Использовать AD-интегрированные зоны с безопасными динамическими обновлениями.

База данных Active Directory — NTDS.dit

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

Архитектура базы данных ESE

NTDS.dit использует Extensible Storage Engine (ESE/Jet Blue) — ту же технологию, что и старые версии Microsoft Exchange. База состоит из нескольких взаимосвязанных таблиц.

  • Data Table — основная таблица. Содержит все объекты (пользователи, группы, OU) и их атрибуты (имя, SID, пароль в хэшированном виде). Каждая запись — это объект каталога.
  • Link Table — таблица связей. Хранит ссылки между объектами, например, членство пользователя в группах. Это позволяет эффективно выполнять транзитивные запросы (например, «в каких группах состоит пользователь?»).
  • SD Table — таблица дескрипторов безопасности. Содержит дескрипторы безопасности (SD) для объектов, определяющие права доступа (ACL). Вынесена в отдельную таблицу для оптимизации.
  • Schema Table — таблица схемы. Определяет, какие классы объектов (user, computer) и атрибуты (telephoneNumber) могут существовать в лесу. Изменяется редко.

Механизм журналов транзакций

Для обеспечения целостности данных и возможности восстановления AD использует механизм записи вперёд (write-ahead logging). Все изменения сначала фиксируются в журнале транзакций, а затем применяются к основной базе.

  1. Запись в журнал — при любом изменении (смена пароля, добавление в группу) данные сначала записываются в текущий журнал транзакций (например, EDB.log).
  2. Создание контрольной точки — периодически создаётся файл контрольной точки (EDB.CHK), который отмечает, какие транзакции из журналов уже применены к базе NTDS.dit.
  3. Применение к базе — фоновый процесс «сборки мусора» применяет зафиксированные транзакции из журналов к основной таблице базы данных.
  4. Усечение журналов — после создания резервной копии базы данных (или при включённых циклических журналах) старые, уже применённые журналы (EDB00001.log, EDB00002.log) могут быть удалены.

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

Расположение: %SystemRoot%NTDSNTDS.dit (по умолчанию). Типичный размер: от сотен мегабайт до десятков гигабайт, в зависимости от количества объектов. Доступ: Файл заблокирован службой AD DS; прямое копирование или редактирование невозможно без остановки службы или использования специальных низкоуровневых утилит.

Group Policy Objects (GPO) — централизованное управление

Объекты групповой политики — это основной инструмент принудительного применения конфигурации в домене. Они позволяют не просто раздать настройки, а создать детерминированную среду, где состояние компьютера или сессии пользователя определяется политикой, а не локальными правками.

Архитектура хранения GPO

Каждый GPO физически состоит из двух частей, хранящихся в разных местах, что важно для понимания репликации и проблем.

Компонент Место хранения Содержимое
Контейнер GPC (Group Policy Container) Active Directory (в разделе SystemPolicies). Свойства GPO, его версии, статус, ссылки на сайты, домены и подразделения (OU). Реплицируется через AD.
Шаблон GPT (Group Policy Template) Общая папка SYSVOL на контроллерах домена (domainSYSVOLdomainPolicies). Фактические файлы политик: ADMX/ADML-файлы, скрипты, настройки безопасности. Реплицируется через протокол репликации файлов (DFSR или FRS).

Расхождение версий между GPC и GPT — частая причина проблем с применением политик.

Основные категории политик

Политики разделены на два логических блока, которые применяются в разные моменты времени.

Конфигурация компьютера

Применяется при запуске операционной системы, до появления экрана входа. Задаёт параметры самой системы.

  • Параметры безопасности: политики паролей, аудит, права пользователей, брандмауэр.
  • Конфигурация сети: параметры TCP/IP, проводные и беспроводные сети.
  • Установка ПО: распределение приложений через MSI-пакеты.
  • Скрипты: скрипты запуска и завершения работы.

Конфигурация пользователя

Применяется после входа пользователя в систему. Задаёт параметры его рабочей среды.

  • Настройки рабочего стола и панели задач.
  • Параметры меню «Пуск» и проводника.
  • Скрипты входа в систему и выхода из системы.
  • Настройки конкретных приложений (например, Microsoft Office).

Важно: политики пользователя не применяются, если компьютер не находится в домене, даже если пользователь доменный.

Процесс применения политик

Клиент (компьютер или пользователь) не пассивно получает настройки, а активно участвует в процессе.

  1. Обнаружение — Клиент запрашивает у контроллера домена список GPO, связанных с его расположением (сайт, домен, OU).
  2. Загрузка — Клиент обращается к папке SYSVOL по пути, указанному в GPC, и загружает файлы политик (GPT).
  3. Применение — Политики применяются в строгом порядке наследования и приоритета, известном как LSDOU:
    • Local — Локальная политика компьютера.
    • Site — Политики, связанные с сайтом Active Directory.
    • Domain — Политики, связанные с доменом.
    • Organizational Unit — Политики, связанные с подразделением (от родительского к дочернему).

    Политика, применённая позже (например, на уровне OU), перезаписывает аналогичную настройку из политики, применённой раньше (например, на уровне домена), если не стоит флаг «Запретить переопределение».

  4. Отчетность и обработка — Результаты применения (успех, ошибки) записываются в журнал событий. Многие политики (особенно настройки безопасности) требуют перезагрузки или повторного входа для полного вступления в силу, так как применяются только на определённых фазах (загрузка, вход).

Оставьте комментарий