Импортозамещение в Российской Федерации происходит не только в части средств защиты информации и системного программного обеспечения, но и в части обеспечивающих систем. Особенно актуально это на фоне того, что такие техногиганты, как 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. Итоги нагрузочного тестирования Avanpost DS
Функциональные возможности продукта нацелены на максимально удобную миграцию с привычного Active Directory с учётом особенностей Linux.

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

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

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

LDAP-каталог

Реализация иерархии в Avanpost DS
Рисунок 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
Рисунок 3. Схема распространения политик в Avanpost DS
Так как процесс миграции на Linux инфраструктуру занимает значительное время, требуется поддержка периода сосуществования. Для этого в Avanpost DS ведутся работы по установлению двусторонних доверительных отношений с Microsoft Active Directory. Это позволяет плавно переносить рабочие станции, сервисы и приложения в новую инфраструктуру без прерывания обслуживания.

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

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

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

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

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

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

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

ЦП — 2 вЦП
ОЗУ — 4 ГБ
Свободное место на диске — 16 ГБ, желательно SSD
Программное обеспечение — Linux (64 бита), ядро 4. x, наличие openssl, tar, sudo

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

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

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

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

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

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

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

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

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

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

Режим «Рабочие станции» в Avanpost DS
Рисунок 9. Режим «Рабочие станции» в Avanpost DS
Кнопка экспорта keytab-файла в Avanpost DS
Рисунок 10. Кнопка экспорта keytab-файла в Avanpost DS
Режим «Иерархия» даёт администратору наглядное представление структуры домена и возможность управления деревом каталога сервисов Avanpost DS: объектами всех типов и организационными подразделениями.

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

Иерархия

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

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

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

Выводы

Другие новости

    Форма
    контакты
    Телефон
    E-mail
    129 085, г. Москва
    ул. Годовикова, д. 9, стр. 17
    Адрес
    Все права защищены © Avanpost 2024