Проверка точности делегирования Active Directory

Опубликовано: 7 Апреля, 2023

Введение

Microsoft создала Active Directory таким образом, чтобы администраторы, не являющиеся администраторами домена, могли выполнять административные действия над определенными объектами в Active Directory. Эта концепция, называемая делегированием, используется большинством пользователей, установивших Active Directory. Общие делегирования включают сброс паролей для пользователей, изменение членства в группах, добавление компьютеров в организационное подразделение и многое другое. Microsoft предоставляет это делегирование с помощью мастера, который является частью инструмента «Пользователи и компьютеры Active Directory». Мастер делегирования очень простой и понятный, но настройки, которые он делает для реализации делегирования, могут быть довольно сложными. Эта сложность, а также тот факт, что проверка предоставленных делегаций довольно сложна, требуют решения для проверки имеющихся делегаций, чтобы доступ к Active Directory был правильным.

Концепция делегирования

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

Пример 1:
В инженерном отделе 25 пользователей, и учетные записи пользователей находятся в инженерной организационной единице (OU). Существует специальное подразделение службы поддержки, которое отвечает за технических пользователей и их рабочие столы. Эта группа службы поддержки состоит из 5 технических специалистов, и все они являются членами группы HD_engineering. Группе HD_engineering может быть предоставлена возможность сбрасывать пароли только для 25 пользователей в подразделении Engineering.

Пример 2:
Отдел кадров работает над новым проектом и новым программным обеспечением. Они наняли стороннего поставщика для выполнения большей части работы и хотят снять нагрузку с ИТ во время проекта. В Active Directory для проекта и программного обеспечения создано множество групп. Эти группы расположены в HRProject OU. Администраторы домена поместили сотрудников отдела кадров, работающих над проектом, в группу под названием HR_Proj_Admins. Затем администраторы домена делегировали группе HR_Proj_Admins возможность изменять членство в группах, расположенных в HRProject OU.

Что такое делегирование

Как видите, у делегирования есть несколько мощных применений, и тот факт, что Active Directory предоставляет этот контроль, является огромным преимуществом. Однако когда запускается мастер делегирования, устанавливающий эти делегирования, что на самом деле происходит за кулисами?

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

На рисунках 1 и 2 показаны три разрешения, установленные для OU для делегирования сброса паролей пользователям в OU.

Изображение 10446
Рисунок 1:
Разрешения, установленные мастером делегирования для сброса паролей.

Изображение 10447
Рисунок 2:
Разрешения, установленные мастером делегирования для сброса паролей.

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

Недостатки мастера делегирования

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

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

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

Третья проблема с мастером делегирования — невозможность удалить разрешения. Допустим, вы хотите делегировать сброс паролей группе HR_PW_Reset в HR OU. Как только это делегирование установлено, вы не можете удалить его с помощью мастера делегирования. Вам нужно будет вручную удалить эти разрешения, используя вкладку «Безопасность» в подразделении.

Проверка делегирования в подразделениях и других объектах AD

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

Инструмент довольно прост и может быть запущен с любого компьютера, присоединенного к домену, в котором находится инструмент. Клиентские операционные системы также могут запускать это средство, если в соответствующей клиентской ОС установлен файл adminpak.msi или RSAT.

Чтобы запустить инструмент, вы просто набираете dsacls, а затем добавляете путь LDAP к OU, где вы хотите просмотреть разрешения. Например:

Dsacls ou=project,ou=hr,dc=adsolutions,dc=demo

Этот результат будет выглядеть так, как показано на рисунке 3.

Изображение 10448
Рисунок 3:
Выходные данные dsacls для OU в Active Directory.

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

Резюме

Мастер делегирования от Microsoft — хорошее решение для установки разрешений для объектов AD, но не очень хорошее для создания отчетов или удаления разрешений. Также очень сложно реально увидеть разрешения, установленные для OU и других объектов, поскольку инструмент не предоставляет никакой информации о том, что он устанавливает, и не дает никакого представления о текущих разрешениях. Важно убедиться, что разрешения, установленные для ваших подразделений и объектов, верны, иначе вы можете разрешить доступ пользователям, которым вы не хотите управлять объектами AD. С помощью бесплатного встроенного dsacls вы можете быстро получить отчет о том, какие разрешения установлены, а затем вручную удалить их, если они неверны. После анализа и удаления любых неподходящих разрешений ваша безопасность AD будет значительно повышена.