Архитектура

Продукт «Служба каталогов "Эллес"» построен на следующих архитектурных принципах:

  • поддержка гибридного формата — возможность работы в сочетании с Microsoft Active Directory в период миграции;

  • интеграция компонентов между собой «из коробки» — для построения готового к использованию решения не требуются доработки и дополнительное программное обеспечение;

  • оптимальный технологический стек — ядро реализована на высокопроизводительном языке С, пользовательский интерфейс построен на современном стеке;

  • возможность развертывать продукт в двух и более ЦОД — высокая доступность и катастрофоустойчивость;

  • отсутствие единой точки отказа — stateful компоненты поддерживают репликацию данных на несколько узлов и имеют механизмы автоматического восстановления.

Компонентный состав

На Рис. 1 представлен компонентный состав продукта «Служба каталогов "Эллес"».

architecture
Рис. 1. Компоненты продукта «Служба каталогов "Эллес"»

Продукт состоит из следующих компонентов:

Компонент ПО с открытым исходным кодом Описание

Службы контроллера домена (Directory Service Core, DS Core)

Samba

Лицензия — «GPLv3»

Функциональность контроллера домена Active Directory (KDC, LDAP-сервер, SMB-сервер и т. д.)

Менеджер службы каталогов (Directory Service Manager, DSM)

Веб-приложение для управления объектами каталога.

Может развертываться отдельно от контроллера домена

Экспортер метрик (Directory Service Exporter, DC Exporter)

Формирует метрики для мониторинга работы контроллера домена и предоставляет конечную точку для их получения по HTTP/HTTPS

Репликатор SYSVOL

Unison, Robocopy и др.

Синхронизация файлов каталога SYSVOL между контроллерами домена

samba-tool

Samba

Лицензия — «GPLv3»

Утилита командной строки для администрирования.

Может развертываться на компьютере администратора и удаленно взаимодействовать со службами контроллера домена

BIND 9

BIND 9

Лицензия — MPL 2.0

DNS-сервер.

Зоны DNS хранятся в ядре службы каталогов

Службы контроллера домена

Службы контроллера домена реализуют набор сетевых сервисов на базе протоколов LDAP, Kerberos, DCE/RPC и других.

Сервисы работают на контроллере домена, используя общую базу данных (каталог) для выполнения следующих функций

  • управление объединенными в домен пользователями и компьютерами;

  • верификация данных, используемых хостами для идентификации в сети;

  • поиск доступных ресурсов;

  • аутентификация и авторизация при предоставлении доступа к сетевым ресурсам.

Службы контроллера домена включают следующее:

Компонент Описание

LDAP-сервер

Предоставляет доступ к каталогу по протоколу LDAP; поддерживает защищенные (TLS) и незащищенные соединения с аутентификацией

LDB/DSDB

Базовая функциональность LDAP-подобного сервера:

  • файловая БД TBD;

  • файловая БД LMDB;

  • модули LDB, реализующие возможности LDAP сверх базовой функциональности LDB (Root DSE и др.), расширенные возможности LDAP и специфическую функциональность службы каталогов

CLDAP-сервер

Модификация LDAP-сервера, поддерживающая доступ к каталогу по протоколу Connectionless LDAP (вариант LDAP без установки соединения на основе UDP)

KDC (Key Distribution Center)

Аутентификация пользователей и сервисов в сети, использующей протокол Kerberos.

Состоит из двух логических компонентов:

  • сервер билетов (Ticket Granting Service, TGS);

  • сервер аутентификации (Authentication Service, AS).

Включает стандартную реализацию Kerberos KDC (Heimdal) и расширения для работы со службой каталогов

DNS-сервер

Предоставляет службу DNS, используя хранящиеся в каталоге данные о зонах DNS (Domain DNS zones, Forest DNS zones, Custom DNS zones).

Доступны внутренняя реализация DNS-сервера (не используется) и плагин BIND9_DLZ для внешнего DNS-сервера BIND 9

KCC (Knowledge Consistency Checker)

Процесс, который создает топологию репликации для леса Active Directory.

Запускается на регулярной основе при работе контроллера домена или вручную администратором при необходимости обновить топологию репликации

drepl

Сервис репликации каталога.

Осуществляет регулярную синхронизацию разделов каталога с другими контроллерами домена, периодически запрашивая у них информацию об изменениях и рассылая нотификации о собственных изменениях.

Работает по протоколу DCE/RPC

RPC-сервер

Сервер, принимающий обращения по протоколу DCE/RPC.

Предоставляет ряд внутренних конечных точек для поддержки различных протоколов, основанных на DCE/RPC:

  • DCERPC;

  • DRSUAPI;

  • NETLOGON

NetBIOS-сервер

Сервис разрешения имен с использованием протокола NetBIOS

Winbind-сервер (winbindd)

Предоставляет ряд сервисов для диспетчера службы имен (Name Service Switch, NSS) для сопоставления пользователей каталога с локальными пользователями

SMB-сервер

Обеспечивает общий доступ к каталогам по протоколу SMB.

По умолчанию в составе контроллера домена предоставляет доступ к стандартным обязательным общим каталогам SYSVOL и NETLOGON

metrics_manager

Сервис сбора и предоставления метрик по LDAP

disco

Сервис асинхронного обнаружения контроллеров домена с ролью сервера глобального каталога (GC)

BIND 9

В состав ядра службы каталогов входит плагин BIND9_DLZ, позволяющий использовать в качестве DNS-сервера решение с открытым исходным кодом BIND 9.

BIND 9 представляет собой полнофункциональную реализацию протокола DNS, включающую поддержку DNSSEC, DNS over HTTPS (DoH) и DNS over TLS (DoT).

Сервис named в составе BIND 9 может выступать в роли:

  • полномочного сервера имен (основной DNS-сервер, дополнительный DNS-сервер), отвечающего за какую-либо зону DNS;

  • кеширующего DNS-сервера, обслуживающего запросы клиентов с помощью нерекурсивных запросов к полномочным DNS-серверам и рекурсивных запросов к вышестоящим DNS-серверам;

  • перенаправляющего DNS-сервера, передающего полученные рекурсивные запросы вышестоящему кеширующему DNS-серверу.

Решение поддерживает возможность работы в разных режимах для разных сегментов сети, разделение DNS, позволяющее возвращать различные наборы записей зон DNS в зависимости от адреса источника DNS-запроса, автоматическое подписание зон и управление ключами с помощью DNSSEC, зоны-каталоги для упрощения процесса распространения данных зоны по цепочке серверов имен, зоны с политикой ответа (RPZ) для защиты клиентов от вредоносных данных, ограничение скорости ответа (RRL) и ограничение выполнения рекурсивных запросов для предотвращения DDoS-атак и т. п. (см. таблицу соответствия версий BIND и поддерживаемых возможностей в официальной документации).

В BIND 9 входит набор административных инструментов, включая утилиты dig и delv для проверки DNS-записей, nsupdate для динамического обновления зон DNS, rndc для удаленного администрирования серверов имен и другие.

Встроенный DNS-сервер Samba поддерживает базовую функциональность, необходимую для работы службы каталогов, но имеет следующие ограничения:

  • не может выступать в роли кеширующего DNS-сервера (caching resolver);

  • не поддерживает обработку рекурсивных запросов;

  • не поддерживает аутентификацию DNS-транзакций с использованием общих ключей по протоколу TSIG;

  • не поддерживает работу с зонами-заглушками;

  • не поддерживает передачу зоны DNS;

  • не поддерживает циклическую балансировку нагрузки между контроллерами домена;

  • не поддерживает условное перенаправление DNS-запросов (conditional DNS forwarding).