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

В MULTIDIRECTORY реализовано два механизма такой интеграции:
двусторонние доверительные отношения типа Realm
однонаправленное проксирование LDAP-запросов (LDAP-Forward)
Эти механизмы решают разные задачи и используются в разных архитектурных сценариях. Разберёмся, как они устроены и как применяются на практике.
Доверительные отношения в службах каталогов
Доверительные отношения (domain trust relationship) — это механизм, позволяющий одному домену принимать результаты аутентификации, выполненной в другом домене.
С технической точки зрения доверие между доменами включает два компонента:
Механизм аутентификации, подтверждающий личность пользователя
Механизм авторизации, позволяющий получать информацию о пользователях, группах и атрибутах
В большинстве инфраструктур для этого используются два протокола.
Аутентификация выполняется через Kerberos. Пользователь проходит проверку в своём домене и получает Kerberos-билет (TGT), который затем может использоваться для доступа к сервисам.
Доступ к данным каталога осуществляется через LDAP. Этот протокол используется для поиска объектов каталога и получения атрибутов пользователей, включая членство в группах.
Комбинация Kerberos и LDAP позволяет реализовать сквозную аутентификацию и авторизацию между доменами.
Двусторонние доверительные отношения Realm
В Kerberos термин Realm обозначает административную область аутентификации. Обычно Realm соответствует домену каталога и включает:
Kerberos KDC
Базу принципалов
Политики аутентификации
При настройке Realm-trust между двумя доменами создаётся доверительное отношение между их Kerberos-реалмами. В результате каждый KDC начинает признавать билеты, выданные другим реалмом.
Это позволяет реализовать классическую схему cross-realm authentication:
Пользователь аутентифицируется в своём реалме
Получает TGT
При обращении к сервису в другом реалме запрашивает cross-realm ticket
Удалённый сервис принимает билет и выполняет аутентификацию
Реализация Realm-trust в MULTIDIRECTORY
В MULTIDIRECTORY поддерживаются двунаправленные доверительные отношения между доменами, основанные на Kerberos Realm-trust.
Для установления доверия создаётся кросс-доменный Kerberos-принципал, который используется для междоменной аутентификации. Эта учётная запись признаётся обоими реалмами и позволяет безопасно обмениваться Kerberos-билетами.
После настройки пользователи одного домена могут аутентифицироваться в своём каталоге и получать доступ к ресурсам другого домена без повторного ввода учётных данных.
С точки зрения инфраструктуры это означает:
Единый механизм аутентификации
Отсутствие необходимости дублирования пользователей
Централизованное управление доступом
Kerberos при этом обеспечивает криптографически защищённую передачу билетов и исключает передачу паролей между доменами.
LDAP-Forward: проксирование запросов каталога
Не во всех случаях требуется полноценная Kerberos-интеграция между каталогами. Иногда задача сводится к тому, чтобы один каталог мог получать информацию о пользователях из другого.
Для таких сценариев в MULTIDIRECTORY реализован механизм LDAP-Forward.
LDAP-Forward работает как прокси для LDAP-запросов. Когда сервер каталога получает запрос, он может определить, что нужный объект отсутствует в локальной базе, и перенаправить запрос на удалённый LDAP-сервер.
С точки зрения клиента это выглядит как обращение к одному каталогу, хотя фактически данные могут извлекаться из нескольких источников.
Подобный механизм часто используется при:
Интеграции нескольких каталогов
Поэтапной миграции инфраструктуры
Построении федеративных каталогов
Аутентификация при LDAP-Forward
При подклю��ении удалённого каталога MULTIDIRECTORY может использовать два режима аутентификации.
В режиме Simple Bind используется сервисная учётная запись LDAP с правами на чтение каталога. В конфигурации указываются логин, пароль, протокол (LDAP или LDAPS) и порт сервера.
Более безопасный вариант — использование GSSAPI. В этом случае аутентификация выполняется через Kerberos, а сервер использует сервисный принципал и keytab-файл для получения билетов.
Этот режим предпочтителен в инфраструктурах, где уже используется Kerberos-аутентификация и требуется защищённое взаимодействие между каталогами.
LDAP-референсы и распределённый поиск
При работе с несколькими каталогами используется механизм LDAP-референс.
Референс — это указание на другой LDAP-сервер или на другую часть дерева каталога, где может находиться запрашиваемый объект. Когда сервер каталога получает запрос, он может вернуть клиенту referral или самостоятельно перенаправить запрос на указанный сервер.
В MULTIDIRECTORY референсы позволяют выстраивать распределённую структуру каталогов, где поиск может выполняться сразу в нескольких доменах.
DNS и сетевое взаимодействие доменов
Для корректной работы междоменного доверия критически важна конфигурация DNS.
Kerberos-аутентификация использует DNS для поиска KDC и сервисных записей. LDAP-клиенты также используют DNS для определения контроллеров каталога.
Поэтому при интеграции доменов важно обеспечить корректное разрешение имён между ними.
В MULTIDIRECTORY для этого используется механизм DNS Forwarding, который позволяет пересылать DNS-запросы между доменами и упрощает обнаружение сервисов в удалённых каталогах.
Сценарии применения
Realm-trust и LDAP-Forward закрывают разные задачи интеграции.
Realm-trust обычно используется в инфраструктурах, где требуется полноценная сквозная аутентификация между доменами. Например, при интеграции с каталогами вроде Microsoft Active Directory или FreeIPA.
LDAP-Forward чаще применяется в более лёгких сценариях: когда нужно получить данные пользователей из внешнего каталога или временно связать системы во время миграции.
В обоих случаях MULTIDIRECTORY может выступать в роли центрального элемента инфраструктуры идентификации.
Настройка доверия доменов
Настройка доверительных отношений выполняется через административный интерфейс MULTIDIRECTORY в разделе «Домены и доверие».
При создании доверительных отношений указывается доменное имя удалённой системы, а также параметры соединения. После создания записи хост изменить уже нельзя — допускается только изменение протокола и порта соединения.
Для Realm-trust дополнительно задаётся общий пароль для кросс-доменного Kerberos-принципала.
При настройке LDAP-Forward указываются параметры подключения к удалённому LDAP-серверу: протокол, порт, домен и учётные данные сервисной записи или Kerberos-учётки.
После настройки система может автоматически перенаправлять LDAP-запросы к доверенному домену.
Доверительные отношения В MULTIDIRECTORY
Интеграция каталогов — типичная задача для корпоративных инфраструктур. Она возникает при объединении доменов, построении гибридных сред и миграции между платформами управления идентификацией.
В MULTIDIRECTORY для этого реализованы два механизма.
Realm-trust обеспечивает полноценную Kerberos-аутентификацию между доменами и позволяет пользователям получать доступ к ресурсам разных систем без повторного входа.
LDAP-Forward решает более узкую задачу — проксирование LDAP-запросов и доступ к данным внешних каталогов.
Комбинация этих механизмов позволяет строить гибкие архитектуры каталогов и постепенно интегрировать разные системы управления идентификацией в единую инфраструктуру.
Планы развития доверительных отношений в MULTIDIRECTORY
В ближайшем обновлении в MULTIDIRECTORY появится расширенная поддержка доверительных отношений между доменами по модели, аналогичной той, которая используется в Microsoft Active Directory.
Речь идёт о реализации доверия типа Лес (Forest Trust) с поддержкой трёх типов отношений:
Двунаправленное доверие (two-way trust)
Оба домена доверяют друг другу. Пользователи каждого домена могут проходить аутентификацию в своём каталоге и получать доступ к ресурсам другого домена. Такой тип доверия обычно используется при объединении инфраструктур или построении единого пространства аутентификации.
Однонаправленное исходящее доверие (outgoing trust)
В этом сценарии локальный домен доверяет целевому домену. Пользователи целевого домена могут получать доступ к ресурсам локального домена, но обратное взаимодействие не разрешено.
Однонаправленное входящее доверие (incoming trust)
Обратная ситуация: целевой домен доверяет локальному домену. Пользователи локального домена могут получать доступ к ресурсам удалённого домена.
С точки зрения архитектуры модель доверия будет максимально совместима с логикой, используемой в Active Directory. Это упрощает интеграцию MULTIDIRECTORY в существующие инфраструктуры и делает процесс настройки привычным для администраторов, которые уже работали с междоменными trust-отношениями.
При этом сама процедура настройки будет упрощена. В интерфейсе MULTIDIRECTORY этапы создания доверия сокращены и сгруппированы: основные параметры соединения, тип доверия и параметры аутентификации настраиваются в рамках одного сценария конфигурации. Такой подход позволяет быстрее развернуть доверие между доменами и уменьшает вероятность ошибок при настройке.
Подробно о внутренней реализации этого механизма, включая особенности Kerberos-интеграции, обмен билетов между реалмами и архитектуру trust-отношений, мы расскажем в одной из будущих статей.
