Снапшоты Active Directory и примеры использования
Добрый день! Уважаемые читатели и гости одного из крупнейших блогов посвященных системному администрированию Pyatilistnik.org. В прошлый раз мы с вами успешно научились находить причины синих экранов в операционных системах Windows. Сегодня я хочу вам показать еще одну интересную вещь, о которой не многие системные администраторы знают, а если и знают, то практически не пользуются. Речь пойдет , о моментальных снимках или проще говоря снапшотов базы Active Directory, мы разберем, как и делать, как их дальше анализировать, и как применять это в своей практике, так сказать каковы сценарии. Думаю, что вам будет интересно.
Сценарии использования моментальных снимков Active Directory
Прежде чем я вам опишу процесс с различными операциями по взаимодействию со снапшотами AD, я бы хотел показать вам сценарии при которых вам это может быть полезно.
Снапшот (Моментальный снимок - Snapshot) Active Directory - это запечатленное состояние базы данных AD, со всеми на тот момент атрибутами и их значениями, данный снимок доступен для переноса, последующего чтения на другом компьютере. Данный функционал был представлен с Windows Server 2008 R2.
- Самый распространенный сценарий, это когда вы проводите аудит вашей AD, на предмет прав, свойств и тому подобное. Чаще всего для таких вещей нанимают специальную организацию. Согласитесь, что не совсем разумно человеку из данной организации весь свой рабочий процесс сидеть у вас, занимая место и ресурсы, проще сделать моментальную копию базы данных, чтобы потом ее забрать с собой и благополучно и в спокойной обстановке исследовать
- Второй сценарий, когда применимы снимки AD, это когда вы хотите понять, как выглядела ваша база данных с ее атрибутами в прошлом, какие были внесены изменения, это удобно когда у вас есть какие-то проблемы и вы их связываете с тем, что у объекта, что-то поменялось. Либо может быть такая ситуация, что вы в тестовой среде произвели настройки, они вас устроили, вы пытаетесь их воспроизвести на рабочей конфигурации, но не понимаете почему не работает, в таких случаях можно сделать снимок AD и сравнить его с вашей конфигурацией, где не работает настройка.
- Так же снапшоты используют для восстановления объектов, атрибутов. Вы можете их выгрузить, а потом импортировать в текущую конфигурацию
- Очень удобно применять снапшоты, перед внедрением какого-то продукта, который расширяет схему Active Directory. Вы легко будите понимать какие атрибуты и с какими значениями были добавлены, например удобно при траблушутинге Exchange.
Методы создания снапшота AD
Я в своей практике использую два метода позволяющих вам бесплатно создать моментальный снимок Active Directory, это:
- Утилита ntdsutil
- Утилита AD Explorer
Использование AD Explorer
AD Explorer, это один из полезнейших инструментов Active Directory, является часть знаменитого сборника Sysinternals.
Это на мой взгляд самый удобный из бесплатных инструментов, по просмотру атрибутов вашего AD. Запускаем утилиту, для того чтобы создать новый снапшот, вам нужно выбрать раздел контекста именования имен, после чего открыть меню "File" и выбрать там пункт "Create Snapshot".
У вас откроется окно "Snapshot Active Directory", где вам необходимо задать имя снапшота и название файла, сохраняемого вами в нужное расположение, обратите внимание, что он будет иметь формат dat.
Обратите внимание, что полученный файл со снимком Active Directory раз в 10 меньше по размеры, чем сам файл NTDS.DIT.
Далее вы скопировали данный файл и хотели бы его потом просмотреть, что вы делаете. Открываете снова AD Explorer, но уже выбираете пункт "Enter the path of a previous snapshot to load", где вы указываете путь до вашего файла dat.
После того, когда все выбрано правильно нажимаем "Ok".
В итоге мы видим, что снимок успешно подключен, вы видите схему, конфигурацию и контекст именование имен. Теперь вы можете его исследовать, права доступа, членства в группах, свойства атрибутов и многое другое, согласитесь, что очень удобно.
Еще одной классной функцией AD Explorer является возможность сравнивать снапшоты на предмет расхождений. Предположим вы сняли снапшот неделю назад, Active Directory живет своей жизнью, вдруг у вас что то ломается, аудит AD не всегда позволяет быстро найти изменение, но сделав новый моментальный снимок вы можете его легко сравнить с предыдущим и понять, что именно было исправлено и где. Для демонстрации я создам новое организационное подразделение Managers, а так же исключу пользователя Барбоскина Геннадия Викторовича из групп администраторов. Делаю новый снапшот в AD Explorer. Теперь когда у вас есть два снапшота, можно попытаться их сравнить, для этого подключитесь, как показано выше к первому снапшоту, далее выберите в меню "Compare - Compare Snapshot".
В поле "Select an archive to compare to: выберите вас второй снимок.
Нажимаем кнопку "Compare". Обратите внимание, что у вас есть возможность более избирательно задать какие изменения искать.
На выходе вы получите сводный список с подробной картой изменений. Так например мы видим, OU Managers, и у нее статус, что она отсутствует на первом снимке (Object missing in first).
Вот пример того, что изменилось членство в группе Администраторы схемы, видно, что на втором снимке нет Геннадия Викторовича Барбоскина. Вот таким образом вы можете сравнить изменения между двумя снимками Active Directory.
Создание снапшота AD через NTDSUTIL
Ntdsutil - это мега мощная утилита по управлению базой данных Active Directory, логично предположить, что она умеет делать моментальные снимки. Открываем командную строку от имени администратора домена и пишем:
В итоге мы с вами попали в контекст утилиты, о чем говорит знак ":".
Далее переходим в раздел Snapshot, пишем:
Далее мы подключаемся к текущей базе NTDS:
Если все хорошо, то вы увидите статус "активный экземпляр ntds (Active instance set to "ntds")".
Теперь вы можете создавать снапшоты, для этого используем команду:
Если все указано верно, то вы увидите сообщение по типу "Успешно создан набор снимков {e8d656d9-75e7-49fd-8a0b-31a057846b44}"
Чтобы отобразить существующие снимки Active Directory введите:
В итоге будет, что то вроде этого:
снимок: List All
- : 2019/07/22:17:04 {e8d656d9-75e7-49fd-8a0b-31a057846b44}
- : C: {f4b6b2c2-2fa6-435c-a338-96745a60742a}
Вы увидите дату снапшотов, их GUID.
После создания снапшота, вам нужно корректно завершить работу с базой AD, для этого введите:
quit нажимаем Enter
Как смонтировать и подключить снапшот Active Directory в NTDSutil
Все делается так же в командной строке и первые действия такие же как и при создании снимка.
snapshot
List All
mount 2
mount 2 - монтирует единственный мой снапшот, вы сразу его можете увидеть в корне диска C:\$SNAP_201907221704_VOLUMEC$. После этого вы можете выйти из ntdsutil, выполнив два раза quit.
Теперь мы с вами выполним подключение к смонтированному снимку Active Directory, в этом нам поможет утилита командной строки DSAMAIN. Утилита DSAMAIN устанавливается вместе с ролью AD DS. Что приятно подключение снимка в DSAMAIN предоставляем вам использование графического интерфейса в ADSIEdit или Active Directory Пользователи и компьютеры.
DSAMAIN развернет
каталог для доступа к нему по 4 последовательных портам — LDAP, LDAP / SSL, GC, и GC / SSL. Вы можете вручную указать каждому из них определенный порт, но если вы просто зададите один порт (т.е. 12 345), все остальные порты займутся последовательно. Так что если вы выбрали 12345 для порта LDAP, вы получите:
LDAP: 12345
LDAP/SSL: 12346
GC: 12347 GC:
GC/SSL: 12348
В командной строке введите:
- –dbpath - это путь до файла ntds.dit из снимка
- -ldapport - порт на котором будет работать данный снимок
Если появится ошибка: "EVENTLOG (Error): NTDS General / Инициализация/Завершение : 2874", то выполните команду с такой конструкцией:
теперь откройте оснастку "Active Directory Пользователи и компьютеры", щелкаем в корне правым кликом и выбираем пункт "Сменить контроллер домена".
Выбираем пункт "Этот контроллер или экземпляр AD LDS", за место поля "Введите здесь имя [порт] сервера" вводим имя вашего контроллера, где смонтирован снимок и прописываем порт, в моем примере dc01.root.pyatilistnik.org:12345.
В итоге мы видим, что все удалось подключиться и именно к снапшоту AD.
То же самое можно проверить и через PowerShell, в оснастке введите;
Как отмонтировать снимок Active Directory
После того, как вы поработали с вашим снимком правильно будет его отмантировать, для этого выполните в командной строке:
snapshot
List Mounted
unmount 2
quit
quit
В итоге снимок будет корректно отмантирован.
Как удалить снимок Active Directory
Если вы хотите удалить лишние снапшоты AD, вы можете воспользоваться вот такой конструкцией:
snapshot
List All
delete 2
quit
quit
На этом у меня все, мы с вами научились производить полный спектр операций со снимками базы данных Active Directory. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Подскажите с помощью AD Explorer можно востановить состояние АД
Можно если был снапшот, что вы подразумеваете под состоянием?