Avanpost DS : Описание ПО

Описание ПО

1.              ОБЩИЕ СВЕДЕНИЯ

Полное наименование изделия: Программное обеспечение «Avanpost DS».

Сокращённое наименование изделия: Avanpost DS.

При разработке Программы использовались языки: Golang, Javascript.


2.              Назначение программы

Avanpost DS является защищенным программным средством обработки информации, не содержащей сведения, составляющие государственную тайну, реализующим функционал централизованной службы каталогов для корпоративных инфраструктур, построенных на базе ОС семейства Unix.

Avanpost DS предназначено для решения следующих задач:

  • Централизованное хранение информации о пользователях и ресурсах предприятия;
  • Репликация информации о пользователях и ресурсах предприятия между серверами системы;
  • Предоставление доступа на чтение, изменение, создание и удаление к информации о пользователях и ресурсах предприятия по протоколу LDAP и через веб-интерфейс;
  • Предоставление сервиса аутентификации для рабочих станций и серверов предприятия по протоколам LDAP и Kerberos.
  • Поддержка авторизации доступа к ресурсам предприятия на основании членства пользователей в группах.
  • Ведение журнала аутентификации пользователей.

3.              Описание логической структуры

3.1.    Алгоритм программы и используемые методы

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

Таблица 3.1 – Описание программных модулей Программы

Подсистема

Модуль

Назначение

Подсистема администрирования

Admin UI

Модуль графического пользовательского интерфейса ОО, доступный в браузере.

REST API

Модуль REST API

Подсистема управления АРМ

Domain Client

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

Подсистема доступа к каталогу

Kerberos v5

Модуль, обеспечивающий взаимодействие c каталогом по протоколу Kerberos v5

LDAP

Модуль, обеспечивающий взаимодействие c каталогом по протоколу LDAP

Session Manager

Модуль обеспечивает формирование запросов от подсистемы доступа к каталогу к подсистеме хранения

Подсистема хранения

BadgerDB

Модуль обеспечивает хранение информации в системе

Подсистема репликации

Replication

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


Описание архитектуры и алгоритма работы Программы на уровне модулей представлено на рисунке 3.1.


Рисунок 3.1 – Архитектура и алгоритм работы Программы на уровне модулей

Модуль Admin UI является модулем, реализующим веб-интерфейс системы, который взаимодействует как с Session Manager при помощи REST API для возможности администрирования системы от лица Администратора.

Модуль Domain Client является модулем, обеспечивающим взаимодействие пользователей с системой, путем пользовательского АРМ, после чего передает запросы в подсистему доступа к каталогу.

Модули Kerberos v5 и LDAP обеспечивают доступ к каталогу по соответствующим протоколам и передают информацию в Session Manager.

Session Manager обрабатывает запросы и передает их в подсистему хранения через модуль BangerDB.

Модуль Replication обеспечивает репликацию данных между экземплярами системы.

4.              Используемые технические средства

К аппаратному и программному обеспечению, которые используются для установки Изделия, предъявляются требования, изложенные в таблице 4.

Таблица 4 — Минимальные требования к серверам, на которые устанавливается Изделие

Элемент

Параметр

Операционная система

Linux, MacOS. В частности, Изделие может использоваться со следующими ОС:

-     Альт (Рабочая станция, Сервер);

-     Альт 8 СП;

-     Astra Linux Common Edition;

-     Astra Linux Special Edition;

-     ROSA Enterprise Linux Server;

-     Ред ОС Сервер;

-     CentOS 8.

Архитектура

x86

Процессор, ядра

2

Процессор, частота

Нет требований

Оперативная память

4 Гб

Жесткий диск (рекомендуется SSD)

20 Гб


5.              описание функциональных возможностей

Служба каталогов Avanpost Directory Service решает задачи централизованной аутентификации и авторизации, управления пользователями и компьютерами в иерархической структуре, при этом обеспечивая высокую доступность и катастрофоустойчивость данных каталога и сервисов аутентификации в геораспределенных инфраструктурах.

В основе Avanpost Directory Service лежат высокопроизводительный LDAP каталог, как централизованное хранилище информации о пользователях и ресурсах и центр распространения ключей Kerberos, обеспечивающий сквозную аутентификацию в домене, а надежная система мультимастер репликации, гарантирует целостность данных каталога. Управление службой каталогов осуществляется через современный веб интерфейс, позволяющий администраторам выполнять каждодневные задачи в привычном окружении без использования командной строки. Доменный клиент Avanpost Directory Service, поддерживающий все Российские дистрибутивы Linux, автоматизирует присоединение к домену серверов и рабочих станций и берет на себя управление аутентификацией и авторизацией.

В плане безопасности Avanpost Directory Service предоставляет функционал журналирования для событий аутентификации, доступа и изменений в каталоге и, посредством гранулярной системы контроля доступа позволяет осуществлять делегирование полномочий в доменной иерархии с соблюдением принципа минимальных привилегий.

Для таких задач как управление конфигурацией рабочих станций, разрешение имен, синхронизация времени, в Avanpost Directory Service предусмотрена интеграция с внешними системами, для которых Avanpost DS выступает в роли LDAP бэкенда. Так, например для DNS сервера Avanpost DS может хранить в каталоге данные зоны и поддерживать безопасные динамические обновления, а для системы управления конфигурацией выступать в роли «селектора групповых политик», сопоставляя хранимые конфигурации с нужными компьютерами.

За счет реализации механизма двухсторонних доверительных отношений, Avanpost DS позволяет плавно провести миграцию с Microsoft AD, без прерывания обслуживания в переходный период. В период сосуществования будет осуществляться доступ к ресурсам в домене Avanpost DS с рабочих станций Windows, а также доступ к не прошедшим миграцию ресурсам c рабочих станций под управлением любых отечественных дистрибутивов Linux.

5.1          Аутентификация и авторизация

Avanpost DS предоставляет для клиентов домена аутентификацию по протоколам LDAP(S) и Kerberos v5. Оба протокола реализованы в продукте в соответствии с RFC без использования свободно распространяемых компонентов.

Аутентификация по протоколу LDAP(S) осуществляется с использованием пары DN – пароль. В конфигурационном файле каждого контроллера домена можно задать порт для подключений по протоколу LDAP и LDAPS, а также сертификат для использования в протоколе LDAPS. Если требуется отключить один из этих протоколов, в конфигурационном файле необходимо оставить значение порта для него пустым.

Аутентификация по протоколу Kerberos v5 осуществляется с использованием следующих методов:

- Пары логин – пароль.

- Сертификата пользователя.

- Keytab файла.

Порт для протокола Kerberos, а также корневой сертификат для аутентификации с использованием инструкции PKINIT задается в конфигурационном файле контроллера домена.

Авторизация доступа к ресурсам осуществляется посредством атрибутов uidnumber и gidnumber для UNIX систем и c помощью атрибутов ObjectSID и SIDHistory для Windows систем.

5.2          Репликация данных

Для обеспечения отказоустойчивости в Avanpost DS реализуется механизм репликации данных между экземплярами каталога. Для передачи данных репликации контроллеры домена используют протокол сетевой протокол gRPC. При этом для управления связями репликации реализована схема сайтов с двумя различными топологиями репликации.

Avanpost DS гарантирует доставку данных репликации посредством механизма USN (update sequence number), где каждому изменению на контроллере домена присваивается порядковый номер, а партнеры по репликации хранят информации о номере последнего полученного изменения, что позволяет в случае перерывов в сетевой связанности партнерам по репликации получать  все изменения произошедшие с последней успешной репликации.

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

Общая схема репликации данных в Avanpost DS приведена на следующем рисунке:


5.2.1  Топология внутрисайтовой репликации:

В пределах сайта топология репликации (связи репликации) между контроллерами домена строится автоматически. В пределах сайта репликация осуществляется между всеми контроллерами домена в топологии двунаправленного кольца. Если количество контроллеров домена в сайте превышает 7 экземпляров, система устанавливает дополнительные связи репликации для того, чтобы каждое изменение независимо от источника репликации осуществлялось не более чем за 3 прыжка.  Репликация внутри сайта осуществляется по модели Notify-Pull – контроллер домена, на котором произошли изменения оповещает об изменениях своих партнеров по репликации, а те в свою очередь запрашивают у него доставку изменений.

5.2.2  Топология межсайтовой репликации:

Между сайтами репликация настраивается вручную, посредством создания объетов связи сайтов (сайт линков), в которых указываются сайты, связанные сайт линком и стоимость использования этого сайт линка. Маршрут репликации определяется стоимостью сайт линков. При определении маршрута репликации, выбирается маршрут с наименьшей суммарной стоимостью. При установлении сайт линка между сайтами в каждом сайте один контроллер домена назначается пограничным, репликация между сайтами осуществляется через эту пару контроллеров домена. При выходе из строя одного из контроллеров, роль пограничного контроллера должна быть передана на другой контроллер домена в сайте, имеющий доступ к сетевому местоположению другого сайта.Сайт линки являются транзитивными, то есть изменения, полученные контроллером домена по репликации через сайт линк, передаются следующий сайт по топологии. Топология репликации является отказоустойчивой. При недоступности сайт линков по самому дешевому маршруту используется следующий по стоимости.

5.2.3  Расписание репликации:

Репликация между контроллерами домена в пределах одного сайта осуществляется постоянно и запускается при создании/изменении/удалении объектов на одном из контроллеров домена сайта. Репликация между сайтами осуществляется по расписанию, заданному в сайт линке, при этом контролируется как частота, так и временной интервал, в который проходит репликация (например раз в 30 минут с 22:00 до 05:00). При наступлении времени репликации по расписанию, реплицируются все накопленные изменения за прошедший период.

5.3          Отказоустойчивость и распределение нагрузки

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

За счет постоянной репликации данных между контроллерами домена, каждый экземпляр системы может обслужить любой запрос на аутентификацию или на доступ к каталогу.

Для отказоустойчивости на стороне доменного клиента используется механизм обнаружения сетевых сервисов с помощью DNS записей типа SRV. Доменный клиент Avanpost DS выполняет обнаружение контроллера домена, назначенного его сайту с помощью DNS запросов, после чего использует приоритетно контроллеры домена своего сайта и только при их недоступности может подключаться к контроллерам домена других сайтов.

5.4          Интеграция с DNS

Avanpost DS интегрируется с сервером доменных имен PowerDNS в части хранения данных DNS зон и безопасных динамических обновлений.

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

Динамические обновления DNS записей осуществляются двумя компонентами:

- Сервисом Avanpost DS регулярно обновляются SRV и A записи контроллеров домена с привязкой к сайтам.

- Доменный клиент Avanpost DS обновляет DNS запись хоста, на котором установлен при каждой смене IP адреса.

5.5          Интеграция с системой управления конфигурацией

Для управления локальными настройками на подключенных к Avanpost DS АРМ используется интеграция с сервером управления конфигурацией Puppet. При этом Avanpost DS реализует функционал селектора групповых политик – в каталоге хранятся конфигурации для Puppet сервера с привязкой к контейнерам, а агент на стороне сервера Puppet регулярно на основании этой связи обновляет у себя конфигурационные файлы, которые в свою очередь применяются на АРМ клиентом Puppet.

5.6          Автоматизация настройки АРМ

Для автоматизации настройки АРМ реализована отдельная утилита – доменный клиент. Доменный клиент выполняет следующие функции:

- Введение компьютера в домен. Для введения компьютера в домен выполняется настройка пакетов sssd и krb5, создается УЗ компьютера в доменном разделе, загружается keytab файл и регистрируется DNS запись в доменной зоне.

- Обновление ключей Kerberos по расписанию – выполняется посредством утилиты cron

- Обновление DNS записи при смене IP адреса АРМ.


Обсуждение