Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #68, ИЮЛЬ 2006 г.

могучая репликация

ФЛЕНОВ МИХАИЛ

Спецвыпуск: Хакер, номер #068, стр. 068-036-4


[репликация Active Directory.]

Active Directory, которая активно используется серверами Windows – это тоже база данных. Она может быть распределенной, когда в работе участвуют несколько серверов, и при этом пользователь должен иметь возможность войти на любой из них с одним и тем же паролем. Как это сделать? Зарегистрироваться на каждом сервере в отдельности? Глупо и бессмысленно. И тут на помощь приходит репликация. Достаточно зарегистрироваться на одном сервере и прописать необходимые права доступа,- и вся информация будет реплицирована куда надо.

Репликация в AD происходит автоматически и чаще всего особого вмешательства не требует, но требует хорошего понимания основной идеи. Если бы с Active Directory было бы все так просто, то я бы не рассматривал эту технологию отдельно. Для начала нужно понимать, что для аутентификации используется протокол Kerberos, и ответственность за подлинность берет на себя контроллер домена. Когда ты заходишь на сервер, то имя и пароль направляются серверу, который проверяет эти данные и, в случае удачи, выдает белый билет. Нет, билет конечно не белый, но на его основе пользователь получает те или иные права. Если есть желание, но не хватает знаний, то советую поближе познакомиться с Active Directory и Kerberos, а наша задача – репликация.

Если до Windows 2000 в сети мог быть только один контроллер домена, который хранил все самое важное и управлял репликацией (тогда не было и Kerberos), то в нынешних версиях контроллеров может быть несколько. При этом все они будут равноправными. Это усложняет задачу по управлению процессом репликацию и разрешению возможных конфликтов, но окна нашли простое решение. Контроллеры домена наблюдают друг за другом, определяя, какой из них в данный момент будет дистрибьютором, т.е. одарит других изменениями.

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

По умолчанию репликация происходит каждые пятнадцать минут. Через эти промежутки времени сервер направляет контроллерам домена сообщения о том, что есть изменения и, конечно же, становится дистрибьютором. Остальные участники репликации, получив подобное сообщение, подключаются к серверу и вытягивают данные. Сам дистрибьютор без запроса свои изменения в сеть не выплюнет, чтобы злые хакеры не смогли перехватить подобный пакет. Просто нет смысла без надобности кидать в сеть такие важные данные - вдруг остальные контроллеры домена упали (пусть земля им будет пухом).

[конфликты в Active Directory.]

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

Назад на стр. 068-036-3  Содержание  Вперед на стр. 068-036-5