Active Directory — трудности перевода. Часть 1

Прежде чем работать и детально изучать какую-то технологию мне необходимо понимать ее суть, выучить и опять же понять все основные термины, а самое главное разложить в голове по полочкам концепцию. Сегодня я предлагаю рассмотреть идеологию такой технологии как Active Directory, а как показывает опыт даже системные администраторы, имеющие за плечами годы администрирования AD зачастую «тонут» в терминах, встречающихся в документации. Посудите сами «Лес Active Directory, Дерево Active Directory , Схема Active Directory, Сайт Active Directory и.т.д» даже здоровая голова с непривычки закипит. На самом деле все очень просто, сейчас вы сами в этом убедитесь.

Исторически сложилось так, что у вас существует два способа объединения компьютеров в сеть, первый называется «Рабочая Группа», второй «Домен Active Directory». Эти термины описывают логическое объединение ваших компьютеров сеть. Т.е раскиданы компьютеры могут быть по десяти городам или более, это физическая структура вашей сети, но логически они будут объединены в один домен Active Directory или в одну рабочую группу (что тоже встречается).

Для начала рассмотрим принцип рабочей группы.

Такую сеть часто называют «одноранговой». Почему? Вспоминаем документ «Табель о Рангах», который описывал соотношение чинов по старшинству и приходим к выводу, что в рабочей группе все наши компьютеры равны. И не важно работает компьютер под управлением Windows Server 2003 или Windows XP. Это первая особенность рабочей группы.

Чтобы вывести вторую особенность ответьте на вопрос, зачем мы объединяем компьютеры в сеть? Возьму смелость на себя и предположу, что основная цель это предоставления доступа к ресурсам. Ресурсам, расположенным на одном участнике сети для других. Какие это ресурсы дело пятое, корпоративное приложения или сервер Counter Strike. Сразу еще один вопрос «Что главное при открытии доступа к ресурсах? (особенно в корпоративной среде) ». Ответ лежит на поверхности – главное это безопасность. Вы явно не хотите, чтобы ваш домашний фотоальбом стал доступен всему дому, подключенному через беспроводную сеть, но в тоже время ваш друг, сосед с пятого этажа должен увидеть фотографии со вчерашней вечеринки. Как же быть?

Необходимо аутентифицировать и авторизовывать подключающихся к вашему компьютеру клиентов сети. Чтобы вы четко понимали термины «аутентификация» и «авторизация» приведу простой пример, позаимствованный у сотрудника Microsoft.

Вы идете по улицам столицы и вас останавливает сотрудник ППС. Естественно просит ваши документы. Вы достаете свой паспорт и отдаете сотруднику Милиции. Он открывает паспорт и видит, что вы гражданин РФ и фотография в паспорте на вас чем то похожа. Это говорит о том, что аутентификацию вы проходите. После чего сотрудник милиции открывает страницу паспорта с пропиской, видит, что прописка в Магаданской области и сообщает вам, что авторизацию вы провалили.

Если серьезно, то аутентификация это проверка того что в сети существует учетная запись пользователя, который хочет получить доступ к ресурсам, а авторизация это проверка даны ли ему эти права.

Вернемся к вашему домашнему компьютеру с архивом фотографий. На основе чего он, находящийся в рабочей группе должен аутентифицировать вашего соседа?  На основе собственной базы учетных записей созданной на компьютере. В разных версиях Windows она называется по-разному PWD-файлы, SAM-ульи.

Суть в другом, для того чтобы сосед получил доступ вы должны либо:

— Создать учетную запись для соседа на своем компьютере, дать ей доступ и сообщить соседу имя записи и пароль. Но если нужно открыть доступ 10 соседям неужели создавать учетки для всех? Можно пойти другими путями.

— Работать с соседом (или соседями) с одинаковыми учетными записями, т.е у все User с паролем «123». Сами понимаете вариант не безопасный и глупый.

— Или открыть доступ к ресурсам группе «Все», что полностью перечеркивает безопасность и не дает вам возможности выбирать, кто должен получить доступ, а кто нет.

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

Рис. 1 Классическая схема рабочей группы, где каждый компьютер содержит учетные записи для всех пользователей сети.

Представьте теперь себе корпоративную сеть хотя бы из 50 компьютеров и сразу становится понятно, что рабочая группа имеет место быть либо в крошечных «домашних» сетях состоящих из 5-8 компьютеров либо у системных администраторов фанатично изображающих преданность делу путем ежедневной беготни по местам пользователей.

Организация сети на основе домена Active Directory.

При переходе на доменную сеть схема несколько меняется. В нашей сети появляется еще один игрок – контроллер домена Active Directory. Это сервер под управлением одной из серверных операционных систем начиная от Windows 2000 и заканчивая Windows 2008R2 за исключен Web-редакций. Для чего же он нужен? При аутентификация в домене использует протокол Kerberos, который по приданию “древних Скифов” был  назван в честь Цербера, трехголового  огнедышащего пса, охраняющим ворота Царства Аида.

Три головы протокола аутентификации Kerberos это:

— Клиент – компьютер/пользователь, который хочет обратиться к какому-то ресурсу.

— Сервер – компьютер, предоставляющий доступ  к какому-то ресурсу.

— Доверенный посредник между клиентом и сервером, который ручается за подлинность клиента.

Как  раз этим доверенным посредником и является контроллер домена. Он хранит все учетные записи для пользователей и компьютеров входящих в его домен. Если в рабочей группе вы для аутентификации создавали учетные записи для каждого пользователя, то в домене Active Directory вместе с пользовательскими учетками создаются учетные записи для компьютеров. Это обязательно. Если на одном компьютере будет работать 3 человека, следовательно вы создадите три учетных записи пользователя и одну учетную запись компьютера. В отличии от рабочей группы создаются учетные записи на контроллере домена, там же и хранятся. Соответственно каждая учетная запись создается только один раз. Сердцем  контроллера домена является файл ntds.dit, который как раз и содержит учетные записи для вашего домена (и не только записи).

Рис. 2 Схема Домена Active Directory

Теперь при загрузке компьютера человек вводит ту учетную запись и пароль которые были прописаны на контроллере домена. Эти данные пересылаются на контроллер домена и сравниваются с тем что было задано администратором сети  при создании учетной записи. Если имя и пароль были введены правильно, вас пускает на компьютер и ваша учетная запись получает, что то вроде паспорта, который дает вам право находиться в сети, но не гарантирует получения доступа к ресурсам, т.к вы прошли только первый этап аутентификацию. В дальнейшем, когда вы захотите обратиться к ресурсам файлового сервера, вы снова обратитесь к контроллеру домена и предоставите ему свой “паспорт”, контроллер, убедившись, что вы аутентифицированы, выдаст вам вам “визу” с помощью которой вы сможете установить соединение с файловым сервером. Причем  данная “виза” (более правильно Билет сеанса) даст вам право подключиться только к данному серверу и только в течении определенного времени. (Визы увы не вечны :) ). Это и есть процесс авторизации.

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

А что же стало с локальными учетными записями, которые были созданы до ввода наших компьютеров в домен? Ничего, они по-прежнему существуют и каждый раз при загрузке компьютера у пользователя есть выбор – входить с локальной учетной записью или с доменной. Если будет выбрана локальная, то никакого обращения к контроллеру домена не будет и вход будет осуществлен на основе локальной базы с учетными записями. Естественно при таком варианте вы сможете подключиться только к тем ресурсам, которые расположены на вашем компьютере, все доменные ресурсы вам будут недоступны. После ввода в домен локальные учетные записи могут использоваться во время отключения компьютера от доменной сети либо при решении проблем с компьютером, когда зайти под доменной учетной записью просто не получается (пример: не настроена сетевая карта).

Рис. 3 Выбор на Windows Server 2003. Вход либо под доменной учетной записью в домене CONTOSO, либо под локальной записью компьютера WS03SERVER.

На этом первая (наверно из 5, хотя пока точно не знаю) часть закончена. Продолжение следует. PDF будет после написания всей серии. Следует учитывать, что вышеописанное очень сильно упрощено и рассчитано именно на понимание концепции. Для тех кто хочет четко понимать, что происходит после того как вы нажали “CTRL+ALT+DEL” настоятельно рекомендую прочитать статью “Протокол сетевой аутентификации Kerberos 5”. Если будут по ней вопросы, я могу ответить в комментариях к данной записи.

Автор статьи:Илья Рудь