Москва
Москва

Решения базирующиеся на FreeIPA

snimok_ekrana_ot_2025-08-28_14-02-15

Решение ALD Pro

rosa-main-logo

Решение Роса Dynamic Directory

  • Внедрение Роса Dynamic Directory
  • Продукт базируется на freeipa

Сервер FreeIPA, на данном решении базируются программные продукты Astra ALD Pro, Роса Dynamic Directory

         FreeIPA это акроним от англ. Free Identity, Policy and Audit — открытое программное обеспечение, специализированная служба каталогов, предназначенная для создания в ОС Linux среды, позволяющей централизованно управлять аутентификацией пользователей, устанавливать политики доступа и аудита.
FreeIPA представляет собой специализированный контроллер домена, используемые им механизмы похожи на таковые в Active Directory, разработанной Microsoft. В то же время, он не является сервером каталогов общего назначения (Red Hat Directory Server, Fedora Directory Server и подобных).
 
В состав компонентов FreeIPA входят:
    • сервер LDAP: 389 Directory Server
    • служба аутентификации и единого входа: MIT Kerberos
    • служба управления сертификатами: DogTag
    • служба синхронизации времени: NTP
    • служба для управления DNS: BIND
    • средство интеграции с Active Directory: Samba (начиная с FreeIPA 3.0.0)
    • веб-интерфейс управления и набор консольных команд и утилит
 
Во FreeIPA предусмотрены следующие функциональные элементы:
    • Серверы (один или несколько);
    • Клиентские компьютеры;
    • Компьютер администратора (клиентский компьютер с консольными программами для дистанционного управления FreeIPA) — он не является необходимым компонентом, поскольку во FreeIPA реализовано управление с помощью веб-интерфейса, запускаемого на сервере.
FreeIPA сделан модульным как в серверной, так и в клиентской его части.
К основным особенностям и возможностям FreeIPA можно отнести:
    • Управление политиками во FreeIPA реализовано правилами HBAC (англ. host based access control — управление доступом на уровне узла), которые описывают, какие службы доступны пользователям на конкретном зарегистрированном во FreeIPA хосте (компьютере).
    • FreeIPA позволяет гибко делегировать пользователям отдельные роли, не раскрывая им пароль администратора. К примеру, роль Enroll hosts даёт возможность пользователю регистрировать хосты в каталоге FreeIPA.
    • Во FreeIPA есть возможность построения многоуровневой системы управления доступом, в которой, например, руководителю подразделения можно дать полномочия добавлять в группу этого подразделения новых пользователей.
    • С целью снижения нагрузки на сервер у клиентов для хранения настроек используется локальный кэш (LDB и XML).
    • FreeIPA сделан модульным как в серверной, так и в клиентской его части.
 
Управление сервером FreeIPA
Для управления сервером FreeIPA используются:
    • https://<имя _контроллера>/ – веб-интерфейс управления FreeIPA
    • ipa – интерфейс командной строки, позволяющий управлять настройками сервера FreeIPA и объектами в каталоге
    • ipactl – утилита управления службами FreeIPA
    • ipa-backup/ipa-restore – утилиты резервного копирования и восстановления контроллера домена FreeIPA
    • ipa-getkeytab – управление keytab-файлами, в которых содержатся ключи для аутентификации служб через протокол Kerberos.
    • Идентификация – управление объектами каталога (пользователи, узлы, службы, группы)
    • Политика – политики паролей и Parsec, билетов Kerberos, управление доступом к узлам на основе HBAC правил и управление разрешениями на узлах, на основе правил Sudo
    • Аутентификация – управление аутентификаций через RADIUS серверы, одноразовых ключей и сертификатов
    • Сетевые службы – управление службой DNS и авто монтированием каталогов
    • IPA-Сервер – управление доступом на основе ролей, определение доменов области (realm) и диапазонов идентификаторов, управление доверительными отношении, топологией репликации и конфигурация основных параметров работы сервера FreeIPA
 

Архитектура службы каталогов ALD Pro

    Служба каталогов ALD Pro состоит из:

• Сервера FreeIPA [FreeIPA]
• Сервера MIT Kerberos [krb5-kdc]
• Сервера Samba [samba]
• Сервера LDAP [389 Directory Server] Она взаимодействует с Порталом управления
• Службой управления конфигурациями [SaltStack]
• Службой разрешения имен [bind9 и bind-dymdb-ldap]
• Агентом домена

Служба каталога ALD Pro (как и FreeIPA) построена на базе 389 Directory Server. 389 Directory Server (ранее Fedora Directory Server, а до того Netscape Directory Server) – это служба каталогов уровня предприятия с открытым исходным кодом, предназначенная для централизованного управления доступом к ресурсам на множестве сетевых серверов, которая позволяет работать с большим количеством запросов (тысячи операций в секунду), большим количеством объектов в каталоге (сотни тысяч объектов), имеет широкие возможности по настройки и оптимизации работы, масштабированию, безопасную аутентификацию и транспорт (SSL/TLS и SASL), мощный механизм разграничения доступа вплоть до уровня отдельных атрибутов и поддержку протокол LDAP v3.

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

НомерИнициаторАдресатПротоколПередаваемая информация
1.1.1.1Портал управленияУправление конфигурациямиAMQP/CLIПередача команд на запуск заданий автоматизации через шину управления SaltStack.
1.1.2.1Портал управленияСлужба каталогов - FreeIPA серверHTTPSВзаимодействие с объектами домена (FreeIPA REST API). Передача данных и команд по управлению объектами домена.
1.1.2.2Портал управленияСлужба каталогов - LDAP серверLDAPОбращение к LDAP на чтение/изменение записей на LDAP сервере:
списки объектов (пользователей, компьютеров, подразделений, групп и др.).
5.1.1Управление конфигурациямиСлужба каталогов - LDAP серверLDAP1) Чтение записей из pillars, конфигураций, созданных для целевого SaltStack агента;
2) Запись информации о вновь развернутой подсистеме;
3) Чтение keytab-файлов для Kerberos аутентификации;
4) Чтение файлов конфигурации.
13.1.1Агент домена - Клиент FreeIPAСлужба каталогов - LDAP серверLDAPS

Осуществление управления LDAP-записями:

  • ведение реестра пользователей;
  • ведение реестра рабочих станций;
  • ведение групп.
13.1.2Агент домена - Клиент FreeIPAСлужба каталогов - MIT Kerberos серверKerberosОбработка запроса на аутентификацию пользователя в MIT Kerberos сервер, получение билета Kerberos пользователя.
13.2.1Агент домена - Клиент разрешения доменных именРазрешение имен - DNS серверDNSЧтение DNS-записей через сетевой протокол TCP клиентом разрешения доменных имен на основе resolve-конфигурации, обращение к DNS серверу, который зарегистрирован в сети и производит чтение DNS-записей для определения IP-адресов для перенаправления DNS запросов.
2.1.1Служба каталогов - FreeIPA серверСлужба каталогов - MIT Kerberos серверKerberosMIT Kerberos сервер через keytab принимает запрос аутентификации пользователей на FreeIPA сервере.
2.1.2Служба каталогов - FreeIPA серверСлужба каталогов - LDAP серверLDAPS

Управление LDAP-записями:

  • ведение реестра пользователей;
  • ведение реестра рабочих станций;
  • ведение групп;
  • ведение структуры подразделений.
2.2.1Служба каталогов - MIT Kerberos серверСлужба каталогов - Samba серверLDAPSMIT Kerberos сервер получает билет Kerberos пользователя и обращается к плагину ipasam сервера Samba.
2.2.2Служба каталогов - MIT Kerberos серверСлужба каталогов - LDAP серверLDAPSMIT Kerberos генерирует и хранит служебные данные (имена учетных записей, синхронные ключи шифрования, срок действия и др.) в атрибутах записей LDAP, с которыми связана служба Kerberos.
2.3.1Служба каталогов - Samba серверСлужба каталогов - LDAP серверLDAPS

Samba получает билет Kerberos (5.2.1), обрабатывает полученный билет и сохраняет в LDAP.

Запрос атрибутов записей LDAP (пользователи, компьютеры, группы и др.) для сопоставления с данными домена Windows.

3.1.1Разрешение имен - DNS серверСлужба каталогов - LDAP серверLDAPSDNS сервер через плагин bind9 синхронизирует свои DNS записи с записями в LDAP. DNS сервер транслирует полученные DNS записи. LDAP сервер выступает в роли базы данных DNS записей.

 

Служба каталога ALD Pro (как и FreeIPA) построена на базе 389 Directory Server. 389 Directory Server (ранее Fedora Directory Server, а до того Netscape Directory Server) – это служба каталогов уровня предприятия с открытым исходным кодом, предназначенная для централизованного управления доступом к ресурсам на множестве сетевых серверов, которая позволяет работать с большим количеством запросов (тысячи операций в секунду), большим количеством объектов в каталоге (сотни тысяч объектов), имеет широкие возможности по настройки и оптимизации работы, масштабированию, безопасную аутентификацию и транспорт (SSL/TLS и SASL), мощный механизм разграничения доступа вплоть до уровня отдельных атрибутов и поддержку протокол LDAP v3.

К основным компонентам 389 Directory Server можно отнести:

Backend

В 389 Directory Server данные хранятся в Backend. Это механизм хранения, который определяет, как данные будут храниться на диске. 389 Directory Server поддерживает различные типы Backend, такие как:

  • Berkeley DB: Простой и быстрый механизм хранения данных.
  • LMDB (Lightning Memory-Mapped Database): Быстрый и эффективный механизм хранения, который более эффективно использует маппинг страниц памяти что позволяет добиться увеличения производительности в 5-10 раз.

Database

Фактическая база данных, которая хранит данные в формате, понятном серверу. Она содержит записи (entries), которые организованы в дерево LDAP.

 

Логическая структура ALD Pro

Функциональная схема

funkcionalnaya_shema_ald_pro_v3-sajtdrawio

Функциональная схема ALD Pro, на ней отражены сервисы входящие в состав решения.