Обзор Avanpost DS 1.0, российской службы каталогов

26.07.2024 19:36

Импортозамещение в Российской Федерации происходит не только в части средств защиты информации и системного программного обеспечения, но и в части обеспечивающих систем. Особенно актуально это на фоне того, что такие техногиганты, как Microsoft, постепенно прекращают свою деятельность на территории России. Очевидной тенденцией становится переход с операционных систем Windows на Linux. При этом возникает, в частности, проблема замещения Microsoft Active Directory — службы каталогов, содержащей в себе информацию о компьютерах, пользователях, контактах, принтерах и других объектах в иерархическом виде, что позволяет создавать организационные единицы, гибко управлять доступом, вести учёт активов и совершать другие необходимые действия с ними.

На отечественном рынке пока не так много продуктов, которые позволяли бы реализовать необходимые функциональные возможности в инфраструктурах на базе Linux. Одним из них является Avanpost DS, развиваемый вендором с 2020 г.

В отличие от ряда схожих продуктов, Avanpost DS не имеет в своём составе компонентов с открытым кодом, что позволяет избежать рисков появления вредоносных закладок и компрометации инфраструктур заказчиков.

Разработка ведётся с использованием высокопроизводительного технологического стека: Go / BadgerDB / Vue.js. Реализована поддержка протоколов LDAP и Kerberos v5 в соответствии со стандартами IETF. Вендор производил нагрузочное тестирование на стенде с 3,5 млн объектов, среди которых были 600 тыс. пользователей, 300 тыс. групп, 1 млн прочих объектов и 1,6 млн ключей Kerberos. Обрабатывалось более 100 тыс. запросов (50 тыс. на один контроллер домена).Введение

Обзор Avanpost DS 1.0, российской службы каталогов

Рисунок 1. Итоги нагрузочного тестирования Avanpost DS

Функциональные возможности Avanpost DS

Функциональные возможности продукта нацелены на максимально удобную миграцию с привычного Active Directory с учётом особенностей Linux.

LDAP-каталог

Базовую функциональность системы обеспечивает LDAP-каталог. Благодаря этому в Avanpost DS возможно централизованное управление пользователями и компьютерами, поддерживаются авторизация доступа к ресурсам на основе групп, индексирование атрибутов, а также доменная иерархия в виде организационных единиц (Organizational Unit).

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

Обзор Avanpost DS 1.0, российской службы каталогов

Рисунок 2. Реализация иерархии в Avanpost DS

Доменный клиент

Для автоматизации введения компьютера в домен и настройки служб SSSD и Kerberos используется специальная утилита. Доменный клиент поддерживает такие ОС, как Astra Linux, РЕД ОС, ROSA, CentOS и Alt Linux. Также возможна доработка под другие дистрибутивы Linux.

Помимо автоматизации введения компьютера в домен, доменный клиент выполняет такие функции как безопасные динамические обновления DNS-записей и обновление Kerberos-ключей по расписанию.

Функции безопасности

Для обеспечения безопасности самой системы в ней имеются такие механизмы, как ролевая модель контроля доступа, делегирование полномочий на уровне иерархии, журнал безопасности, централизованное хранение событий. Ролевая модель позволяет гранулярно выдавать необходимые доступы сотрудникам разных уровней (техническая поддержка, системные администраторы и т. д.) к объектам на разных уровнях иерархии Avanpost DS.

Так же как и в AD, в Avanpost DS используются групповые политики для управления настройками серверов и АРМ. Система реализовывает функциональность групповых политик посредством интеграции с системой управления конфигурациями (Puppet). Avanpost DS обеспечивает привязку политик к подразделениям и передаёт инструкции по применению конфигураций в Puppet. Применение политик обеспечивается клиентом системы управления конфигурацией.

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

Базовый набор политик включает в себя парольные политики, управление доступом к съёмным носителям, подключение сетевых папок, настройки безопасности операционной системы, настройку доступов к приложениям и системным командам, настройку периферийных устройств и др. В случае необходимости расширения политик возможна загрузка собственных шаблонов конфигурации.

Обзор Avanpost DS 1.0, российской службы каталогов

Рисунок 3. Схема распространения политик в Avanpost DS

Доверительные отношения

Так как процесс миграции на Linux инфраструктуру занимает значительное время, требуется поддержка периода сосуществования. Для этого в Avanpost DS ведутся работы по установлению двусторонних доверительных отношений с Microsoft Active Directory. Это позволяет плавно переносить рабочие станции, сервисы и приложения в новую инфраструктуру без прерывания обслуживания.

При миграции пользователя в Avanpost DS генерируется новый идентификатор, а старый SID копируется как значение атрибута SidHistory. При доступе к ресурсам в домене Microsoft AD авторизация происходит с использованием SidHistory.

Обзор Avanpost DS 1.0, российской службы каталогов

Рисунок 4. Схема взаимодействия при доверительных отношениях в Avanpost DS

Архитектура Avanpost DS

Avanpost DS — распределенное приложение, написанное на Golang. Для хранения информации используется BadgerDB, поверх которой реализована логика LDAP хранилища. При этом база данных является встраиваемой, что отличает её от классической трёхзвенной архитектуры построения приложений. Для реализации основных функциональных возможностей в Avanpost DS используются протоколы Kerberos и LDAP. Панель администрирования в системе реализована на Vue. js, взаимодействует с сервисом через REST API.

В системе сейчас используются следующие интерфейсы и порты для них: API (443), Kerberos (88) и LDAP (369, 636). Впрочем, порты могут быть изменены в настройках системы.

Обзор Avanpost DS 1.0, российской службы каталогов

Рисунок 5. Архитектура Avanpost DS

Система является клиент-серверной, клиентская часть представляет собой стандартные пакеты, входящие в состав ОС Linux: SSSD, демон аутентификации и клиентский пакет Kerberos. Также используется разработанный вендором доменный клиент для настройки этих пакетов на рабочих станциях.

Структура сайтов в Avanpost DS реализована аналогично тому, как это сделано в Microsoft AD: логическая структура соответствует месту расположения (например, в ЦОД), где хосты связаны быстрой сетью. Таким образом достигается постоянная репликация между домен-контроллерами, обеспечиваются актуальность данных на них и отказоустойчивость инфраструктуры службы каталогов.

Обзор Avanpost DS 1.0, российской службы каталогов

Рисунок 6. Архитектура взаимодействия контроллеров доменов в Avanpost DS

Системные требования Avanpost DS

Для корректной работы системы предъявляется ряд требований к серверам.

ЦП — 2 вЦП

ОЗУ — 4 ГБ

Свободное место на диске — 16 ГБ, желательно SSD

Программное обеспечение — Linux (64 бита), ядро 4. x, наличие openssl, tar, sudo

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

Сценарии использования Avanpost DS

Установка Avanpost DS производится путём развёртывания архива с дистрибутивом на контроллерах доменов, после чего выполняется настройка. Для администрирования системы используется веб-браузер. Avanpost DS имеет несколько режимов администрирования: «Пользователи», «Группы», «Рабочие станции», «Иерархия», «Журнал безопасности».

Управление пользователями

В этом режиме производятся создание пользователей, поиск, редактирование основных и дополнительных атрибутов, добавление и удаление пользователя из групп. При создании пользователя есть ряд обязательных атрибутов и требований к ним. Например, нужно задать пароль длиной не менее 8 символов, содержащий цифры и буквы в верхнем и нижнем регистрах.

Обзор Avanpost DS 1.0, российской службы каталогов

Рисунок 7. Форма создания нового пользователя в Avanpost DS

Управление группами

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

Обзор Avanpost DS 1.0, российской службы каталогов

Рисунок 8. Атрибуты группы «Администратор» в Avanpost DS

Управление рабочими станциями

В режиме «Рабочие станции» возможны добавление и удаление рабочих станций, их поиск, просмотр атрибутов.

Обзор Avanpost DS 1.0, российской службы каталогов

Рисунок 9. Режим «Рабочие станции» в Avanpost DS

Обзор Avanpost DS 1.0, российской службы каталогов

Рисунок 10. Кнопка экспорта keytab-файла в Avanpost DS

Иерархия

Режим «Иерархия» даёт администратору наглядное представление структуры домена и возможность управления деревом каталога сервисов Avanpost DS: объектами всех типов и организационными подразделениями.

Для добавления доступны такие объекты иерархии, как контейнер, группа, рабочая станция и пользователь. Для удобства реализовано перемещение объектов между подразделениями с помощью механизма перетаскивания мышью (drag-and-drop).

Обзор Avanpost DS 1.0, российской службы каталогов

Рисунок 11. Режим «Иерархия» в Avanpost DS

Выводы

Система Avanpost DS 1.0 способна в условиях импортозамещения стать полноценной заменой Microsoft Active Directory. В первую очередь этот продукт подойдёт большим компаниям с географически распределёнными инфраструктурами. Для удобства пользователей система обладает возможностью построения доменной иерархии в управляемой инфраструктуре. Немаловажной особенностью является возможность автоматического масштабирования ресурсов в случае возрастания нагрузки.

Достоинства:

  • Высокая производительность.
  • Собственная разработка без открытого кода.
  • Гранулярная модель управления доступом.
  • Масштабируемость.
  • Поддержка доменной иерархии.

Недостатки:

  • Отсутствие поддержки Windows-клиентов.
  • Текущий релиз позволяет устанавливать доверительные отношения только с одним доменом Microsoft Active Directory.

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