Active Directory ( AD ) — это служба каталогов , разработанная Microsoft для доменных сетей Windows . Операционные системы Windows Server включают его как набор процессов и служб . [1] [2] Первоначально Active Directory использовалась только для централизованного управления доменами. Однако в конечном итоге оно стало общим названием для различных служб идентификации на основе каталогов. [3]
Контроллер домена — это сервер, на котором выполняется роль доменной службы Active Directory ( AD DS ). Он аутентифицирует и авторизует всех пользователей и компьютеры в сети доменного типа Windows , назначает и применяет политики безопасности для всех компьютеров, а также устанавливает или обновляет программное обеспечение. Например, когда пользователь входит в систему на компьютере, который является частью домена Windows, Active Directory проверяет отправленные имя пользователя и пароль и определяет, является ли пользователь системным администратором или пользователем без прав администратора. [4] Кроме того, он обеспечивает управление и хранение информации, обеспечивает механизмы аутентификации и авторизации, а также создает основу для развертывания других связанных служб: служб сертификации, служб федерации Active Directory , облегченных служб каталогов и служб управления правами . [5]
Active Directory использует облегченный протокол доступа к каталогам (LDAP) версий 2 и 3, версию Kerberos от Microsoft [6] и DNS . [7]
Роберт Р. Кинг определил это следующим образом: [8]
«Домен представляет собой базу данных. Эта база данных содержит записи о сетевых службах — таких вещах, как компьютеры, пользователи, группы и другие вещи, которые используют, поддерживают или существуют в сети. База данных домена, по сути, представляет собой Active Directory».
Как и многие другие разработки в области информационных технологий, Active Directory возникла в результате демократизации дизайна с использованием запросов на комментарии (RFC). Инженерная группа Интернета (IETF) контролирует процесс RFC и приняла многочисленные RFC, инициированные широким кругом участников. Например, LDAP лежит в основе Active Directory. Кроме того, каталоги X.500 и организационная единица предшествовали концепции Active Directory, использующей эти методы. Концепция LDAP начала появляться еще до основания Microsoft в апреле 1975 года, а RFC появились еще в 1971 году. RFC, способствующие LDAP, включают RFC 1823 (об API LDAP, август 1995 года), [9] RFC 2307, RFC 3062 и RFC 4533. [10] [11] [12]
Microsoft представила Active Directory в 1999 году, впервые выпустила ее в версии Windows 2000 Server и переработала ее для расширения функциональности и улучшения администрирования в Windows Server 2003 . Поддержка Active Directory также была добавлена в Windows 95, Windows 98 и Windows NT 4.0 через патч с некоторыми неподдерживаемыми функциями. [13] [14] В последующих версиях Windows Server появились дополнительные улучшения . В Windows Server 2008 Microsoft добавила в Active Directory дополнительные службы, такие как службы федерации Active Directory . [15] Часть каталога, отвечающая за управление доменами, которая была основной частью операционной системы, [15] была переименована в доменные службы Active Directory (ADDS) и стала ролью сервера, как и другие. [3] «Active Directory» стало общим названием более широкого спектра служб на основе каталогов. [16] По словам Байрона Хайнса, все, что связано с идентификацией, было перенесено под знамена Active Directory. [3]
Службы Active Directory состоят из нескольких служб каталогов. Наиболее известными из них являются доменные службы Active Directory, обычно называемые AD DS или просто AD.
Доменные службы Active Directory (AD DS) — это основа каждой доменной сети Windows . Он хранит информацию об участниках домена, включая устройства и пользователей, проверяет их учетные данные и определяет их права доступа . Сервер, на котором работает эта служба, называется контроллером домена . Связь с контроллером домена осуществляется, когда пользователь входит в систему устройства, получает доступ к другому устройству по сети или запускает бизнес- приложение в стиле Metro, загруженное на компьютер.
Другие службы Active Directory (за исключением LDS, как описано ниже) и большинство серверных технологий Microsoft полагаются на доменные службы или используют их; примеры включают групповую политику , шифрованную файловую систему , BitLocker , службы доменных имен , службы удаленных рабочих столов , Exchange Server и SharePoint Server .
Самоуправляемая Active Directory DS должна отличаться от управляемого Azure AD DS , облачного продукта. [17]
Службы Active Directory облегченного доступа к каталогам (AD LDS), ранее называемые режимом приложений Active Directory (ADAM), [18] реализуют протокол LDAP для AD DS. [19] Он работает как служба на Windows Server и предлагает ту же функциональность, что и AD DS, включая аналогичный API . Однако AD LDS не требует создания доменов или контроллеров домена. Он предоставляет хранилище данных для хранения данных каталога и службу каталогов с интерфейсом службы каталогов LDAP. В отличие от AD DS, на одном сервере могут работать несколько экземпляров AD LDS.
Службы сертификации Active Directory (AD CS) создают локальную инфраструктуру открытых ключей . Он может создавать, проверять, отзывать и выполнять другие подобные действия сертификаты открытых ключей для внутреннего использования организации. Эти сертификаты можно использовать для шифрования файлов (при использовании с шифрованной файловой системой ), электронной почты (по стандарту S/MIME ) и сетевого трафика (при использовании виртуальными частными сетями , протоколом Transport Layer Security или протоколом IPSec ).
AD CS появился раньше Windows Server 2008, но его название было просто «Службы сертификации». [20]
AD CS требует инфраструктуры AD DS. [21]
Службы федерации Active Directory (AD FS) — это служба единого входа . При наличии инфраструктуры AD FS пользователи могут использовать несколько веб-служб (например, интернет-форум , блог , интернет-магазины , веб-почту ) или сетевые ресурсы, используя только один набор учетных данных, хранящихся в центральном месте, а не требующий предоставления специальный набор учетных данных для каждой службы. AD FS использует множество популярных открытых стандартов для передачи учетных данных токена, таких как SAML , OAuth или OpenID Connect . [22] AD FS поддерживает шифрование и подписание утверждений SAML . [23] Целью AD FS является расширение цели AD DS: последняя позволяет пользователям аутентифицироваться и использовать устройства, входящие в одну и ту же сеть, используя один набор учетных данных. Первый позволяет им использовать один и тот же набор учетных данных в другой сети.
Как следует из названия, AD FS работает на основе концепции федеративной идентификации .
AD FS требует инфраструктуры AD DS, хотя ее партнер по федерации может этого не делать. [24]
Службы управления правами Active Directory ( AD RMS ), ранее известные как Службы управления правами или RMS до Windows Server 2008 , представляют собой серверное программное обеспечение, позволяющее управлять правами на информацию , входящее в состав Windows Server . Он использует шифрование и выборочный запрет для ограничения доступа к различным документам, таким как корпоративная электронная почта , документы Microsoft Word и веб-страницы . Это также ограничивает операции, которые авторизованные пользователи могут выполнять с ними, такие как просмотр, редактирование, копирование, сохранение или печать. ИТ-администраторы могут для удобства создавать предварительно настроенные шаблоны для конечных пользователей, но конечные пользователи по-прежнему могут определять, кто может получить доступ к контенту и какие действия они могут предпринять. [25]
Active Directory — это служба, состоящая из базы данных и исполняемого кода . Он отвечает за управление запросами и обслуживание базы данных. Агент системы каталогов — это исполняемая часть, набор служб и процессов Windows , которые работают в Windows 2000 и более поздних версиях. [1] Доступ к объектам в базах данных Active Directory возможен через различные интерфейсы, такие как LDAP, ADSI, API обмена сообщениями и службы диспетчера учетных записей безопасности . [2]
Структуры Active Directory состоят из информации об объектах , классифицированных на две категории: ресурсы (например, принтеры) и участники безопасности (которые включают учетные записи и группы пользователей или компьютеров). Каждому субъекту безопасности присваивается уникальный идентификатор безопасности (SID). Объект представляет собой единый объект, например пользователя, компьютер, принтер или группу, а также его атрибуты. Некоторые объекты могут даже содержать внутри себя другие объекты. Каждый объект имеет уникальное имя, а его определение представляет собой набор характеристик и информации по схеме , определяющей хранилище в Active Directory.
При необходимости администраторы могут расширить или изменить схему с помощью объекта схемы . Однако, поскольку каждый объект схемы является неотъемлемой частью определения объектов Active Directory, их деактивация или изменение может фундаментально изменить или нарушить развертывание. Изменение схемы автоматически влияет на всю систему, и новые объекты нельзя удалить, а только деактивировать. Изменение схемы обычно требует планирования. [26]
В сети Active Directory структура, содержащая объекты, имеет разные уровни: лес, дерево и домен. Домены в развертывании содержат объекты, хранящиеся в одной реплицируемой базе данных, а структура имен DNS идентифицирует их домены, пространство имен . Домен — это логическая группа сетевых объектов, таких как компьютеры, пользователи и устройства, которые используют одну и ту же базу данных Active Directory.
С другой стороны, дерево — это совокупность доменов и деревьев доменов в непрерывном пространстве имен, связанных транзитивной иерархией доверия. Лес находится наверху структуры и представляет собой набор деревьев со стандартным глобальным каталогом, схемой каталогов, логической структурой и конфигурацией каталогов. Лес — это безопасная граница, ограничивающая доступ пользователей, компьютеров, групп и других объектов.
Объекты, хранящиеся в домене, можно сгруппировать в организационные единицы (OU). [27] Подразделения могут обеспечить иерархию домена, упростить его администрирование и могут напоминать структуру организации в управленческом или географическом плане. Подразделения могут содержать другие подразделения — в этом смысле домены являются контейнерами. Microsoft рекомендует использовать подразделения, а не домены, для структуры и упрощения реализации политик и администрирования. Подразделение — это рекомендуемый уровень для применения групповых политик , которые представляют собой объекты Active Directory, официально называемые объектами групповой политики (GPO), хотя политики также могут применяться к доменам или сайтам (см. ниже). Подразделение — это уровень, на котором обычно делегируются административные полномочия, но делегирование может выполняться и для отдельных объектов или атрибутов.
Организационные подразделения не имеют отдельного пространства имен. Как следствие, для совместимости с устаревшими реализациями NetBios учетные записи пользователей с одинаковым именем sAMAccountName не допускаются в одном домене, даже если объекты учетных записей находятся в разных подразделениях. Это связано с тем, что sAMAccountName, атрибут объекта пользователя, должен быть уникальным в пределах домена. [28] Однако два пользователя в разных подразделениях могут иметь одно и то же общее имя (CN), имя, под которым они хранятся в самом каталоге, например «fred.staff-ou.domain» и «fred.student-ou». домен», где «сотрудники» и «студенты» — это подразделения.
В общем, причина отсутствия возможности дублирования имен посредством иерархического размещения каталогов заключается в том, что Microsoft в первую очередь полагается на принципы NetBIOS , который представляет собой метод управления сетевыми объектами с плоским пространством имен, который для программного обеспечения Microsoft восходит к прошлому. для Windows NT 3.1 и MS-DOS LAN Manager . Разрешение дублирования имен объектов в каталоге или полный отказ от использования имен NetBIOS предотвратит обратную совместимость с устаревшим программным обеспечением и оборудованием. Однако запрет дублирования имен объектов таким образом является нарушением документов LDAP RFC, на которых предположительно основана Active Directory.
По мере увеличения количества пользователей в домене такие соглашения, как «первый инициал, средний инициал, фамилия» ( западный порядок ) или обратный порядок (восточный порядок), не работают для распространенных фамилий, таких как Ли (李), Смит или Гарсия . Обходной путь включает добавление цифры в конец имени пользователя. Альтернативы включают создание отдельной системы идентификации, состоящей из уникальных идентификационных номеров сотрудников/студентов, которые будут использоваться в качестве имен учетных записей вместо реальных имен пользователей, а также предоставление пользователям возможности назначать предпочтительную последовательность слов в рамках политики допустимого использования .
Поскольку повторяющиеся имена пользователей не могут существовать в домене, создание имен учетных записей представляет собой серьезную проблему для крупных организаций, которые невозможно легко разделить на отдельные домены, например, для учащихся государственных школ или университетов, которые должны иметь возможность использовать любой компьютер в сети.
В Active Directory Microsoft подразделения не предоставляют разрешения на доступ, а объектам, размещенным в подразделениях, не назначаются автоматически права доступа в зависимости от содержащего их подразделения. Это представляет собой конструктивное ограничение, специфичное для Active Directory, и другие конкурирующие каталоги, такие как Novell NDS , могут устанавливать права доступа посредством размещения объектов внутри подразделения.
Active Directory требует от администратора отдельного шага для назначения объекта в подразделении в качестве члена группы также внутри этого подразделения. Использование только местоположения подразделения для определения прав доступа ненадежно, поскольку объект, возможно, еще не был назначен групповому объекту для этого подразделения.
Обычный обходной путь для администратора Active Directory — написать собственный сценарий PowerShell или Visual Basic для автоматического создания и поддержки группы пользователей для каждого подразделения в их каталоге. Сценарии периодически запускаются для обновления группы в соответствии с членством в учетной записи подразделения. Однако они не могут мгновенно обновлять группы безопасности при каждом изменении каталога, как это происходит в конкурирующих каталогах, поскольку безопасность реализована непосредственно в каталоге. Такие группы известны как теневые группы . После создания эти теневые группы можно выбрать вместо подразделения в инструментах администрирования. В справочной документации Microsoft Server 2008 упоминаются теневые группы, но не приводятся инструкции по их созданию. Кроме того, для управления этими группами отсутствуют доступные серверные методы или консольные оснастки. [29]
Организация должна определить структуру своей информационной инфраструктуры, разделив ее на один или несколько доменов и подразделений верхнего уровня. Это решение имеет решающее значение и может основываться на различных моделях, таких как бизнес-подразделения, географическое расположение, ИТ-услуги, тип объекта или комбинация этих моделей. Непосредственной целью организации подразделений является упрощение административного делегирования и, во вторую очередь, применение групповых политик. Важно отметить, что хотя подразделения служат административной границей, единственной границей безопасности является сам лес. Все остальные домены должны доверять любому администратору леса для обеспечения безопасности. [30]
База данных Active Directory организована в разделы , каждый из которых содержит объекты определенного типа и соответствует определенному шаблону репликации. Microsoft часто называет эти разделы «контекстами именования». [31] Раздел «Схема» определяет классы объектов и атрибуты в лесу. Раздел «Конфигурация» содержит информацию о физической структуре и конфигурации леса (например, топологии сайта). Оба реплицируют все домены в лесу. Раздел «Домен» содержит все объекты, созданные в этом домене, и реплицируется только внутри него.
Сайты представляют собой физические (а не логические) группы, определяемые одной или несколькими IP- подсетями. [32] AD также определяет соединения, различая низкоскоростные (например, WAN , VPN ) и высокоскоростные (например, LAN ) каналы. Определения сайтов не зависят от структуры домена и подразделения и являются общими для всего леса. Сайты играют решающую роль в управлении сетевым трафиком, создаваемым репликацией, и направлении клиентов к ближайшим контроллерам домена (DC). Microsoft Exchange Server 2007 использует топологию сайта для маршрутизации почты. Администраторы также могут определять политики на уровне сайта.
Информация Active Directory физически хранится на одном или нескольких одноранговых контроллерах домена , заменяя модель NT PDC / BDC . Каждый контроллер домена имеет копию Active Directory. Рядовые серверы, присоединенные к Active Directory и не являющиеся контроллерами домена, называются рядовыми серверами. [33] В разделе домена группа объектов действует как копии контроллеров домена, настроенных как глобальные каталоги. Эти серверы глобального каталога предлагают полный список всех объектов, расположенных в лесу. [34] [35]
Серверы глобального каталога реплицируют все объекты из всех доменов на себя, предоставляя международный список объектов в лесу. Однако, чтобы минимизировать трафик репликации и сохранить небольшую базу данных GC, реплицируются только выбранные атрибуты каждого объекта, называемые частичным набором атрибутов (PAS). PAS можно изменить, изменив схему и пометив функции для репликации в GC. [36] Более ранние версии Windows использовали NetBIOS для связи. Active Directory полностью интегрирован с DNS и требует TCP/IP —DNS. Для полноценной работы DNS-сервер должен поддерживать записи ресурсов SRV , также известные как служебные записи.
Active Directory использует репликацию с несколькими хозяевами для синхронизации изменений. Это означает, что реплики извлекают изменения с сервера, на котором они произошли, а не пересылают их на них. [38] Средство проверки согласованности знаний (KCC) использует определенные сайты для управления трафиком и создания топологии репликации связей сайтов. Внутрисайтовая репликация происходит часто и автоматически из-за уведомлений об изменениях, которые побуждают одноранговые узлы начать цикл репликации по запросу. Интервалы репликации между разными сайтами обычно менее согласованы и обычно не используют уведомления об изменениях. Однако при необходимости можно настроить его так же, как репликацию между местоположениями в одной сети.
Каждый канал DS3 , T1 и ISDN может иметь стоимость, и KCC соответствующим образом изменяет топологию канала сайта. Репликация может происходить транзитивно через несколько связей сайтов на мостах связей сайтов с тем же протоколом , если цена низкая. Однако KCC автоматически снижает стоимость прямого соединения между узлами по сравнению с транзитивными соединениями. Сервер-плацдарм в каждой зоне может отправлять обновления другим контроллерам домена в том же месте, чтобы реплицировать изменения между сайтами. Чтобы настроить репликацию для зон Active Directory, активируйте DNS в домене на основе сайта.
Для репликации Active Directory используются удаленные вызовы процедур (RPC) по IP (RPC/IP). SMTP используется для репликации между сайтами, но только для изменений в схеме, конфигурации или частичном наборе атрибутов (глобальный каталог) GC. Он не подходит для воспроизведения раздела домена по умолчанию. [39]
Обычно в сети, использующей Active Directory, имеется более одного лицензированного сервера Windows. Резервное копирование и восстановление Active Directory возможны для сети с одним контроллером домена. [40] Однако Microsoft рекомендует использовать более одного контроллера домена для обеспечения автоматической защиты каталога при сбое . [41] Контроллеры домена в идеале предназначены только для операций с каталогами и не должны запускать какое-либо другое программное обеспечение или роль. [42]
Поскольку некоторые продукты Microsoft, такие как SQL Server [43] [44] и Exchange [45] , могут мешать работе контроллера домена, рекомендуется изолировать эти продукты на дополнительных серверах Windows. Их объединение может усложнить настройку и устранение неполадок контроллера домена или другого более сложного установленного программного обеспечения. [46] Если компания планирует внедрить Active Directory, ей следует приобрести несколько лицензий Windows Server, чтобы иметь как минимум два отдельных контроллера домена. Администраторам следует рассмотреть возможность использования дополнительных контроллеров домена для обеспечения производительности или резервирования, а также отдельных серверов для таких задач, как хранение файлов, Exchange и SQL Server [47] , поскольку это будет гарантировать адекватную поддержку всех ролей сервера.
Одним из способов снижения затрат на физическое оборудование является использование виртуализации . Однако для обеспечения надлежащей защиты от сбоев Microsoft рекомендует не запускать несколько виртуализированных контроллеров домена на одном физическом оборудовании. [48]
База данных Active-Directory , хранилище каталогов , в Windows 2000 Server использует расширяемый механизм хранения данных на базе JET Blue (ESE98). База данных каждого контроллера домена ограничена 16 терабайтами и 2 миллиардами объектов (но только 1 миллиардом участников безопасности). Microsoft создала базы данных NTDS, содержащие более 2 миллиардов объектов. [49] Менеджер учетных записей безопасности NT4 может поддерживать до 40 000 объектов. Он имеет две основные таблицы: таблицу данных и таблицу связей . В Windows Server 2003 добавлена третья основная таблица для единичного экземпляра дескриптора безопасности . [49]
Программы могут получить доступ к функциям Active Directory [50] через COM-интерфейсы , предоставляемые интерфейсами службы Active Directory . [51]
Чтобы разрешить пользователям в одном домене доступ к ресурсам в другом, Active Directory использует доверительные отношения. [52]
Доверия внутри леса создаются автоматически при создании доменов. Лес устанавливает границы доверия по умолчанию, а неявное транзитивное доверие является автоматическим для всех доменов в лесу.
Инструменты управления Microsoft Active Directory включают в себя:
Эти инструменты управления могут не обеспечивать достаточную функциональность для эффективного рабочего процесса в больших средах. Некоторые сторонние инструменты расширяют возможности администрирования и управления. Они предоставляют необходимые функции для более удобного процесса администрирования, такие как автоматизация, отчеты, интеграция с другими сервисами и т. д.
Различные уровни взаимодействия с Active Directory могут быть достигнуты в большинстве Unix-подобных операционных систем (включая Unix , Linux , Mac OS X или Java и программы на базе Unix) через совместимые со стандартами клиенты LDAP, но эти системы обычно не интерпретируют многие атрибуты. связанные с компонентами Windows, такими как групповая политика и поддержка односторонних доверительных отношений.
Третьи стороны предлагают интеграцию Active Directory для Unix-подобных платформ, в том числе:
Дополнения к схеме, поставляемые с Windows Server 2003 R2, включают атрибуты, которые достаточно близко соответствуют RFC 2307, чтобы их можно было использовать в целом. Эталонная реализация RFC 2307, nss_ldap и pam_ldap, предоставленная PADL.com, напрямую поддерживает эти атрибуты. Схема по умолчанию для членства в группах соответствует RFC 2307bis (предложенный). [59] Windows Server 2003 R2 включает оснастку консоли управления Microsoft , которая создает и редактирует атрибуты.
Альтернативный вариант — использовать другую службу каталогов, поскольку клиенты, отличные от Windows, аутентифицируются в ней, а клиенты Windows аутентифицируются в Active Directory. Клиенты, отличные от Windows, включают 389 Directory Server (ранее Fedora Directory Server, FDS), ViewDS v7.2 XML Enabled Directory и Sun Microsystems Sun Java System Directory Server . Последние два способны выполнять двустороннюю синхронизацию с Active Directory и, таким образом, обеспечивают «отклоненную» интеграцию.
Другой вариант — использовать OpenLDAP с его полупрозрачным слоем, который может дополнять записи на любом удаленном сервере LDAP дополнительными атрибутами, хранящимися в локальной базе данных. Клиенты, указывающие на локальную базу данных, видят записи, содержащие как удаленные, так и локальные атрибуты, в то время как удаленная база данных остается совершенно нетронутой. [ нужна цитата ]
Администрирование (запрос, изменение и мониторинг) Active Directory может осуществляться с помощью многих языков сценариев, включая PowerShell , VBScript , JScript/JavaScript , Perl , Python и Ruby . [60] [61] [62] [63] Бесплатные и платные инструменты администрирования Active Directory могут помочь упростить и, возможно, автоматизировать задачи управления Active Directory.
С октября 2017 года Amazon AWS предлагает интеграцию с Microsoft Active Directory. [64]
Организационная единица в
Active Directory
аналогична каталогу в файловой системе.
примеры того, как можно создать несколько объектов AD с одним и тем же именем sAMAccountName
Однако у администраторов служб есть способности, выходящие за границы домена.
По этой причине конечной границей безопасности является лес, а не домен.
Active Directory состоит из одного или нескольких контекстов именования или разделов.
Сайт представляет собой набор хорошо связанных подсетей.
[...] рядовые серверы [...] принадлежат домену, но не содержат копии данных Active Directory.
[...] контроллер домена может находить только объекты в своем домене.
[...] Глобальный каталог предоставляет возможность находить объекты из любого домена [...]
Атрибут isMemberOfPartialAttributeSet объекта AttributeSchema имеет значение TRUE, если атрибут реплицируется в глобальный каталог.
[...] Принимая решение о размещении атрибута в глобальном каталоге или нет, помните, что вы обмениваете увеличенную репликацию и увеличенное дисковое пространство на серверах глобального каталога на потенциально более высокую производительность запросов.
Active Directory использует четыре различных типа разделов каталога для хранения [...] данных.
Разделы каталога содержат данные домена, конфигурации, схемы и приложения.
Контроллеры домена запрашивают (извлекают) изменения, а не отправляют (отправляют) изменения, которые могут не понадобиться.
SMTP можно использовать для транспортировки внедоменной репликации [...]
По возможности ваши контроллеры домена должны работать на выделенных серверах (физических или виртуальных).
По соображениям безопасности и производительности мы рекомендуем не устанавливать автономный SQL Server на контроллере домена.
После установки SQL Server на компьютер вы не сможете превратить компьютер из контроллера домена в члена домена.
Прежде чем изменить хост-компьютер на члена домена, необходимо удалить SQL Server.
Не рекомендуется запускать SQL Server на том же компьютере, что и рабочий сервер почтовых ящиков Exchange.
При планировании развертывания виртуального контроллера домена вам следует стараться избегать создания потенциальных единых точек отказа.
Трасты обеспечивают [...] аутентификацию и [...] совместное использование ресурсов между доменами или лесами.
Определяет несколько видов трастов.
(автоматический, ярлык, лес, область, внешний)