Очистка кэша active directory

Обновлено: 06.07.2024

Данная статья посвящена процессу удаления данных из Active Directory после неудачного понижения роли контроллера домена.

Предупреждение . Неправильное изменение атрибутов объектов Active Directory с помощью оснастки редактирования ADSI, средства LDP или любого другого клиента LDAP версии 3 может привести к возникновению серьезных неполадок. В некоторых случаях их устранение связано с переустановкой Windows 2000 Server, Windows Server 2003, Exchange 2000 Server, Exchange Server 2003 или операционной системы Windows одновременно с сервером Exchange. Корпорация Майкрософт не гарантирует устранения неполадок, являющихся результатом неправильного изменения атрибутов объектов службы каталогов Active Directory. Ответственность за результаты произведенных действий несет пользователь.

Сведения хранятся в Active Directory по адресу:

Атрибуты объекта NTDS Settings содержат данные о способе идентификации контроллера домена участниками репликации, контексты именования, существующие на компьютере, политику запросов по умолчанию и данные о том, является ли контроллер домена сервером глобального каталога. Объект NTDS Settings является контейнером, который может содержать дочерние объекты, представляющие собой прямых участников репликации данного контроллера домена. Эти данные необходимы для работы контроллера домена, но становятся ненужными после понижения его роли.

В ОС Windows Server 2003 и Windows 2000 Server для удаления объекта NTDS Settings администратор может использовать программу Ntdsutil.exe. Ниже приведены инструкции по удалению объекта NTDS Settings из Active Directory для заданного контроллера домена. В каждом меню программы Ntdsutil для получения сведений о доступных параметрах можно использовать команду help .

Windows Server 2003 с пакетом обновления 1 (SP1) или более поздним: усовершенствованная версия программы Ntdsutil.exe

Версия программы Ntdsutil.exe, входящая в пакет обновления 1 (SP1) или более поздний пакет обновления для Windows Server 2003, была усовершенствована для обеспечения полноты процесса очистки метаданных. При очистке метаданных программа Ntdsutil.exe в составе пакета обновления 1 (SP1) или более позднего пакета обновления выполняет описанные ниже операции.

  • Удаляет объект NTDSA или NTDS Settings.
  • Удаляет объекты входящих подключений Active Directory, которые используются существующими конечными контроллерами домена для репликации из удаляемого исходного контроллера домена.
  • Удаляет учетную запись компьютера.
  • Удаляет объект члена FRS.
  • Удаляет объекты подписчиков FRS.
  • Выполняет попытку перехвата ролей одиночного гибкого хозяина операций (также именуемых операциями одиночного гибкого хозяина или FSMO), которыми обладает удаляемый контроллер домена.

Внимание! Перед удалением объекта NTDS Settings вручную убедитесь, что после понижения роли была произведена репликация. Неправильное использование программы NTDSUTIL может повлечь за собой частичную или полную неработоспособность службы Active Directory.

Первый метод: только для Windows Server 2003 с пакетом обновления 1 (SP1) или более поздним пакетом обновления

CN=Topology,CN=Domain System Volume,CN=DFSR-Globalsettings,CN=System,DC=Your Domain,DC=Domain Suffix

Второй метод: Windows 2000 (все версии) Windows Server 2003 RTM

Это значит, что объект NTDS Settings был удален ранее другим администратором или в результате репликации удаления объекта после запуска программы Dcpromo.

После удаления объекта NTDS Settings можно удалить учетную запись компьютера, объект FRS, запись типа cname (Alias) в контейнере _msdcs, запись A (Host) в DNS, объект trustDomain удаленного дочернего домена и контроллер домена.

Примечание . Удалять объект FRS в Windows Server 2003 RTM вручную не нужно, потому что программа Ntdsutil.exe удаляет его при ее запуске. Метаданные учетной записи компьютера не могут быть удалены, если учетная запись контроллера домена содержит другой оконечный листовой объект. Например, на контроллере домена могут быть установлены службы удаленной установки (RIS).

Средство Adsiedit входит в состав пакета средств поддержки для Windows 2000 Server и Windows Server 2003. Чтобы установить пакет средств поддержки, выполните следующие действия:

  • Windows 2000 Server: Перейдите в папку Support\Tools, находящуюся на компакт-диске Windows 2000 Server, дважды щелкните файл Setup.exe и следуйте инструкциям, появляющимся на экране.
  • Windows Server 2003: Перейдите в папку Support\Tools, находящуюся на компакт-диске Windows 2003 Server, дважды щелкните файл Suptools.msi, нажмите кнопку Установить и следуйте инструкциям мастера установки.
  1. Для удаления учетной записи компьютера с помощью ADSIEdit Для этого выполните следующие действия:
    1. Выберите в меню Пуск пункт Выполнить, введите в поле Открыть команду adsiedit.msc и нажмите кнопку ОК.
    2. Разверните контейнер Domain NC.
    3. Разверните DC=имя_домена, DC=COM, PRI, LOCAL, NET.
    4. Разверните узел OU=Domain Controllers.
    5. Щелкните правой кнопкой мыши CN=имя контроллера домена и выберите команду Удалить.

    Дополнительный синтаксис с расширенными возможностями в программе Ntdsutil.exe, содержащейся в пакете обновления 1 (SP1) или более позднем пакете обновления

    В Windows Server 2003 с пакетом обновления 1 (SP1) может использоваться новый синтаксис. При использовании нового синтаксиса нет необходимости выполнять привязывание к службе каталогов и выбирать цель операции. Для использования нового синтаксиса необходимы сведения относительно DN объекта NTDS Settings понижаемого сервера. Чтобы воспользоваться новым синтаксисом для очистки метаданных, выполните следующие действия.

    1. Запустите строку ntdsutil.
    2. Выберите команду очистки метаданных prompt.
    3. Запустите следующую команду:

    remove selected server <DN of the server object in the config container>

    Ниже приведен пример этой команды.

    Примечание . Указанная команда состоит из одной строки, которая была разбита на несколько.

    Remove selected server cn=servername,cn=servers,cn=sitename,cn=sites,cn=configuration,dc=<forest_root_domain>

    Дополнительная информация

    Дополнительные сведения о принудительном понижении роли контроллеров домена под управлением Windows Server 2003 и Windows 2000 см. в следующей статье базы знаний Майкрософт:

    332199 Принудительное понижение роли контроллеров домена с помощью мастера установки Active Directory в Windows Server 2003 или Windows 2000 Server выполняется неправильно

    Что такое кэш DNS?

    Ранее я вам рассказывал, что такое DNS сервер, как его устанавливать в Windows Server. В своей практике вы легко можете столкнуться с тем, вы обратились к какому-то сайту, его DNS имя и IP-адрес попали в кэш сервера. Потом у данного сайта поменялся IP-адрес, но при обращении к нему ваши пользователи все равно попадают на старый IP. Вам необходимо его удалить, лично я столкнулся с данной задачей когда искал проблему с ошибкой:

    Именно DNS кэш этому виной. DNS кэш - это некая область в которую попадают записи относящиеся к запрашиваемому домену и зоне, например NS-записи, A-записи и так далее. Данный кэш, не нужно путать с локальным, тут логика у сервера такая, когда клиент запрашивает сопоставление DNS-имени и IP-адреса, он в первую очередь смотрит не является ли он сам этим адресом, если нет, то он обращается уже по рекурсии к вышестоящему DNS-серверу. Когда вся информация получена, то сервер для ускорения последующего разрешения имен просто кладет к себе в кэшированные просмотры эту информацию, что ускоряет скорость ответа для клиента который потом запросит данную информацию, так как не придется делать рекурсивный запрос и так же снимет часть нагрузки с DNS сервера, короче одни плюсы.

    Как посмотреть кэшированные просмотры на DNS сервере

    Откройте оснастку DNS и перейдите в меню "Вид - Расширенный"

    Расширенные возможности DNS

    После этого у вас появится скрытый раздел "Кэшированные просмотры"

    Кэшированные запросы DNS

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

    Содержимое кэша на DNS сервере

    Тут будут обычные записи, например вот A-запись для моего домена.

    Как посмотреть кэшированные просмотры на DNS сервере

    То же самое можно посмотреть и через PowerShell. Открываем оболочку и попробуйте выполнить такой командлет:

    Просмотр кэша DNS сервера через PowerShell

    Как удалить кэш на DNS сервере

    Я покажу три метода позволяющих вам удалить текущий DNS-кэш на вашем сервере, они будут отличаться от чистки на клиенте:

    Как удалить кэш на DNS сервере

    Первый метод очистки вашего сервера от кэшированных запросов, это через саму оснастку DNS. Для этого просто выберите имя вашего DNS-сервера и через контекстное меню произведите очистку.

    Второй метод, это в командной строке введите команду:

    Как удалить кэш на DNS сервере через cmd

    То же самое еще выполним через PowerShell:

    Как видите в итоге остались только корневые записи.

    Как удалить кэш на DNS сервере через powershell

    Настройка времени хранения DNS кэша на сервере

    Каждая запись DNS имеет значение времени жизни (TTL), связанное с ней, и именно это значение обычно определяет, как долго запись будет сохраняться в кэше, но это можно изменить с помощью значения реестра MaxCacheTtl. Существуют настройки MaxCacheTtl как для серверного, так и для клиентского кеша, которые хранятся в разных местах реестра:

    Очистка метаданных контроллера домена в Active Directory

    Довольно часто встречаются ситуации, когда контроллер домена оказывается удален без понижения роли, это может быть связано как с ошибками при понижении, так и с физическим выходом из строя, после чего в структуре Active Directiry остается информация (метаданные) несуществующего контроллера, что может приводить к различным ошибкам. Поэтому, если у вас произошла такая ситуация, следует обязательно выполнить очистку связанных с удаленным контроллером метаданных в базе Active Directory.

    Для выполнения данной задачи могут быть использованы различные инструменты: оснастки MMC графической оболочки и утилиты командной строки, в данной статье мы рассмотрим оба способа.

    Очистка метаданных с помощью средств графического интерфейса

    Данный способ доступен начиная с Windows Server 2008 и предполагает использование оснасток MMC либо на самом сервере, либо на компьютере администратора с установленным пакетом RSAT. Для того, чтобы очистить метаданные запустите оснастку Active Directory -- пользователи и компьютеры (dsa.msc) и подключитесь к любому работающему контроллеру домена, при запуске оснастки на самом контроллере это будет сделано автоматически.

    Затем раскройте нужный домен и перейдите в контейнер Domain Controllers, выберите контроллер, метаданные которого нужно очистить и выполните для него команду Удалить (через меню правой кнопки мыши).

    ad-ds-metadata-cleanup-001.jpg

    Подтверждаем удаление, в следующем окне с предупреждением установите флаг Все равно удалить этот контроллер домена. Он постоянно отключен, и его невозможно удалить с помощью мастера удаления и нажмите кнопку Удалить. Будьте внимательны, чтобы по ошибке не удалить действующий контроллер.

    ad-ds-metadata-cleanup-002.jpg

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

    ad-ds-metadata-cleanup-003.jpg

    После удаления контроллера откроем оснастку Active Directory сайты и службы (dssite.msc), перейдите в контейнер Servers и убедитесь, что контроллер домена, который вы удалили не содержит вложенных объектов NTDS, после чего сам объект контроллера следует удалить.

    ad-ds-metadata-cleanup-004.jpg

    На этом очистка метаданных для удаленного контроллера домена завершена.

    Очистка метаданных с помощью командной строки

    Вы также можете очистить метаданные при помощи командной строки, для этого используется утилита ntdsutil, которая автоматически устанавливается на каждом контроллере домена, а также входит в состав пакета RSAT. Все последующие действия нужно выполнять, обладая правами Администратора домена.

    Откроем командную строку и наберем в ней:

    Все последующие действия будут производиться в контексте этой утилиты. Затем выполним для перехода в режим очистки метаданных:

    Теперь соединимся с любым работающим контроллером домена:

    В данном контексте наберите:

    и вернитесь в режим очистки метаданных:

    ad-ds-metadata-cleanup-005.jpg

    Теперь перейдем в режим выбора цели:

    Первым делом получим список доменов:

    В полученном выводе находим номер нужного нам домена, если домен один, то это будет ноль и указываем его в следующей команде:

    ad-ds-metadata-cleanup-006.jpg

    Аналогичным образом выберем и укажем сайт:

    После чего получим список контроллеров в сайте и выберем нужный из них:

    Будьте внимательны, не удалите работающий контроллер домена!

    ad-ds-metadata-cleanup-007.jpg

    Выбрав необходимый контроллер, вернемся в режим очистки метаданных:

    И удалим метаданные контроллера командой:

    В окне предупреждения еще раз внимательно изучим всю информацию и подтвердим удаление.

    ad-ds-metadata-cleanup-008.jpg

    После удаления откройте оснастку Active Directory сайты и службы (dssite.msc) и убедитесь, что удаленный контроллер не содержит вложенных объектов NTDS, после чего его следует удалить.

    Также обратите внимание, что роли хозяев операций при этом способе перенесены не будут и их потребуется захватить вручную. Это можно сделать как при помощи ntdsutil, так и с помощью PowerShell.

    date

    16.11.2020

    directory

    Active Directory, Групповые политики

    comments

    комментариев 15

    Когда доменный пользователь входит в Windows, по умолчанию его учетные данные (Cached Credentials: имя пользователя и хэш пароля) сохраняются на локальном компьютере. Благодаря этому, пользователь сможет войти на локальный компьютер, даже если контроллеры домена AD недоступны, выключены или на компьютере отключен сетевой кабель. Функционал кэширования учетных данных доменных аккаунтов удобен для пользователей ноутбуков, которые могут получить доступ к своим локальным данным на компьютере, когда нет доступа к корпоративной сети.

    Сохраненный кэш доменной учетной записи в Windows

    Если домен Active Directory недоступен, Windows проверяет, что введенные имя пользователя и пароль соответствуют сохраненному локальному хэшу и разрешает локальный вход на компьютер.

    Сохраненные пароли хранятся в ветке реестра HKEY_LOCAL_MACHINE\Security\Cache (файл %systemroot%\System32\config\SECURITY). Каждый сохранённый хэш содержится в Reg_Binary параметре NL$x (где x – индекс кэшированных данных). По умолчанию даже у администратора нет прав на просмотр содержимого этой ветки реестра, но при желании их можно легко получить.

    В реестр сохраняет хэш пароля, модифицированный с помощь salt, созданной на основе имени пользователя.

    HKEY_LOCAL_MACHINE\Security\Cache сохраненный хэш пароля в реестре

    Очистка значения параметра NL$x приведет к удалению кэшированных данных.

    Отсутствуют серверы, которые могли бы обработать запрос на вход в сеть.

    Настройка Cached Credentials с помощью групповых политик

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

    По-умолчанию в Windows 10 /Windows Server 2016 сохраняются учетные данные для 10 пользователей. Чтобы изменить это количество, используется параметр GPO Interactive logon: Number of previous logons to cache (in case domain controller is not available) (Интерактивный вход в систему: количество предыдущих подключений к кэшу в случае отсутствия доступа к контроллеру домена), который находится в разделе Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options. Можно задать значение от 0 до 50.

    Если задать 0, это запретит Windows кэшировать учетные данные пользователей. В этом случае при недоступности домена, при входе пользователя появится ошибка “There are currently no logon servers available to service the logon request”.

    групповая политика Интерактивный вход в систему: количество предыдущих подключений к кэшу в случае отсутствия доступа к контроллеру домена

    Этот параметр также можно настроить с помощью REG_SZ параметра реестра CashedLogonsCount из ветки HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

    При входе под сохраненными данными, пользователь не видит, что контроллер домена не доступен. С помощью GPO можно вывести уведомление о входе под кэшированными данными. Для этого нужно включить политику Report when logon server was not available during user logon (Сообщать, когда сервер входа недоступен при входе пользователя) в разделе Compute configuration -> Policies -> Administrative templates -> Windows Components -> Windows Logon Options.

    политика Сообщать, когда сервер входа недоступен при входе пользователя

    В этом случае при входе пользователя в трее будет появляться уведомление:

    Эту настройку можно включить через реестр:
    HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/Current Version/Winlogon
    • ValueName: ReportControllerMissing
    • Data Type: REG_SZ
    • Values: TRUE

    Безопасность кэшированных учетных данных в Windows

    Локальное кэширование учетных данных несет ряд рисков безопасности. Злоумышленник, получив физический доступ к компьютеру/ноутбуку с кэшированными данными, может с помощью брутфорса расшифровать хэш пароля (тут все зависит от сложности и длины пароля, для сложных паролей время подбора огромное). Поэтому не рекомендуется использовать кеширование для учетных записей с правами локального администратора (или, тем более, доменного администратора).

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

    Для доменов с функциональным уровнем Windows Server 2012 R2 или выше можно добавить учетные записи администраторов домена в группу Protected Users. Для таких пользователей запрещено локальное сохранение кэшированных данных для входа.

    Можно создать в домене отдельные политики по использованию кэшированных учетных данных для разных устройств и категорий пользователей (например, с помощью GPO Security filters, WMI фильтров, или распространению настроек параметра реестра CashedLogonsCount через GPP Item level targeting).

    Для мобильных пользователей – CashedLogonsCount = 1
    Для обычных компьютеров – CashedLogonsCount = 0

    Такие политики снизят вероятность получения хэша привелигированных пользователей с персональных компьютеров.

    Читайте также: