Что такое доменные службы Active Directory и как они работают?

144

Это канонический вопрос о доменных службах Active Directory (AD DS).

Что такое Active Directory? Что это делает и как это работает?

Как организовано Active Directory: лес, дочерний домен, дерево, сайт или подразделение


Я объясняю кое-что из того, что, как я полагаю, является общеизвестным практически ежедневно. Надеемся, что этот вопрос послужит каноническим вопросом и ответом на большинство основных вопросов Active Directory. Если вы считаете, что можете улучшить ответ на этот вопрос, отредактируйте его.

MDMarra
источник
7
Я не хочу выглядеть так, будто я повторяю, но я думаю, что стоит также дать ссылку на нетехническое описание AD, если вы столкнетесь
Эван Андерсон
Возможные ссылки на этот вопрос: serverfault.com/questions/568606/… - serverfault.com/questions/472562/… - serverfault.com/questions/21780/… - serverfault.com/questions/72878/… просто назвать несколько , Возможно канонический в порядке @MDMarra
TheCleaner

Ответы:

153

Что такое Active Directory?

Доменные службы Active Directory являются сервером каталогов Microsoft. Он обеспечивает механизмы аутентификации и авторизации, а также среду, в которой могут быть развернуты другие связанные службы (службы сертификации AD, службы федерации AD и т. Д.). Это совместимая с LDAP база данных, которая содержит объекты. Наиболее часто используемые объекты - это пользователи, компьютеры и группы. Эти объекты могут быть организованы в организационные единицы (OU) по любому количеству логических или бизнес-потребностей. Объекты групповой политики (GPO) затем можно связать с подразделениями, чтобы централизовать настройки для различных пользователей или компьютеров в организации.

Когда люди говорят «Active Directory», они обычно имеют в виду «доменные службы Active Directory». Важно отметить, что существуют другие роли / продукты Active Directory, такие как службы сертификации, службы федерации, облегченные службы каталогов, службы управления правами и т. Д. Этот ответ относится конкретно к доменным службам Active Directory.

Что такое домен и что такое лес?

Лес - это граница безопасности. Объекты в отдельных лесах не могут взаимодействовать друг с другом, если администраторы каждого отдельного леса не создают между ними доверительные отношения . Например, учетная запись администратора предприятия domain1.com, которая, как правило, является самой привилегированной учетной записью леса, не будет иметь никаких разрешений вообще во втором названном лесу domain2.com, даже если эти леса существуют в одной и той же локальной сети, если только нет доверия на месте ,

Если у вас есть несколько непересекающихся бизнес-подразделений или вам нужны отдельные границы безопасности, вам нужно несколько лесов.

Домен - это граница управления. Домены являются частью леса. Первый домен в лесу называется корневым доменом леса. Во многих малых и средних организациях (и даже в некоторых крупных) вы найдете только один домен в одном лесу. Корневой домен леса определяет пространство имен по умолчанию для леса. Например, если первый домен в новом лесу назван domain1.com, то это корневой домен леса. Если у вас есть бизнес-потребность в дочернем домене, например, в филиале в Чикаго, вы можете назвать дочерний домен chi. FQDN дочернего домена будетchi.domain1.com, Вы можете видеть, что именем дочернего домена было имя корневого домена с добавленным лесом. Обычно это так. Вы можете иметь несвязанные пространства имен в одном и том же лесу, но это отдельная банка червей для другого времени.

В большинстве случаев вы захотите сделать все возможное, чтобы иметь один домен AD. Это упрощает управление, а современные версии AD упрощают делегирование управления на основе OU, что уменьшает потребность в дочерних доменах.

Я могу назвать свой домен как угодно, верно?

На самом деле, нет. dcpromo.exeинструмент, который обрабатывает продвижение сервера на DC, не защищен от дурака. Это позволяет вам принимать неправильные решения с вашим именем, поэтому обратите внимание на этот раздел, если вы не уверены. (Изменить: dcpromo устарела в Server 2012. Используйте Install-ADDSForestкомандлет PowerShell или установите AD DS из диспетчера сервера.)

Прежде всего, не используйте выдуманные TLD, такие как .local, .lan, .corp или любую другую подобную ерунду. Эти TLD не зарезервированы. ICANN сейчас продает ДВУ, так mycompany.corpчто ваши, которые вы используете сегодня, на самом деле могут принадлежать кому-то завтра. Если вы владеете mycompany.com, то разумнее всего использовать что-то вроде internal.mycompany.comили ad.mycompany.comдля вашего внутреннего имени AD. Если вы используете mycompany.comвеб-сайт с внешней разрешающей способностью, вам следует избегать его использования в качестве внутреннего имени AD, поскольку в результате вы получите DNS с разделенным мозгом.

Контроллеры домена и глобальные каталоги

Сервер, который отвечает на запросы аутентификации или авторизации, является контроллером домена (DC). В большинстве случаев контроллер домена будет содержать копию глобального каталога . Глобальный каталог (GC) - это частичный набор объектов во всех доменах леса. Он доступен для прямого поиска, что означает, что междоменные запросы обычно могут выполняться на GC без необходимости обращения к DC в целевом домене. Если DC запрашивается через порт 3268 (3269 при использовании SSL), то запрашивается GC. Если запрашивается порт 389 (636 при использовании SSL), тогда используется стандартный запрос LDAP, и объекты, существующие в других доменах, могут требовать обращения .

Когда пользователь пытается войти в систему на компьютере, который присоединен к AD, используя свои учетные данные AD, соленые и хешированные комбинации имени пользователя и пароля отправляются в DC как для учетной записи пользователя, так и для учетной записи компьютера, которые входят в систему. Да, компьютер тоже входит в систему. Это важно, потому что если что-то случится с учетной записью компьютера в AD, например, если кто-то сбросит учетную запись или удалит ее, вы можете получить ошибку, в которой говорится, что между компьютером и доменом нет доверительных отношений. Даже если ваши сетевые учетные данные в порядке, компьютеру больше не доверяют входить в домен.

Проблемы доступности контроллера домена

Я слышу «У меня есть основной контроллер домена (PDC) и хочу установить резервный контроллер домена (BDC)» гораздо чаще, во что я хотел бы верить. Концепция PDC и BDC умерла с Windows NT4. Последний бастион для PDC был в переходном режиме Windows 2000 AD, когда у вас все еще были контроллеры NT4. По сути, если вы не поддерживаете установку старше 15 лет, которая никогда не обновлялась, у вас действительно нет PDC или BDC, у вас есть только два контроллера домена.

Несколько контроллеров домена могут одновременно отвечать на запросы аутентификации от разных пользователей и компьютеров. В случае сбоя одного из них другие продолжат предлагать услуги аутентификации, не делая одно «первичное», как вы бы сделали в NT4 дни. Рекомендуется иметь как минимум два DC на домен. Эти контроллеры домена должны содержать копию GC и оба должны быть DNS-серверами, которые также содержат копию зон интегрированной DNS Active Directory для вашего домена.

FSMO Роли

«Итак, если нет PDC, почему существует роль PDC, которую может иметь только один DC?»

Я это много слышу. Есть роль эмулятора PDC . Это отличается от того, чтобы быть PDC. На самом деле, существует 5 ролей гибкого единого главного оператора (FSMO) . Их также называют ролями мастера операций. Два условия являются взаимозаменяемыми. Кто они и чем занимаются? Хороший вопрос! 5 ролей и их функции:

Мастер именования доменов - в каждом лесу есть только один мастер именования доменов. Мастер именования доменов гарантирует, что при добавлении нового домена в лес он будет уникальным. Если сервер, выполняющий эту роль, находится в автономном режиме, вы не сможете вносить изменения в пространство имен AD, которое включает в себя такие вещи, как добавление новых дочерних доменов.

Мастер схемы - в лесу есть только один мастер операций схемы. Он отвечает за обновление схемы Active Directory. Задачи, которые требуют этого, такие как подготовка AD для новой версии Windows Server, работающей в качестве контроллера домена или установка Exchange, требуют изменений схемы. Эти изменения должны быть сделаны из мастера схемы.

Мастер инфраструктуры - есть один Мастер инфраструктуры на домен. Если в вашем лесу есть только один домен, вам не нужно об этом беспокоиться. Если у вас несколько лесов, вам следует убедиться, что эта роль не принадлежит серверу, который также является держателем GC, если каждый DC в лесу не является GC . Мастер инфраструктуры отвечает за то, чтобы междоменные ссылки обрабатывались правильно. Если пользователь в одном домене добавляется в группу в другом домене, хозяин инфраструктуры для рассматриваемых доменов должен убедиться, что он обрабатывается правильно. Эта роль не будет работать правильно, если она находится в глобальном каталоге.

Мастер RID - Мастер относительных идентификаторов (Master RID) отвечает за выдачу пулов RID контроллерам домена. Существует один мастер RID на домен. Любой объект в домене AD имеет уникальный идентификатор безопасности (SID), Это состоит из комбинации идентификатора домена и относительного идентификатора. Каждый объект в данном домене имеет одинаковый идентификатор домена, поэтому относительный идентификатор - это то, что делает объекты уникальными. Каждый DC имеет пул относительных идентификаторов для использования, поэтому, когда этот DC создает новый объект, он добавляет RID, который он еще не использовал. Поскольку контроллеры домена выпускаются неперекрывающимися пулами, каждый RID должен оставаться уникальным в течение всего срока службы домена. Когда DC получает до ~ 100 RID, оставшихся в его пуле, он запрашивает новый пул у мастера RID. Если мастер RID находится в автономном режиме в течение длительного периода времени, создание объекта может завершиться неудачно.

Эмулятор PDC - Наконец, мы получаем наиболее широко недооцененную роль из всех - роль эмулятора PDC. Существует один эмулятор PDC на домен. Если попытка аутентификации не удалась, она перенаправляется в эмулятор PDC. Эмулятор PDC функционирует как «прерыватель связи», если пароль был обновлен на одном контроллере домена и еще не реплицирован на другие. Эмулятор PDC также является сервером, который контролирует синхронизацию времени по всему домену. Все остальные DC синхронизируют свое время с эмулятором PDC. Все клиенты синхронизируют свое время с DC, в который они вошли. Важно, чтобы все осталось в пределах 5 минут друг от друга, иначе Kerberos сломается, и когда это произойдет, все плачут.

Важно помнить, что серверы, на которых работают эти роли, не стоят на месте. Перемещать эти роли обычно тривиально, поэтому, в то время как некоторые контроллеры домена делают немного больше, чем другие, если они отключаются в течение коротких периодов времени, все обычно будет функционировать нормально. Если они не работают в течение длительного времени, легко передать роли. Это намного приятнее, чем в дни NT4 PDC / BDC, поэтому, пожалуйста, перестаньте называть ваши DC этими старыми именами. :)

Итак ... как DC обмениваются информацией, если они могут функционировать независимо друг от друга?

Репликация, конечно . По умолчанию контроллеры домена, принадлежащие одному домену на одном сайте, будут реплицировать свои данные друг другу с 15-секундными интервалами. Это гарантирует, что все относительно современно.

Есть некоторые «срочные» события, которые запускают немедленную репликацию. Это следующие события: Учетная запись заблокирована из-за слишком большого количества неудачных входов в систему, изменение пароля домена или политики блокировки, секрет LSA изменен, пароль изменен для учетной записи компьютера контроллера домена или передана роль мастера RID. в новый округ Колумбия. Любое из этих событий вызовет немедленное событие репликации.

Смена пароля находится где-то между срочным и несрочным и обрабатывается однозначно. Если пароль DC01пользователя включен и пользователь пытается войти на компьютер, который выполняет аутентификацию, DC02до того, как произойдет репликация, вы ожидаете, что это не удастся, верно? К счастью, этого не происходит. Предположим, что здесь также есть третий DC, DC03который выполняет роль эмулятора PDC. Когда DC01обновляется новый пароль пользователя, это изменение также немедленно копируется DC03. Когда попытка аутентификации DC02завершается неудачей, DC02она пересылает эту попытку аутентификации DC03, которая проверяет, что это действительно хорошо, и вход в систему разрешен.

Давайте поговорим о DNS

DNS имеет решающее значение для правильно функционирующей AD. Официальная линия Microsoft заключается в том, что любой DNS-сервер можно использовать, если он настроен правильно. Если вы попытаетесь использовать BIND для размещения своих зон AD, то у вас высокий уровень. Шутки в сторону. Придерживайтесь использования зон AD Integrated DNS и, если необходимо, используйте условные или глобальные серверы пересылки для других зон. Все ваши клиенты должны быть настроены на использование ваших DNS-серверов AD, поэтому важно иметь избыточность здесь. Если у вас есть два DC, пусть они оба запустят DNS и сконфигурируют ваших клиентов, чтобы они использовали оба для разрешения имен.

Кроме того, вы захотите убедиться, что, если у вас более одного DC, они не будут перечислены первыми для разрешения DNS. Это может привести к ситуации, когда они находятся на «острове репликации», где они отключены от остальной топологии репликации AD и не могут восстановиться. Если у вас есть два сервера DC01 - 10.1.1.1и DC02 - 10.1.1.2, их список DNS-серверов должен быть настроен следующим образом:

Сервер: DC01 (10.1.1.1)
Основной DNS - 10.1.1.2
Вторичный DNS - 127.0.0.1

Сервер: DC02 (10.1.1.2)
Основной DNS - 10.1.1.1
Вторичный DNS - 127.0.0.1

ОК, это кажется сложным. Почему я хочу использовать AD вообще?

Потому что как только вы узнаете, что делаете, ваша жизнь станет бесконечно лучше. AD позволяет централизовать управление пользователями и компьютерами, а также централизовать доступ к ресурсам и их использование. Представьте себе ситуацию, когда у вас есть 50 пользователей в офисе. Если вы хотите, чтобы у каждого пользователя был свой логин на каждом компьютере, вам нужно настроить 50 локальных учетных записей на каждом ПК. С помощью AD вам нужно всего лишь один раз создать учетную запись пользователя, и он может войти на любой ПК в домене по умолчанию. Если вы хотите усилить безопасность, вам придется сделать это 50 раз. Вроде кошмар, верно? Также представьте, что у вас есть общий файловый ресурс, к которому вы хотите подключить только половину этих людей. Если вы не используете AD, вам нужно будет либо вручную скопировать их имя пользователя и пароли на сервере, чтобы обеспечить беспроблемный доступ, либо вы Я должен был создать общую учетную запись и дать каждому пользователю имя пользователя и пароль. Один из способов означает, что вы знаете (и должны постоянно обновлять) пароли пользователей. Другой способ означает, что у вас нет контрольного журнала. Не хорошо, правда?

Вы также получаете возможность использовать групповую политику при настройке AD. Групповая политика - это набор объектов, связанных с подразделениями, которые определяют параметры для пользователей и / или компьютеров в этих подразделениях. Например, если вы хотите сделать так, чтобы «Выключение» не было в меню «Пуск» для 500 лабораторных ПК, вы можете сделать это в одном параметре в групповой политике. Вместо того чтобы тратить часы или дни на настройку правильных записей реестра вручную, вы создаете объект групповой политики один раз, связываете его с правильными подразделениями или подразделениями и больше никогда не думаете об этом. Существуют сотни объектов групповой политики, которые можно настроить, и гибкость групповой политики является одной из основных причин того, что Microsoft так доминирует на корпоративном рынке.

MDMarra
источник
20
Отлично, Марк. Отличный QA.
EEAA
12
@TheCleaner Согласен, но часть миссии Stack Exchange - быть центральным хранилищем всей полезной информации по определенной теме. Таким образом, хотя информация в Википедии, как правило, очень правильная и релевантная, она не приводит людей сюда, и «здесь» должно быть универсальным средством для всего, что связано с системным администрированием.
MDMarra
6
@RyanBolger Это все правда, но этот Q & A ориентирован на новичка. Поддержка - большая проблема, и Microsoft абсолютно не поможет вам разобраться с проблемой AD, которая может быть связана с DNS, если вы используете BIND (или что-то еще). Это расширенная конфигурация, которая не рекомендуется для тех, кому нужно задать вопрос «Что такое AD и как он работает». Вдобавок ко всему, DNS - это роль с низкой нагрузкой. Если у вас уже есть контроллеры домена, очень трудно убедить, что DNS не работает на них, и у вас есть глобальный сервер пересылки для остальной части вашей инфраструктуры DNS.
MDMarra
8
@RyanBolger - согласен с MDMarra. Если у Фреда уже есть хорошо функционирующая и сложная внутренняя DNS-инфраструктура, то Фред не будет публиковать на SF запрос «Итак, я собираюсь установить эту функцию Active Directory - расскажите мне об этом, пожалуйста?»
mfinni
2
Ваш ответ только что напомнил мне проверить порядок поиска DNS-серверов на контроллерах домена в сети, которую я унаследовал ... Да, они ссылались на себя!
Мирон-Семак
20

Примечание. Этот ответ был объединен с этим вопросом из другого вопроса, в котором задавались вопросы о различиях между лесами, дочерними доменами, деревьями, сайтами и подразделениями. Первоначально это не было написано как ответ на этот конкретный вопрос.


лес

Вы хотите создать новый лес, когда вам нужна граница безопасности. Например, у вас может быть сеть периметра (DMZ), которой вы хотите управлять с помощью AD, но вы не хотите, чтобы ваша внутренняя AD была доступна в сети периметра из соображений безопасности. В этом случае вы захотите создать новый лес для этой зоны безопасности. Вы также можете захотеть это разделение, если у вас есть несколько организаций, которые не доверяют друг другу - например, подставная корпорация, которая включает в себя отдельные предприятия, которые работают независимо. В этом случае вы бы хотели, чтобы у каждой сущности был свой собственный лес.


Дочерний домен

На самом деле, вам это больше не нужно. Есть несколько хороших примеров того, когда вы захотите дочерний домен. Унаследованная причина - в различных требованиях политики паролей, но они больше не действительны, поскольку с Server 2008 доступны детальные политики паролей. Вам действительно нужен дочерний домен, только если у вас есть области с невероятно плохим сетевым подключением и вы хотите радикально сократить трафик репликации - хорошим примером может служить круизное судно со спутниковым WAN-соединением. В этом случае каждое круизное судно может иметь свой собственный дочерний домен, чтобы быть относительно автономным и в то же время иметь возможность использовать преимущества нахождения в том же лесу, что и другие домены той же компании.


дерево

Это странный шар. Новые деревья используются, когда вы хотите сохранить преимущества управления одним лесом, но у вас есть домен в новом пространстве имен DNS. Например, corp.example.comможет быть корень леса, но вы можете иметь ad.mdmarra.comв том же лесу, используя новое дерево. Здесь действуют те же правила и рекомендации для дочерних доменов - используйте их экономно. Они обычно не нужны в современных объявлениях.


сайт

Сайт должен представлять физическую или логическую границу вашей сети. Например, филиалы. Сайты используются для интеллектуального выбора партнеров репликации для контроллеров домена в разных областях. Без определения сайтов все контроллеры домена будут обрабатываться так, как если бы они находились в одном и том же физическом месте и реплицировались в топологии сетки. На практике большинство организаций настроено логически, поэтому сайты и службы должны быть настроены так, чтобы это отражалось.

Другие приложения также используют Сайты и Сервисы. DFS использует его для ссылок на пространство имен и выбора партнера по репликации. Exchange и Outlook используют его для поиска «ближайшего» глобального каталога для запроса. Ваши присоединенные к домену компьютеры используют его для поиска «ближайших» DC (ов) для аутентификации. Без этого ваш трафик репликации и аутентификации подобен Дикому Западу.


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

Они должны быть созданы таким образом, чтобы отражать потребность вашей организации в делегировании разрешений и применении групповой политики. Во многих организациях есть одно подразделение на сайт, потому что они применяют GPO таким образом - это глупо, потому что вы можете также применять GPO к сайту из Сайтов и Сервисов. Другие организации разделяют подразделения по отделам или функциям. Это имеет смысл для многих людей, но на самом деле дизайн OU должен отвечать вашим потребностям и является довольно гибким. Там нет "один способ" сделать это.

Многонациональная компания может иметь верхний уровень Ous из North America, Europe, Asia, South America, Africaтак что они могут делегировать административные привилегии , основанные на континенте. Другие организации могут иметь верхний уровень OUs из Human Resources, Accounting, Salesи т.д. , если это имеет смысл для них. Другие организации имеют минимальные потребности в политике и используют «плоский» макет с Just Employee Usersand Employee Computers. Здесь действительно нет правильного ответа, это то, что отвечает потребностям вашей компании.

MDMarra
источник
1
Кто-то знает его AD довольно тщательно .. +1
NickW
3
@NickW AD вопросы, откуда 72 тыс. Из моего 72,9 тыс. Представителя, вероятно, пришли: D
MDMarra
2
И все же отличная статья Technet, которую можно прочесть после всего этого времени: technet.microsoft.com/en-us/library/bb727030.aspx - некоторые части были заменены, но определенно стоит прочитать.
TheCleaner