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

Описание объектов структуры каталогов AD:
- Лес — высший уровень логической структуры, который содержит один или несколько связанных доменов.
- Domain Controller (DC) — сервер, на котором установлена роль Active Directory Domain Services (AD DS) и который отвечает за управление безопасностью и информацией о пользователях, компьютерах, группах и других объектах в пределах домена AD.
- Organizational Unit (OU) — это логический контейнер в AD, используемый для группировки объектов, таких как Пользователи, Компьютеры, Группы и др. OU позволяет делегировать управление, применять политики групп (GPO) и упрощает администрирование домена, предоставляя гибкую структуру для управления ресурсами.
- Common Name (CN) — имя объекта. Оно должно быть уникальным внутри своего контейнера. Это конечная сущность в AD.
Так как доступ к структуре каталогов AD и проверка учетных данных пользователей осуществляются с использованием протокола LDAP, целесообразно рассмотреть его основные характеристики и способы применения в NAC-системах.
LDAP
LDAP (Lightweight Directory Access Protocol) — это облегченный (упрощенная версия более сложного и "тяжелого" протокола X.500 DAP) протокол прикладного уровня для доступа к службам каталогов. Он работает поверх стека TCP/IP (по умолчанию порт 389, с использованием TLS — 636) и используется для поиска, чтения и модификации объектов в иерархически организованной базе данных.
Гла вная задача LDAP: обеспечить стандартный способ работы с каталогом (специализированной базой данных): находить пользователей, компьютеры, группы, службы, а также управлять их атрибутами. Он описывает взаимодействие клиента и сервера в формате Запрос → Ответ.
При выполнении поиска объекта (SearchRequest) в AD указываются следующие параметры запроса:
- Base DN (Distinguished Name) — с какой точки каталога начинать поиск. Например: DC=example,DC=com.
- Область поиска определяет глубину поиска:
- Base object — поиск только по указанному в запросе объекту. В результате поиска возвращается либо один объект, либо ничего. Данная область, как правило, используется для проверки наличия объекта;
- One-level — поиск только по дочерним объектам (только на один уровень вглубь) указанного объекта. Поиск по вложенным объектам не производится, также в результаты поиск не попадает сам базовый объект (Base object);
- Subtree — поиск по всем дочерним объектам, включая вложенные. Сам базовый объект (Base object) в поиск не попадает.
- Список атрибутов — определяет, какие атрибуты (поля) найденных записей должны быть возвращены сервером. Можно указать конкретные имена атрибутов. Например: cn, mail, memberOf. Задается для сокращения времени поиска.
Для указания точного пути расположения объекта в AD можно использовать атрибут DN.
Distinguished Name (DN) — это полный уникальный путь к объекту во всей иерархии Active Directory. Он идентифицирует объект во всем лесе доменов. Строится следующим образом: CN + путь до объекта.
Для примера представим, что у нас есть пользователь Иванов И.И., который находится в подразделении Пользователи, которое, в свою очередь, находится в подразделении Users домена example.com.
CN пользователя: CN=Иванов И.И.;
Контейнер (подразделение): OU=Пользователи;
Родительский контейнер: OU=Users;
Домен: DC=example, DC=com.
Его Distinguished Name будет выглядеть так: CN=Иванов И.И.,OU=Пользователи,OU=Users,DC=example,DC=com.

Настройка LDAP-аутентификации
В данном разделе мы разберем, как настроить источник аутентификации Active Directory.
Веб-интерфейс источника аутентификации Active Directory
Прежде чем переходить от теории к практике, важно понять, как устроен веб-интерфейс источника аутентификации. В этом разделе мы кратко рассмотрим наиболее важные и часто применяемые параметры, чтобы сформировать общее представление о возможностях интеграции.
- Имя — наименование источника;
- Хост — доменное имя или IP-адрес контроллера домена Active Directory, используемого для аутентификации. Поддерживает указание нескольких серверов для отказоустойчивости. В полях справа можно указать порт, по которому происходит взаимодействие AxelNAC и AD, который можно посмотреть в данном разделе. Также можно указать метод шифрования соединения, если он требуется. Хостов может быть несколько;
- Режим верификации SSL — оставьте без изменений, т.к. данная проверка необходима для подключений, в которых применяются протоколы Start TLS и LDAPS;
- Базовое DN — точка входа в дерево каталога, с которой начинается поиск учетных записей и групп. Определяет с какой ветки будут запрашиваться пользователи. Строится по иерархии домена и записывается как цепочка DN-компонентов: DC=example, DC=com (DC=example — первая часть доменного имени, DC=com — верхний уровень домена);
- Область применения — параметр позволяет указать способ поиска пользователей в каталоге AD;
- Атрибут имени пользователя — определяет по какому атрибуту в AD будет выполняться поиск и проверка пользователей во время аутентификации;
- Проч ие атрибуты — параметр поз воляет указывать дополнительные LDAP-атрибуты, которые будут запрашиваться из AD во время аутентификации пользователя;
- Добавление поисковых атрибутов LDAP-фильтра — данные атрибуты будут добавлены к сгенерированному LDAP-фильтру, созданному для атрибутов поиска. В примере ниже указан атрибут, который показывает всех пользователей, чья учетная запись выключена;

- Привязать DN — учетная запись (Distinguished Name), используемая для аутентификации в службе AD при поиске пользователей. Учетная запись должна обладать правами на чтение домена. Оставьте это поле пустым, если вы хотите выполнить анонимную привязку;

- Правила аутентификации — набор условий, определяющих, каким образом клиент или устройство должно быть проверено перед предоставлением доступа к сети. Нажмите Добавить правило, чтобы добавить правило аутентификации. Заполните следующие поля:
- Статус — активно ли правило;
- Имя — имя правила;
- Описание — описание правила;
- Оператор — принцип проверки условий. Значение ALL указывает, что должны быть выполнены все перечисленные условия. Значение ANY указывает, что должно быть выполнено хотя бы одно правило;
- Условия — набор критериев, используемых для проверки клиента. Количество условий неограниченно и может изменяться с помощью нажатия на иконки
. Каждое условие состоит из следующих элементов:
- Атрибут — параметр, который будет проверяться;
- Оператор — тип сравнения или проверки;
- Значение — ожидаемое значение атрибута для выполнения условия.
- Действия — определяют, что произойдет после успешного выполнения условия правила. Количество действий неограниченно и может изменяться с помощью нажатия на иконки
. Каждое действие состоит из следующих элементов:
- Тип — вид результата;
- Значение — значение, соответствующее указанному типу.
При аутентификации пользователя в сети его имя будет проверяться на наличие в каталоге AD на основе Атрибута имени пользователя или Прочих атрибутов.
Пример заполненного правила аутентификации:

- Правила администрирования — набор условий, использующиеся для управления доступом администратора к системе на основе различных критериев. Позволяют настроить уровни доступа пользователей в зависимости от ролей, источников аутентификации и других параметров. Нажмите Добавить правило, чтобы добавить правило администрирования. Заполните следующие поля:
- Статус — активно ли правило;
- Имя — имя правила;
- Описание — описание правила;
- Оператор — принцип проверки условий. Значение ALL указывает, что должны быть выполнены все перечисленные условия. Значение ANY указывает, что должно быть выполнено хотя бы одно правило;
- Условия — набор критериев, используемых для проверки клиента. Количество условий неограниченно и может изменяться с помощью нажатия на иконки
. Каждое условие состоит из следующих элементов:
- Атрибут — параметр, который будет проверяться;
- Оператор — тип сравнения или проверки;
- Значение — ожидаемое значение атрибута для выполнения условия.
- Действия — определяют, что произойдет после успешного выполнения условия правила. Количество действий неограниченно и может изменяться с помощью нажатия на иконки
. Каждое действие состоит из следующих элементов:
- Тип — вид результата;
- Значение — значение, соответствующее указанному типу.
- Прочие атрибуты — параметр позволяет указывать дополнительные LDAP-атрибуты, которые будут запрашиваться из AD во время аутентификации пользователя.
При аутентификации пользователя в сети его имя будет проверяться на наличие в каталоге Active Directory на основе Атрибута имени пользователя или Прочих атрибутов.
Пример заполненного правила администрирования:

Ознакомьтесь с полным описанием всех элементов интерфейса.
Настройка интеграции с Active Directory
Перейдем к практике. Настройте интеграцию AxelNAC с AD, используя информацию, предоставленную ниже.
Настройка источника
Шаг 1. В разделе Конфигурация → Политики и контроль доступа → Источники аутентификации нажмите Новый внутренний источник и выберите Active Directory из выпадающего списка.
Шаг 2. На открывшейся странице заполните поля следующим образом:
- Имя: AD_example;
- Описание: AD-based registration;
- Хост: введите собственное значение;
- Базовое DN: введите собственное значение;
- Атрибут имени пользователя: sAMAccountName;
- Привязать DN: введите собственное значение;
- Пр авила аутентификации — наж мите Добавить правило и заполните поля следующим образом:
- Имя: AD_example_1;
- Описание: Предоставление доступа на 1 час, если пользователь входит в группу Пользователи;
- Условия — нажмите Добавить условие и заполните следующие поля:
- Атрибут: memberOf;
- Оператор: равно;
- Значение: используйте собственное значение, в нашем примере это OU=Пользователи,OU=Users,DC=example,DC=com.
- Действия — нажмите Добавить действие и заполните поля:
- Тип: Роль;
- Значение: Пользователь.
Нажмите на
, чтобы добавить еще одно действие и заполните поля:
- Тип: Уровень доступа;
- Значение: 1 день.
- Правила администрирования — нажмите Добавить правило, и заполните поля следующим образом:
- Имя: AD_example_2;
- Описание: Предоставление определенных уровней доступа, если имя пользователя содержит adm.;
- Условия — нажмите Добавить условие и заполните следующие поля
- Атрибут: radius_request.User-Name;
- Оператор: содержит;
- Значение: adm.
- Действия — нажмите Добавить действие и заполните следующие поля:
- Тип: Уровень доступа;
- Значение: Node Manager и User Manager.
Шаг 3. Нажмите Сохранить, чтобы сохранить настроенную конфигурацию.
Настройка области
Настройте область, выполнив следующие действия:
Шаг 1. Перейдите в раздел Конфигурация → Политики и контроль доступа → Домены → Области и нажмите на созданную ранее область.
Шаг 2. На вкладке NTLM-аутентификация заполните поле Домен, введя имя вашего домена.
Шаг 3. Нажмите Сохранить в левом нижнем углу страницы.
При выборе данного источника как источника аутентификации на Captive-портале все пользователи, входящие в группу Пользователи, получат роль Пользователи и доступ без повторной авторизации в течение 1 часа. Если логин пользователя будет содержать adm., и название созданной вами ранее области в качестве домена (например adm@realm), то при входе в продукт данный пользователь получит уровни доступа Node Manager и User Manager.
Полезные ссылки
Для более глубокого применения AD в AxelNAC и особенностей его конфигурации рекомендуется ознакомиться с дополнительными материалами: