Введение

Служба каталогов, созданная Microsoft для доменных сетей Windows.

Active Directory (AD) — это служба каталогов, разработанная Microsoft для доменных сетей Windows. Операционные системы Windows Server включают её в качестве набора процессов и служб. Изначально Active Directory использовалась только для централизованного управления доменами. Однако со временем она стала общим названием для различных служб, связанных с идентификацией и основанных на каталоге. Доменный контроллер — это сервер, выполняющий роль службы домена Active Directory (AD DS). Он аутентифицирует и авторизует всех пользователей и компьютеров в сети доменного типа Windows, назначает и обеспечивает соблюдение политик безопасности для всех компьютеров, а также устанавливает или обновляет программное обеспечение. Например, когда пользователь входит в систему на компьютере, являющемся частью домена Windows, Active Directory проверяет введенное имя пользователя и пароль и определяет, является ли пользователь системным администратором или обычным пользователем. Кроме того, она обеспечивает управление и хранение информации, предоставляет механизмы аутентификации и авторизации, а также формирует основу для развертывания других связанных служб: служб сертификации, служб федерации Active Directory, легковесных служб каталогов и служб управления правами. Active Directory использует протокол легкого доступа к каталогам (LDAP) версий 2 и 3, версию Kerberos от Microsoft и DNS. Роберт Р. Кинг определил её следующим образом:

«Домен представляет собой базу данных. Эта база данных содержит записи о сетевых ресурсах, таких как компьютеры, пользователи, группы и другие объекты, которые используют, поддерживают или существуют в сети. База данных домена, по сути, и есть Active Directory».

История

Как и многие проекты в области информационных технологий, Active Directory берет свое начало в демократизации разработки с использованием запросов на комментарии (RFC). Internet Engineering Task Force (IETF) осуществляет надзор за процессом RFC и утвердила множество RFC, инициированных широким кругом участников. Например, LDAP является основой Active Directory. Кроме того, каталоги X.500 и организационные подразделения (Organizational Unit) предшествовали концепции Active Directory, которая использует эти методы. Концепция LDAP начала формироваться еще до основания Microsoft в апреле 1975 года, с первыми RFC, датируемыми 1971 годом. RFC, внесшие вклад в развитие LDAP, включают RFC 1823 (о LDAP API, август 1995 года), RFC 2307, RFC 3062 и RFC 4533. Microsoft представила предварительную версию Active Directory в 1999 году, выпустила ее вместе с Windows 2000 Server и усовершенствовала для расширения функциональности и улучшения администрирования в Windows Server 2003. Поддержка Active Directory также была добавлена в Windows 95, Windows 98 и Windows NT 4.0 посредством патчей, с некоторыми неподдерживаемыми функциями. Дальнейшие улучшения были реализованы в последующих версиях Windows Server. В Windows Server 2008 Microsoft добавила в Active Directory дополнительные службы, такие как Федеративные службы Active Directory (Active Directory Federation Services). Согласно Байрону Хайнсу, часть каталога, отвечающая за управление доменами, являвшаяся ключевой частью операционной системы, объединила под эгидой Active Directory все, что связано с идентификацией.

Легкие справочные службы

Active Directory Lightweight Directory Services (AD LDS), ранее называвшийся Active Directory Application Mode (ADAM), реализует протокол LDAP для AD DS. Он работает как служба на Windows Server и предоставляет тот же функционал, что и AD DS, включая идентичный API. Однако AD LDS не требует создания доменов или контроллеров домена. Он обеспечивает хранилище данных для хранения данных каталога и службу каталогов с интерфейсом LDAP-службы каталогов. В отличие от AD DS, на одном сервере может работать несколько экземпляров AD LDS.

Сертификатные услуги

Сертификатные службы Active Directory (AD CS) создают локальную инфраструктуру открытых ключей. Они позволяют создавать, проверять, отзывать и выполнять другие аналогичные операции с сертификатами открытых ключей для внутреннего использования в организации. Эти сертификаты могут использоваться для шифрования файлов (при использовании с Encrypting File System), электронной почты (в соответствии со стандартом S/MIME) и сетевого трафика (при использовании виртуальных частных сетей, протокола TLS или протокола IPSec). AD CS существовала до Windows Server 2008, но тогда называлась просто Сертификатные службы. AD CS требует инфраструктуры AD DS.

Службы Федерации

Active Directory Federation Services (AD FS) — это служба единого входа. При наличии инфраструктуры AD FS пользователи могут использовать различные веб-сервисы (например, интернет-форум, блог, интернет-магазин, веб-почту) или сетевые ресурсы, используя только один набор учетных данных, хранящихся в централизованном месте, вместо того чтобы получать отдельный набор учетных данных для каждого сервиса. AD FS использует множество популярных открытых стандартов для передачи токенов аутентификации, таких как SAML, OAuth или OpenID Connect. AD FS поддерживает шифрование и подпись утверждений SAML. Назначение AD FS является расширением функциональности AD DS: последний позволяет пользователям аутентифицироваться и использовать устройства, входящие в состав одной сети, используя один набор учетных данных. AD FS позволяет использовать тот же набор учетных данных в другой сети. Как следует из названия, AD FS работает на основе концепции федеративного удостоверения. AD FS требует инфраструктуры AD DS, хотя его федеративный партнер может ее не иметь.

Услуги по управлению правами

Active Directory Rights Management Services (AD RMS), ранее известный как Rights Management Services или RMS до Windows Server 2008, — это серверное программное обеспечение, входящее в состав Windows Server и предназначенное для управления правами на информацию. Оно использует шифрование и выборочный запрет доступа для ограничения доступа к различным документам, таким как корпоративная электронная почта, документы Microsoft Word и веб-страницы. Также оно ограничивает действия, которые авторизованные пользователи могут выполнять с этими документами, например, просмотр, редактирование, копирование, сохранение или печать. IT-администраторы могут создавать предварительно настроенные шаблоны для удобства конечных пользователей, однако сами пользователи по-прежнему могут определять, кто имеет доступ к контенту и какие действия им разрешены.

Логическая структура

Active Directory — это служба, состоящая из базы данных и исполняемого кода. Она отвечает за обработку запросов и поддержание работоспособности базы данных. Агент системы каталогов — это исполняемая часть, представляющая собой набор служб и процессов Windows, работающих в Windows 2000 и более поздних версиях. Доступ к объектам в базах данных Active Directory осуществляется через различные интерфейсы, такие как LDAP, ADSI, API обмена сообщениями и службы управления учетными записями безопасности.

Используемые предметы

Структуры Active Directory состоят из информации об объектах, классифицированных на две категории: ресурсы (например, принтеры) и субъекты безопасности (которые включают учетные записи пользователей или компьютеров и группы). Каждому субъекту безопасности присваивается уникальный идентификатор безопасности (SID). Объект представляет собой единичную сущность, такую как пользователь, компьютер, принтер или группа, вместе с его атрибутами. Некоторые объекты могут даже содержать другие объекты внутри себя. Каждый объект имеет уникальное имя, а его определение – это набор характеристик и информации, определяемый схемой, которая определяет способ хранения в Active Directory. Администраторы могут расширять или изменять схему с помощью объекта схемы при необходимости. Однако, поскольку каждый объект схемы является неотъемлемой частью определения объектов Active Directory, его деактивация или изменение может кардинально изменить или нарушить работу развертывания. Изменение схемы автоматически влияет на всю систему, и новые объекты нельзя удалить, можно только деактивировать их. Изменение схемы обычно требует предварительного планирования.

Организационные единицы

Объекты, содержащиеся в домене, могут быть сгруппированы в организационные единицы (ОЕ). ОУ могут обеспечивать иерархию домена, облегчать его администрирование и могут отражать структуру организации в управленческом или географическом плане. ОУ могут содержать другие ОУ – домены в этом смысле являются контейнерами. Microsoft рекомендует использовать ОУ вместо доменов для структурирования и упрощения реализации политик и администрирования. ОУ – это рекомендуемый уровень для применения групповых политик, которые являются объектами Active Directory, формально называемыми объектами групповой политики (GPO), хотя политики также могут применяться к доменам или сайтам (см. ниже). ОУ – это уровень, на котором обычно делегируются административные права, но делегирование может выполняться и для отдельных объектов или атрибутов. Организационные единицы не имеют отдельных пространств имен. Следовательно, для обеспечения совместимости с устаревшими реализациями NetBIOS, учетные записи пользователей с идентичным sAMAccountName не допускаются в пределах одного домена, даже если объекты учетных записей находятся в разных ОУ. Это связано с тем, что sAMAccountName, атрибут объекта пользователя, должен быть уникальным в пределах домена. Однако два пользователя в разных ОУ могут иметь одно и то же общее имя (CN) – имя, под которым они хранятся в каталоге, например, "fred.staff.ou.domain" и "fred.student.ou.domain", где "staff ou" и "student ou" – это ОУ. В целом, причина запрета на дублирование имен при иерархическом размещении каталогов заключается в том, что Microsoft в первую очередь опирается на принципы NetBIOS, который представляет собой метод управления сетевыми объектами с плоским пространством имен, уходящий корнями в Windows NT 3.1 и MS DOS LAN Manager для программного обеспечения Microsoft. Разрешение дублирования имен объектов в каталоге или полное исключение использования имен NetBIOS помешало бы обратной совместимости с устаревшим программным обеспечением и оборудованием. Однако запрет на дублирование имен объектов таким образом является нарушением RFC LDAP, на которых, как предполагается, основана Active Directory. По мере увеличения числа пользователей в домене, такие соглашения, как "имя, отчество, фамилия" (западный порядок) или обратный порядок (восточный порядок), становятся неэффективными для распространенных фамилий, таких как Ли (李), Смит или Гарсия. Возможные решения включают добавление цифры в конце имени пользователя. Альтернативные варианты – создание отдельной системы идентификации с уникальными номерами сотрудников/студентов для использования в качестве имен учетных записей вместо фактических имен пользователей и предоставление пользователям возможности выбирать предпочтительную последовательность слов в рамках политики допустимого использования. Поскольку дублирующие имена пользователей не могут существовать в пределах домена, генерация имен учетных записей представляет собой серьезную проблему для крупных организаций, которые не могут быть легко разделены на отдельные домены, например, для студентов в системе государственных школ или университетов, которым необходимо иметь возможность использовать любой компьютер в сети.

Теневые группы

В Active Directory компании Microsoft, организационные подразделения (ОУ) не предоставляют права доступа, и объекты, размещенные в ОУ, не получают автоматически привилегии доступа на основе содержащего их ОУ. Это является конструктивным ограничением, свойственным Active Directory, в то время как другие конкурирующие каталоги, такие как Novell NDS, могут назначать права доступа посредством размещения объектов в ОУ. Администратору Active Directory требуется отдельный шаг для назначения объекта в ОУ в качестве члена группы, также находящейся в этом ОУ. Определение прав доступа только на основании расположения объекта в ОУ является ненадежным, поскольку объект может еще не быть назначен объекту группы для данного ОУ. Распространенным решением для администратора Active Directory является написание пользовательского скрипта PowerShell или Visual Basic для автоматического создания и поддержания группы пользователей для каждого ОУ в каталоге. Эти скрипты периодически запускаются для обновления состава группы в соответствии с учетными записями в ОУ. Однако они не могут мгновенно обновлять группы безопасности при любых изменениях в каталоге, как это происходит в конкурирующих каталогах, где безопасность реализуется непосредственно в каталоге. Такие группы известны как теневые группы. После создания эти теневые группы можно выбирать вместо ОУ в административных инструментах. В справочной документации Microsoft Server 2008 упоминаются теневые группы, но инструкции по их созданию не приводятся. Кроме того, отсутствуют доступные серверные методы или оснастки консоли для управления этими группами. Организация должна определить структуру своей информационной инфраструктуры, разделив ее на один или несколько доменов и ОУ верхнего уровня. Это решение критически важно и может основываться на различных моделях, таких как бизнес-подразделения, географические местоположения, ИТ-сервисы, тип объектов или их комбинация. Непосредственной целью организации ОУ является упрощение делегирования административных прав и, вторично, применение групповых политик. В то время как ОУ служат административной границей, сам лес является единственной границей безопасности. Все остальные домены должны доверять любому администратору в лесу в вопросах обеспечения безопасности.

Перегородки

База данных Active Directory организована в разделы, каждый из которых содержит определенные типы объектов и следует определенному шаблону репликации. Microsoft часто называет эти разделы "контекстами именования". Раздел "Схема" определяет классы объектов и атрибуты в пределах леса. Раздел "Конфигурация" содержит информацию о физической структуре и конфигурации леса (например, топология сайтов). Оба раздела реплицируются во все домены леса. Раздел "Домен" содержит все объекты, созданные в этом домене, и реплицируется только внутри него.

Физическая структура

Сайты – это физические (а не логические) группировки, определяемые одной или несколькими IP-подсетями. AD также определяет соединения, различая соединения с низкой скоростью (например, WAN, VPN) и высокой скоростью (например, LAN). Определения сайтов независимы от структуры доменов и организационных единиц (OU) и используются во всем лесу. Сайты играют важную роль в управлении сетевым трафиком, генерируемым репликацией, и направлении клиентов к ближайшим контроллерам домена (DC). Microsoft Exchange Server 2007 использует топологию сайтов для маршрутизации почты. Администраторы также могут определять политики на уровне сайтов. Информация Active Directory физически хранится на одном или нескольких равноправных контроллерах домена, заменяя модель NT PDC/BDC. Каждый DC содержит копию Active Directory. Серверы-члены, присоединенные к Active Directory, но не являющиеся контроллерами домена, называются серверами-членами. В разделе домена группа объектов функционирует как копии контроллеров домена, настроенные как глобальные каталоги. Эти серверы глобального каталога предоставляют полный перечень всех объектов, расположенных в лесу. Серверы глобального каталога реплицируют все объекты из всех доменов, обеспечивая общий список сущностей в лесу. Однако, для минимизации трафика репликации и поддержания небольшого размера базы данных GC, реплицируются только выбранные атрибуты каждого объекта, называемые частичным набором атрибутов (PAS). PAS можно изменить, модифицируя схему и помечая атрибуты для репликации в GC. Более ранние версии Windows использовали NetBIOS для связи. Active Directory полностью интегрирован с DNS и требует TCP/IP и DNS. Для полноценной работы DNS-сервер должен поддерживать записи ресурсов SRV, также известные как записи служб.

Репликация

Active Directory использует репликацию с несколькими мастерами для синхронизации изменений, что означает, что реплики извлекают изменения с сервера, на котором произошло изменение, а не получают их по расписанию. Контроллер согласованности знаний (KCC) использует определенные сайты для управления трафиком и создания топологии репликации ссылок между сайтами. Репликация внутри сайта происходит часто и автоматически благодаря уведомлениям об изменениях, которые инициируют цикл репликации между серверами. Интервалы репликации между разными сайтами обычно менее стабильны и редко используют уведомления об изменениях. Однако, при необходимости, можно настроить их аналогично репликации между узлами в одной сети. Каждая связь DS3, T1 и ISDN может иметь стоимость, и KCC соответствующим образом изменяет топологию ссылок между сайтами. Репликация может осуществляться транзитивно через несколько ссылок между сайтами, использующих один и тот же протокол, если стоимость пути невелика. Однако KCC автоматически назначает прямым связям между сайтами более низкую стоимость, чем транзитным соединениям. Сервер-мост в каждой зоне может отправлять обновления другим контроллерам домена в той же локации для репликации изменений между сайтами. Для настройки репликации зон Active Directory необходимо активировать DNS в домене, основанном на сайте. Для репликации Active Directory используются удаленные вызовы процедур (RPC) по протоколу IP (RPC/IP). SMTP используется для репликации между сайтами, но только для изменений в схеме, конфигурации или частичном наборе атрибутов (глобальном каталоге) ГК. Он не подходит для репликации стандартного раздела домена.

Реализация

Как правило, в сети, использующей Active Directory, имеется более одного лицензированного сервера Windows. Резервное копирование и восстановление Active Directory возможно для сети с одним контроллером домена, однако Microsoft рекомендует использовать несколько контроллеров домена для обеспечения автоматического переключения при отказе. Контроллеры домена в идеале должны выполнять исключительно операции с каталогами и не запускать другое программное обеспечение или роли. Поскольку некоторые продукты Microsoft, такие как SQL Server и Exchange, могут мешать работе контроллера домена, рекомендуется изолировать эти продукты на отдельных серверах Windows. Объединение их может усложнить настройку и устранение неполадок как контроллера домена, так и другого установленного программного обеспечения. Если планируется внедрение Active Directory, организации следует приобрести несколько лицензий на сервер Windows, чтобы иметь как минимум два отдельных контроллера домена. Администраторам следует рассмотреть возможность использования дополнительных контроллеров домена для повышения производительности или обеспечения избыточности, а также отдельных серверов для таких задач, как хранение файлов, Exchange и SQL Server, что гарантирует надлежащую поддержку всех серверных ролей. Одним из способов снижения затрат на физическое оборудование является использование виртуализации. Однако для надежной защиты от сбоев Microsoft не рекомендует запускать несколько виртуализированных контроллеров домена на одном физическом оборудовании.

База данных

База данных Active Directory, хранилище каталогов, в Windows 2000 Server использует Extensible Storage Engine (ESE98) на основе JET Blue. База данных каждого контроллера домена ограничена 16 терабайтами и 2 миллиардами объектов (но только 1 миллиардом субъектов безопасности). Microsoft создала базы данных NTDS, содержащие более 2 миллиардов объектов. Менеджер учетных записей безопасности NT4 мог поддерживать до 40 000 объектов. Она состоит из двух основных таблиц: таблицы данных и таблицы связей. Windows Server 2003 добавила третью основную таблицу для реализации единичного экземпляра дескрипторов безопасности через COM-интерфейсы, предоставляемые Active Directory Service Interfaces.

Доверие

Чтобы пользователи одного домена могли получать доступ к ресурсам в другом, Active Directory использует доверительные отношения. Доверительные отношения внутри леса создаются автоматически при создании доменов. Лес определяет границы доверия по умолчанию, а неявное, транзитивное доверие автоматически устанавливается для всех доменов в лесу.