Обзор MultiDirectory, службы каталогов с открытым исходным кодом
by Оксана Гриднева · Anti-MalwareMultiDirectory — мультиплатформенная служба каталогов с открытым исходным кодом и свободной лицензией от российского вендора МУЛЬТИФАКТОР. Возможности системы по централизованному управлению данными, поддержка Kerberos и SSO упрощают администрирование и обеспечивают защиту конфиденциальной информации.
Сертификат AM Test Lab
Номер сертификата: 489
Дата выдачи: 07.11.2024
Срок действия: 07.11.2029
Реестр сертифицированных продуктов »
Введение
Изучив потребности российского рынка и проблемы использования решений иностранных вендоров, компания МУЛЬТИФАКТОР разработала MultiDirectory — абстрагированный и защищённый от санкционных рисков продукт. Его функциональные возможности обновляются с учётом пожеланий и замечаний заказчиков. Предложить доработку может каждый пользователь — в официальном телеграм-чате или на сайте разработчика.
MultiDirectory, созданный на языке программирования Python, обладает высокой гибкостью, что делает систему легко адаптируемой под различные задачи и требования заказчиков. Использование контейнерной технологии Docker упрощает процесс развёртывания и настройки, что позволяет масштабировать систему под растущие нагрузки и минимизировать усилия по обновлению. Благодаря этому MultiDirectory подходит как для малого бизнеса, так и для крупных корпоративных структур, которым требуется стабильная, масштабируемая и простая в управлении система для централизованного управления данными.
Функциональные возможности MultiDirectory
Служба каталогов от МУЛЬТИФАКТОР — решение для администрирования и хранения данных в организациях. Её функциональные возможности позволяют успешно решать следующие задачи.
Централизованное хранение информации и управление ею
MultiDirectory поддерживает хранение данных обо всех элементах ИТ-инфраструктуры. Это позволяет администраторам быстро создавать или удалять учётные записи, а также централизованно управлять правами пользователей.
Ознакомиться с правами доступа и другой информацией о пользователях можно на вкладке «Users». Для этого необходимо нажать на никнейм и выбрать «Подробнее». Здесь же можно создать свою структуру организации.
Рисунок 1. Получение информации о пользователе
Рисунок 2. Карточка пользователя
Помимо получения общей информации администратор может выполнять другие действия:
- Редактировать или удалять атрибуты.
Рисунок 3. Редактирование атрибутов
- Менять адрес пользователя.
Рисунок 4. Изменение адреса пользователя
- Настраивать рабочие моменты: определять разрешённое время входа в систему, отключать аккаунт, указывать срок истечения действия учётной записи, запрещать пользователю менять пароль или обязывать изменить его при следующем входе в систему.
Рисунок 5. Настройка времени для входа пользователя в систему
- Настраивать среду пользователя при его входе в систему.
Рисунок 6. Настройка среды пользователя
- Изменять группы пользователя. Менять основную группу следует в том случае, если у компании есть приложения совместимые с POSIX или клиенты Macintosh.
Рисунок 7. Изменение группы пользователя
Централизованное управление в MultiDirectory позволяет минимизировать риски несанкционированного доступа.
Аутентификация и авторизация
Система идентифицирует и проверяет подлинность пользователей, основываясь на данных из своей базы. Благодаря поддержке LDAP и Kerberos каталог легко взаимодействует с различными приложениями и сервисами. Также есть возможность включения двухфакторной аутентификации. Она настраивается в разделе интерфейса MultiDirectory «Сетевые политики».
Доступ на основе ролей и групп позволяет разграничить права. Например, группа пользователей может иметь полный доступ к одним материалам, но ограниченный доступ к другим. Это снижает риски нарушения конфиденциальности данных.
Рисунок 8. Двухфакторная аутентификация через приложение МУЛЬТИФАКТОР
Единый вход (Single Sign-On)
Single Sign-On существенно повышает удобство, позволяя входить в систему один раз и работать со множеством приложений без дополнительных процедур удостоверения личности. Это снижает временные затраты и уменьшает количество запросов в службу поддержки по поводу забытых паролей.
Политики безопасности и соответствие нормативам
Настраиваемые парольные политики обеспечивают соответствие внутренним политикам безопасности и требованиям регуляторов. Контроль доступа на основе ролей и групп предоставляет возможность управлять правами и обеспечивать минимальный необходимый уровень привилегий.
Указанные функции доступны на вкладке «Политики сервера».
Рисунок 9. Политики доступа
Рисунок 10. Парольные политики
Интеграция в системы и сервисы
Благодаря поддержке LDAP, Kerberos, SAML, OAuth и OpenID Connect каталог связывается с большинством корпоративных приложений и облачных платформ. Это расширяет спектр сервисов, с которыми можно работать через единую службу каталогов.
MultiDirectory совместима с различными сетевыми протоколами и сервисами, что позволяет ей работать как в локальной сети, так и в облачной среде.
Архитектура MultiDirectory
Трёхзвенная архитектура MultiDirectory даёт системе гибкость для взаимодействия с другими сервисами, упрощает масштабирование и поддерживает высокий уровень безопасности за счёт распределения нагрузки и чёткого разделения функциональных задач.
- Пользовательский интерфейс (Frontend) — это уровень, с которым взаимодействуют конечные пользователи или администраторы системы. В MultiDirectory он представлен в виде веб-интерфейса, через который можно управлять учётными записями, политиками безопасности и настройками системы. Наличие удобного графического интерфейса упрощает взаимодействие с системой и делает её доступной для администраторов, даже если у них нет глубоких технических знаний.
- Сервер приложений (Application Layer) — центральный уровень, отвечающий за выполнение бизнес-логики и обработку запросов. Он связывает пользовательский интерфейс с базой данных, обеспечивая надёжную обработку информации, автоматизацию, выполнение правил безопасности. Например, сервер приложений в MultiDirectory проверяет права доступа и аутентифицирует через Kerberos, управляет синхронизацией данных между каталогом LDAP и другими системами.
- Сервер данных (Database Layer) — уровень, где хранятся все сведения, которые необходимы для работы системы: учётные записи пользователей, настройки безопасности, DNS-записи и пр. Этот уровень обеспечивает в т. ч. централизованное управление данными.
Архитектура адаптирована для совместимости с протоколами и структурами Active Directory, что позволяет легко переносить существующие данные и учётные записи пользователей без значительных изменений в инфраструктуре.
Системные требования MultiDirectory
MultiDirectory устанавливается на Linux-сервер. Минимальные требования для сервера: 2 ЦП, 8 ГБ ОЗУ, 100 ГБ на жёстком диске. Для установки важно иметь статический IP-адрес.
Для функционирования каталога также необходимо установить Docker и Docker-Compose.
В качестве встроенного балансировщика используется Traefik, работа с данными организована посредством PostgreSQL (другие СУБД несовместимы).
Система поставляется в Docker с открытым исходным кодом, разворачивается за несколько минут и сразу готова к использованию.
Применение MultiDirectory
Служба каталогов от МУЛЬТИФАКТОР подходит для создания и администрирования корпоративных каталогов в компаниях с распределёнными структурами из разных сфер. Внедрение MultiDirectory обеспечивает централизованное управление данными, упрощая контроль и настройку и уменьшая риск несанкционированного доступа. В распоряжении администраторов — определение сетевых политик доступа, многофакторная аутентификация, управление пользователями, группами и компьютерами.
Рассмотрим практику применения системы на примерах некоторых кейсов.
Введение компьютера в домен
Сценарий демонстрирует процесс работы в корпоративной среде, где в качестве службы каталогов используется MultiDirectory.
Запустим скрипт ввода в домен. После завершения его работы выводится подтверждающее сообщение.
Рисунок 11. Сообщение после завершения работы скрипта ввода в домен
В MultiDirectory появились учётные записи компьютеров.
Рисунок 12. Учётные записи компьютеров
Теперь в службе каталогов можно создавать пользователей.
Рисунок 13. Пример созданных учётных записей пользователей
Для входа в операционную систему необходимо ввести логин созданной учётной записи.
Рисунок 14. Ввод логина учётной записи
После успешного входа в систему можно убедиться, что получен билет TGT.
Рисунок 15. Получение TGT при успешном входе пользователя в систему
Для осуществления прозрачного входа на корпоративный сервис в этом примере использовался SSH-сервер. Достаточно было ввести команду «ssh имя_сервера».
Рисунок 16. Введение команды SSH
Можно убедиться, что в результате подключения к SSH-серверу успешно получен TGT. Для этого следует отключиться от сервиса и ввести команду «klist».
Рисунок 17. Введение команды «klist»
На рисунке виден полученный TGT.
Настройка MultiDirectory и использование централизованных учётных записей обеспечивают единоразовую аутентификацию и доступ к корпоративным ресурсам без повторного ввода данных. Таким образом, пользователи, которые успешно выполнили вход, могут удобно и безопасно работать сразу со всеми корпоративными ресурсами.
Работа с облачным сервисом HRBOX через MULTIFACTOR и MultiDirectory
Портал MULTIFACTOR связывается с системой каталогов MultiDirectory, что обеспечивает работу с учётными записями сотрудников через централизованный LDAP-каталог. Взаимодействие между облачным сервисом HRBOX и порталом MULTIFACTOR происходит по одному из защищённых протоколов (SAML, OAuth или OpenID Connect), что позволяет безопасно передавать аутентификационные данные.
Процесс проходит в несколько шагов:
- Запуск аутентификации на портале MULTIFACTOR. Пользователь вводит логин и пароль, подтверждает вход с помощью второго фактора.
- Проверка учётных данных в MultiDirectory. Портал MULTIFACTOR проверяет логин и пароль через взаимодействие с MultiDirectory, благодаря которому можно использовать централизованные данные для аутентификации.
- Перенаправление данных в облачный сервис HRBOX. В случае успешной аутентификации и авторизации через портал MULTIFACTOR сервис передаёт данные в HRBOX, где пользователю автоматически предоставляется доступ к нужной информации и функциям.
Таким образом, использование портала MULTIFACTOR и MultiDirectory обеспечивает бесшовное подключение к облачным сервисам, где MultiDirectory выступает центральной системой хранения и проверки учётных данных, а портал MULTIFACTOR выполняет функции обеспечения безопасности и подтверждения личности.
Выводы
MultiDirectory представляет собой гибкую службу каталогов с поддержкой протоколов LDAP и Kerberos. Возможность управления пользователями через интуитивно понятный веб-интерфейс обеспечивает удобство администрирования. Благодаря адаптации к специфике Active Directory продукт компании МУЛЬТИФАКТОР становится стоящей альтернативой в условиях повсеместного импортозамещения и необходимости исполнять закон о переходе на российское программное обеспечение.
Достоинства:
- Поддерживает мультиплатформенность, работает в ОС Linux, Windows и macOS.
- Встроенный сервер Kerberos с управлением через веб-интерфейс.
- Совместимость с Active Directory: LDAP-структура адаптирована для бесшовной интеграции.
- Настройка и управление DNS через интерфейс.
- Встроенная двухфакторная аутентификация.
- Управление паролями и сетевыми политиками.
- Функция рекурсивного поиска пользователей и групп.
- Легко масштабируется под растущие нагрузки.
- Инструкции по интеграции с популярными системами собраны в одном месте.
- Наличие официального телеграм-чата, где можно обсудить развитие продукта и следить за его обновлениями.
Недостатки:
- PostgreSQL является единственной поддерживаемой СУБД.
- Раздел «Парольные политики» потенциально содержит в себе список всех политик в системе, но на данный момент поддерживается только одна — «Default domain password policy».
- Не зарегистрирована в реестре отечественного ПО (в планах на 2025 г.).