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 (Lightweight Directory Access Protocol ) версий 2 и 3, версию Kerberos от Microsoft [6] и DNS [7] .
Роберт Р. Кинг определил это следующим образом: [8]
«Домен представляет собой базу данных. Эта база данных содержит записи о сетевых службах — таких как компьютеры, пользователи, группы и другие вещи, которые используют, поддерживают или существуют в сети. База данных домена — это, по сути, 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 (об 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 Lightweight Directory Services (AD LDS), ранее называвшаяся Active Directory Application Mode (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, но ее название было просто Certificate Services. [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 — это служба, включающая базу данных и исполняемый код . Она отвечает за управление запросами и обслуживание базы данных. Directory System Agent — это исполняемая часть, набор служб и процессов 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] OU могут обеспечивать иерархию домена, упрощать его администрирование и могут напоминать структуру организации в управленческом или географическом плане. OU могут содержать другие OU — домены являются контейнерами в этом смысле. Microsoft рекомендует использовать OU вместо доменов для структуры и упрощения реализации политик и администрирования. OU — это рекомендуемый уровень, на котором следует применять групповые политики , которые являются объектами Active Directory, формально называемыми объектами групповой политики (GPO), хотя политики также могут применяться к доменам или сайтам (см. ниже). OU — это уровень, на котором обычно делегируются административные полномочия, но делегирование может выполняться и для отдельных объектов или атрибутов.
Организационные подразделения не имеют отдельного пространства имен. Как следствие, для совместимости с устаревшими реализациями NetBios учетные записи пользователей с идентичным SamAccountName не допускаются в одном домене, даже если объекты учетных записей находятся в отдельных OU. Это связано с тем, что SamAccountName, атрибут объекта пользователя, должен быть уникальным в пределах домена. [28] Однако два пользователя в разных OU могут иметь одно и то же общее имя (CN), имя, под которым они хранятся в самом каталоге, например, "fred.staff-ou.domain" и "fred.student-ou.domain", где "staff-ou" и "student-ou" являются OU.
В целом, причина отсутствия разрешения на дублирование имен посредством иерархического размещения каталогов заключается в том, что Microsoft в первую очередь полагается на принципы NetBIOS , который является методом управления сетевыми объектами с плоским пространством имен, который для программного обеспечения Microsoft восходит к Windows NT 3.1 и MS-DOS LAN Manager . Разрешение дублирования имен объектов в каталоге или полное исключение использования имен NetBIOS нарушит обратную совместимость с устаревшим программным обеспечением и оборудованием. Однако запрет дублирования имен объектов таким образом является нарушением LDAP RFC, на которых предположительно основана Active Directory.
По мере увеличения числа пользователей в домене, такие соглашения, как «первая буква, вторая буква, фамилия» ( западный порядок ) или наоборот (восточный порядок) не работают для распространенных фамилий, таких как Ли (李), Смит или Гарсия . Обходные пути включают добавление цифры в конец имени пользователя. Альтернативы включают создание отдельной системы идентификаторов уникальных номеров удостоверений сотрудников/студентов для использования в качестве имен учетных записей вместо фактических имен пользователей и разрешение пользователям назначать предпочтительную последовательность слов в рамках приемлемой политики использования .
Поскольку в пределах одного домена не может существовать повторяющихся имен пользователей, генерация имен учетных записей представляет собой значительную проблему для крупных организаций, которые нельзя легко разделить на отдельные домены, например, для учащихся в государственных школах или университетах, которые должны иметь возможность использовать любой компьютер в сети.
В Active Directory Microsoft OU не предоставляют разрешения на доступ, а объекты, размещенные в OU, не получают автоматически привилегии доступа на основе их содержащей OU. Это представляет собой ограничение дизайна, характерное для Active Directory, и другие конкурирующие каталоги, такие как Novell NDS , могут устанавливать привилегии доступа посредством размещения объектов в OU.
Active Directory требует отдельного шага для администратора, чтобы назначить объект в OU в качестве члена группы также в пределах этого OU. Использование только местоположения OU для определения разрешений доступа ненадежно, поскольку сущность могла еще не быть назначена объекту группы для этого OU.
Обычным обходным путем для администратора Active Directory является написание специального скрипта PowerShell или Visual Basic для автоматического создания и поддержки группы пользователей для каждого OU в их каталоге. Скрипты периодически запускаются для обновления группы в соответствии с членством в учетной записи OU. Однако они не могут мгновенно обновлять группы безопасности при каждом изменении каталога, как это происходит в конкурирующих каталогах, поскольку безопасность напрямую реализована в каталоге. Такие группы известны как теневые группы . После создания эти теневые группы можно выбирать вместо OU в административных инструментах. Справочная документация Microsoft Server 2008 упоминает теневые группы, но не предоставляет инструкции по их созданию. Кроме того, нет доступных методов сервера или оснасток консоли для управления этими группами. [29]
Организация должна определить структуру своей информационной инфраструктуры, разделив ее на один или несколько доменов и OU верхнего уровня. Это решение имеет решающее значение и может основываться на различных моделях, таких как бизнес-единицы, географические местоположения, ИТ-услуги, типы объектов или комбинации этих моделей. Непосредственная цель организации OU — упростить административное делегирование и, во-вторых, применить групповые политики. В то время как OU служат административной границей, сам лес является единственной границей безопасности. Все остальные домены должны доверять любому администратору в лесу для поддержания безопасности. [30]
База данных Active Directory организована в разделы , каждый из которых содержит определенные типы объектов и следует определенному шаблону репликации. Microsoft часто называет эти разделы «контекстами именования». [31] Раздел «Схема» определяет классы объектов и атрибуты в лесу. Раздел «Конфигурация» содержит информацию о физической структуре и конфигурации леса (например, топология сайта). Оба реплицируют все домены в лесу. Раздел «Домен» содержит все объекты, созданные в этом домене, и реплицируется только внутри него.
Сайты представляют собой физические (а не логические) группировки, определяемые одной или несколькими подсетями IP . [32] AD также определяет соединения, различая низкоскоростные (например, WAN , VPN ) и высокоскоростные (например, LAN ) соединения. Определения сайтов не зависят от домена и структуры OU и являются общими для всего леса. Сайты играют важную роль в управлении сетевым трафиком, создаваемым репликацией, и направлении клиентов на ближайшие контроллеры домена (DC). Microsoft Exchange Server 2007 использует топологию сайта для маршрутизации почты. Администраторы также могут определять политики на уровне сайта.
Информация Active Directory физически хранится на одном или нескольких контроллерах домена , заменяя модель NT PDC / BDC . Каждый DC имеет копию Active Directory. Серверы-участники, присоединенные к Active Directory, которые не являются контроллерами домена, называются серверами-участниками. [33] В разделе домена группа объектов действует как копии контроллеров домена, настроенных как глобальные каталоги. Эти серверы глобальных каталогов предлагают полный список всех объектов в лесу. [34] [35]
Серверы глобального каталога реплицируют все объекты из всех доменов на себя, предоставляя международный список сущностей в лесу. Однако, чтобы минимизировать трафик репликации и сохранить небольшую базу данных GC, реплицируются только выбранные атрибуты каждого объекта, называемые частичным набором атрибутов (PAS). PAS можно изменить, изменив схему и функции маркировки для репликации в GC. [36] Более ранние версии Windows использовали NetBIOS для связи. Active Directory полностью интегрирована с DNS и требует TCP/IP —DNS. Для полноценной работы DNS-сервер должен поддерживать записи ресурсов SRV , также известные как записи служб.
Active Directory использует репликацию с несколькими мастерами для синхронизации изменений, [37] что означает, что реплики извлекают изменения с сервера, на котором произошло изменение, а не отправляются на них. [38] Knowledge Consistency Checker (KCC) использует определенные сайты для управления трафиком и создания топологии репликации связей сайта. Внутрисайтовая репликация происходит часто и автоматически из-за уведомлений об изменениях, которые побуждают одноранговые узлы начать цикл репликации pull. Интервалы репликации между разными сайтами обычно менее последовательны и обычно не используют уведомления об изменениях. Однако при необходимости можно настроить их так, чтобы они были такими же, как репликация между местоположениями в одной сети.
Каждая ссылка 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, чтобы иметь как минимум два отдельных контроллера домена. Администраторы должны рассмотреть дополнительные контроллеры домена для производительности или избыточности и отдельные серверы для таких задач, как хранение файлов, Exchange и SQL Server [47], поскольку это гарантирует, что все роли сервера будут адекватно поддерживаться.
Одним из способов снижения затрат на физическое оборудование является использование виртуализации . Однако для надлежащей защиты от сбоев Microsoft рекомендует не запускать несколько виртуализированных контроллеров домена на одном и том же физическом оборудовании. [48]
База данных Active-Directory , хранилище каталогов , в Windows 2000 Server использует Extensible Storage Engine (ESE98) на основе JET Blue . База данных каждого контроллера домена ограничена 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 Management Console , которая создает и редактирует атрибуты.
Альтернативным вариантом является использование другой службы каталогов, поскольку клиенты, не являющиеся 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
Однако администраторы служб имеют возможности, которые пересекают границы доменов. По этой причине конечной границей безопасности является лес, а не домен.
Directory состоит из одного или нескольких контекстов именования или разделов.
Сайт — это набор хорошо связанных подсетей.
[...] рядовые серверы, [...] принадлежат домену, но не содержат копию данных Active Directory.
[...] контроллер домена может находить только объекты в своем домене. [...] Глобальный каталог предоставляет возможность находить объекты из любого домена [...]
Атрибут isMemberOfPartialAttributeSet объекта attributeSchema устанавливается в значение TRUE, если атрибут реплицируется в глобальный каталог. [...] Принимая решение о том, следует ли помещать атрибут в глобальный каталог, помните, что вы жертвуете улучшенной репликацией и увеличенным дисковым хранилищем на серверах глобального каталога ради потенциально более высокой производительности запросов.
Active Directory использует четыре различных типа разделов каталога для хранения [...] данных. Разделы каталога содержат данные домена, конфигурации, схемы и приложения.
Контроллеры домена запрашивают (извлекают) изменения, а не отправляют (отправляют) изменения, которые могут не понадобиться.
SMTP может использоваться для транспортировки репликации вне домена [...]
По возможности контроллеры домена должны работать на выделенных серверах (физических или виртуальных).
Из соображений безопасности и производительности мы рекомендуем не устанавливать автономный SQL Server на контроллере домена.
После установки SQL Server на компьютер вы не сможете сделать компьютер контроллером домена членом домена. Перед тем как сделать хост-компьютер членом домена, необходимо удалить SQL Server.
SQL Server на том же компьютере, что и производственный почтовый сервер Exchange, не рекомендуется.
следует попытаться избежать создания потенциальных отдельных точек отказа при планировании развертывания виртуального контроллера домена.frank
Доверительные отношения позволяют [...] аутентифицировать [...] и совместно использовать ресурсы между доменами или лесами
несколько видов доверительных отношений. (автоматические, ярлыки, леса, области, внешние)