Управление доверительными отношениями

Эллес предоставляет инструменты для установления и администрирования доверительных отношений между доменами и лесами в сетях c контроллерами домена Эллес и Microsoft Active Directory Domain Services (AD DS).

Общие сведения

Элементы сети (пользователи, компьютеры, устройства) могут быть организованы в иерархическую логическую структуру, состоящую из нескольких уровней:

  • домен — логическое объединение пользователей, компьютеров, групп и других объектов, использующих общую копию базы данных каталога;

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

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

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

Доверительное отношение — логическая связь между двумя доменами, в рамках которой пользователи и другие объекты в одном домене могут получать доступ к ресурсам в другом домене.

Сторонами доверительного отношения являются:

  • доверяющий домен — предоставляет доступ к своим ресурсам пользователям из другого домена, доверяя ему процесс аутентификации;

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

Направление доверительного отношения

Направление доверительного отношения определяет направление потока аутентификации между двумя доменами:

  • одностороннее доверительное отношение:

    • входящее — только один из двух связанных доверительным отношением доменов может выполнять аутентификацию пользователей из другого домена;

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

    • исходящее — только один из двух связанных доверительным отношением доменов может выполнять аутентификацию пользователей своего домена в другом домене;

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

    one way trust
    Рис. 1. Одностороннее доверительное отношение
  • двустороннее доверительное отношение — оба связанных доверительным отношением домена могут выполнять аутентификацию пользователя из другого домена.

    Например, при установлении двустороннего доверительного отношения между доменами А и Б домен А может выполнять аутентификацию пользователей из домена Б и наоборот.

    two way trust
    Рис. 2. Двустороннее доверительное отношение

Транзитивность доверительного отношения

Транзитивность доверительного отношения определяет, распространяется ли доверие между двумя доменами на другие домены, связанные с ними:

  • если между доменами А и Б установлено транзитивное доверительное отношение, а домены Б и В связаны транзитивным доверительным отношением, то в этом случае между доменами А и В существует неявное транзитивное доверительное отношение;

    transitive trust
    Рис. 3. Транзитивное доверительное отношение
  • если между доменами А и Б установлено нетранзитивное доверительное отношение, а домены Б и В связаны нетранзитивным или транзитивным доверительным отношением, то в этом случае между доменами А и В не существует ни нетранзитивного, ни транзитивного доверительного отношения.

    non transitive trust
    Рис. 4. Нетранзитивное доверительное отношение

Уровень проверки подлинности в рамках доверительного отношения

В рамках доверительного отношения могут выполняться следующие виды проверки подлинности:

  • проверка подлинности в лесу/домене: Эллес автоматически проверяет подлинность пользователей указанного леса/домена для всех ресурсов локального леса/домена;

  • выборочная проверка подлинности: Эллес не выполняет автоматическую проверку подлинности пользователей указанного леса при получении доступа к любым ресурсам в локальном лесу; пользователям предоставляется индивидуальный доступ.

Суффиксы маршрутизируемых имен

Суффиксы маршрутизируемых имен определяют, какие суффиксы DNS-имен могут использоваться для маршрутизации запросов на аутентификацию между доверенными доменами.

Поддержка другим доменом шифрования Kerberos AES

Для обеспечения совместимости с контроллерами домена на ОС Windows Server в рамках доверительного отношения может быть установлен флаг, указывающий на поддержку другим доменом алгоритмов шифрования Kerberos AES.

Независимо от того, установлен этот флаг или нет, TGT-билеты доверенного домена генерируются с шифрованием AES.

Управление делегированием TGT

Для настройки неограниченного делегирования Kerberos между доверенными лесами в рамках доверительного отношения может быть разрешено делегирование билетов TGT (Ticket-Granting Ticket).

Сброс и установка пароля

Поддерживается возможность сброса и установки пароля доверительного отношения.

Типы доверительных отношений

В Табл. 1 перечисляются типы доверительных отношений, с которыми может работать Эллес, с описанием их свойств.

В таблице описываются только те типы доверительных отношений, которые могут создаваться и редактироваться с помощью утилиты samba-tool. Доверительные отношения типов «родитель-потомок» (Parent-Child) и «дерево-корень» (Tree-Root) создаются автоматически при добавлении в лес нового домена (см. «Добавление подчиненного домена»).
Табл. 1. Поддерживаемые типы доверительных отношений и их свойства

Тип →

Кратчайшее
(Shortcut)

Внешнее
(External)

Между лесами
(Forest)

Realm

Свойство

Транзитивность

Создание: всегда транзитивное

Редактирование: нередактируемое

Создание: всегда нетранзитивное

Редактирование: нередактируемое

Создание: всегда транзитивное

Редактирование: нередактируемое

Создание:

  • транзитивное;

  • нетранзитивное

Редактирование: редактируемое

Направление

Создание:

  • двустороннее (two-way);

  • одностороннее входящее (one-way incoming);

  • одностороннее исходящее (one-way outgoing)

Редактирование: редактируемое

Создание:

  • двустороннее (two-way);

  • одностороннее входящее (one-way incoming);

  • одностороннее исходящее (one-way outgoing)

Редактирование: редактируемое

Создание:

  • двустороннее (two-way);

  • одностороннее входящее (one-way incoming);

  • одностороннее исходящее (one-way outgoing)

Редактирование: редактируемое

Создание:

  • двустороннее (two-way);

  • одностороннее входящее (one-way incoming);

  • одностороннее исходящее (one-way outgoing)

Редактирование: редактируемое

Уровень проверки подлинности

Создание: неприменимо

Редактирование: нередактируемое

Создание:

  • проверка подлинности в домене;

  • выборочная проверка подлинности

Редактирование: редактируемое

Создание:

  • проверка подлинности в лесу;

  • выборочная проверка подлинности

Редактирование: редактируемое

Создание: неприменимо

Редактирование: неприменимо

Суффиксы маршрутизируемых имен

Создание: неприменимо

Редактирование: неприменимо

Создание: неприменимо

Редактирование: неприменимо

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

Создание: неприменимо

Редактирование: неприменимо

Поддержка другим доменом шифрования Kerberos AES

Создание: неприменимо

Редактирование: неприменимо

Создание: поддерживается

Редактирование: редактируемое

Создание: поддерживается

Редактирование: редактируемое

Создание: поддерживается

Редактирование: редактируемое

Управление делегированием TGT

Поддерживается

Поддерживается

Поддерживается

Поддерживается

Сброс и установка пароля

Поддерживается

Поддерживается

Поддерживается

Поддерживается

На Рис. 5 приводится схема доверительных отношений различных типов между доменами внутри леса и между лесами доменов.

trust types
Рис. 5. Типы доверительных отношений между доменами в лесу и между лесами доменов

Процесс настройки доверительных отношений с использованием inno-samba

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

  1. Подготовка окружения:

  2. Установление доверительных отношений между доменами в соответствии с логической структурой сети:

  3. Проверка работоспособности установленных доверительных отношений (см. «Проверка корректности настройки доверительного отношения»).

  4. Назначение пользователей и групп из доверенных доменов в группы в доверяющих доменах (см. «Добавление в группу участников»).

Предварительная настройка

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

При работе с Эллес для обеспечения разрешения имен рекомендуется использовать возможности DNS-сервера BIND 9. Например, с помощью него может быть настроено условное перенаправление запросов (conditional forwarding) между зонами DNS, используемыми доменами-участниками.

При установлении доверительного отношения с доменом на ОС Windows Server в этом случае необходимо добавить сервер DNS домена Эллес в качестве сервера условной пересылки (conditional forwarder) в настройках сервера DNS домена AD DS (см., например, описание соответствующей команды PowerShell в документации Microsoft).

Для настройки перенаправления запросов DNS и корректной работы аутентификации Kerberos перед установлением доверительного отношения между доменами A и B:

  1. На контроллере с развернутым DNS-сервером BIND 9 в домене A (dc-a) добавьте, например, в конфигурационный файл /etc/bind/named.conf.local описание зоны для домена B с указанием IP-адреса обслуживающего ее DNS-сервера в формате:

    zone "b-domain.name" {
          type forward;
          forwarders {
            <b-NS-IP>;
          };
          forward only;
    };
  2. На контроллере домена с развернутым DNS-сервером BIND 9 в домене B (dc-b) добавьте, например, в конфигурационный файл /etc/bind/named.conf.local описание зоны для домена A с указанием IP-адреса обслуживающего ее DNS-сервера в формате:

    zone "a-domain.name" {
          type forward;
          forwarders {
            <a-NS-IP>;
          };
          forward only;
    };
  3. Если не используется DNSSEC, убедитесь, что в общей конфигурации DNS-серверов BIND 9 в файле /etc/bind/named.conf.options отключена проверка подписания зон DNS:

    options {
          [...]
          dnssec-validation no;
    };
  4. Для применения изменений в конфигурации зон перезапустите службу bind9 на обоих контроллерах домена:

    sudo systemctl restart bind9.service
  5. Для проверки настройки переадресации убедитесь, что на контроллерах в обоих доменах корректно разрешаются записи SRV:

    • на контроллере в домене A (dc-a) запросите SRV-запись для службы Kerberos:

      host -t SRV _kerberos._tcp.b-domain.name
      _kerberos._tcp.b-domain.name has SRV record 0 100 88 dc-b.b-domain.name.
      host -t SRV _kerberos._tcp.a-domain.name
      _kerberos._tcp.a-domain.name has SRV record 0 100 88 dc-a.a-domain.name.
    • на контроллере в домене B (dc-b) запросите SRV-запись для службы Kerberos:

      host -t SRV _kerberos._tcp.a-domain.name
      _kerberos._tcp.a-domain.name has SRV record 0 100 88 dc-a.domain.name.
      host -t SRV _kerberos._tcp.b-domain.name
      _kerberos._tcp.b-domain.name has SRV record 0 100 88 dc-b.domain.name.
  6. Добавьте область безопасности (realm) и IP-адрес или полное доменное имя KDC доверяющего/доверяемого домена в конфигурацию Kerberos (файл /etc/krb5.conf) на контроллерах домена Эллес, которые будут участвовать в установлении доверительного отношения.

    Пример содержимого файла krb5.conf на контроллере в домене A (dc-a):

    [libdefaults]
            default_realm = A-DOMAIN.NAME
            dns_lookup_realm = false
            dns_lookup_kdc = true
    
    [realms]
    A-DOMAIN.NAME = {
           default_domain = A-DOMAIN.NAME
           kdc = <a-KDC-IP>
           admin_server = <a-KDC-IP>
    }
    B-DOMAIN.NAME = {
           default_domain = B-DOMAIN.NAME
           kdc = <b-KDC-IP>
           admin_server = <b-KDC-IP>
    }
    
    [domain_realm]
            dc-a.a-domain.name = A-DOMAIN.NAME
            dc-b.b-domain.name = B-DOMAIN.NAME

    Пример содержимого файла krb5.conf на контроллере в домене B (dc-b):

    [libdefaults]
            default_realm = B-DOMAIN.NAME
            dns_lookup_realm = false
            dns_lookup_kdc = true
    
    [realms]
    A-DOMAIN.NAME = {
           default_domain = A-DOMAIN.NAME
           kdc = <a-KDC-IP>
           admin_server = <a-KDC-IP>
    }
    B-DOMAIN.NAME = {
           default_domain = B-DOMAIN.NAME
           kdc = <b-KDC-IP>
           admin_server = <b-KDC-IP>
    }
    
    [domain_realm]
            dc-a.a-domain.name = A-DOMAIN.NAME
            dc-b.b-domain.name = B-DOMAIN.NAME
  7. Для проверки корректности работы аутентификации Kerberos:

    • на контроллере в домене A (dc-a) запросите билет для пользователя в домене B:

      kinit Administrator@B-DOMAIN.NAME
    • на контроллере в домене B (dc-b) запросите билет для пользователя в домене A:

      kinit Administrator@A-DOMAIN.NAME

    Убедитесь, что билеты получены, с помощью стандартной команды klist.

После удаления доверительного отношения между доменами A и B удалите соответствующие зоны из конфигурационных файлов на контроллерах с развернутыми DNS-серверами BIND 9 и перезагрузите сервис bind9, а также приведите в исходное состояние конфигурации Kerberos.

Операции

Для работы с доверительными отношениями с помощью утилиты samba-tool используется группа подкоманд trust.

Установление доверительного отношения

Формат вызова:

samba-tool domain trust create <domain> [options]

Команда выполняется на контроллере в доверяющем домене. При вызове указывается полное имя (FQDN) или NetBIOS-имя доверенного домена.

Подкоманда создает доверительное отношение между доменом, к которому относится текущий контроллер (доверяющий домен), и указанным доверенным доменом в соответствии с переданными параметрами.

По умолчанию в процессе выполнения команды автоматически генерируется пароль для доверительного отношения.

При создании доверительного отношения только в текущем домене (при использовании дополнительного параметра --create-location=local) предусмотрен интерактивный ввод пароля администратором домена. В дальнейшем введенный пароль может использоваться для настройки доверительного отношения в доверенном домене.

По умолчанию после создания выполняется автоматическая проверка доверительного отношения. Она может быть отключена с помощью дополнительного параметра --skip-validation.

Перед установлением доверительного отношения требуется настроить условное перенаправление запросов (conditional forwarding) для зон DNS, используемых в доменах-участниках (см. «Предварительная настройка»).

Параметры

Параметры вызова:

  • --type=TYPE — тип доверительного отношения; возможные значения:

    • external (по умолчанию) — внешнее доверительное отношение, устанавливаемое напрямую между доменами в разных лесах;

    • forest — доверительное отношение между корневыми доменами разных лесов;

    • shortcut — доверительное отношение между подчиненными доменами в одном лесу;

    • realm — доверительное отношение с областью MIT Kerberos;

      Доверительное отношение типа Realm может быть установлено как с корневым доменом, так и напрямую с дочерним доменом в лесу на базе Microsoft AD DS.
  • --direction=DIRECTION — направление доверия; возможные значения:

    • incoming — входящее: пользователи текущего домена (доверенный домен) могут проходить аутентификацию в другом домене (доверяющий домен), с которым устанавливается доверительное отношение, и получать доступ к его ресурсам;

    • outgoing — исходящее: пользователи другого домена (доверенный домен), с которым устанавливается доверительно отношение, могут проходить аутентификацию в текущем домене (доверяющий домен) и получать доступ к его ресурсам;

    • both (по умолчанию) — оба направления;

  • --create-location=LOCATION — место создания объекта доверенного домена (trusted domain object, TDO); возможные значения:

    • local — объект создается только в текущем домене;

    • both (по умолчанию) — объект создается в обоих доменах;

  • --cross-organisation — признак использование выборочной проверки подлинности (по умолчанию не установлен);

  • --quarantined=yes|no — признак необходимости применения в рамках доверительного отношения специальных правил фильтрации SID (механизм SID Filtering); возможные значения:

    • yes — механизм SID Filtering включен (по умолчанию, если --type=external);

    • no — механизм SID Filtering выключен (по умолчанию, если --type=forest, --type=shortcut или --type=realm);

  • --no-tgt-delegation — признак запрета неограниченного (unconstrained) делегирования для билетов Kerberos, сформированных в ответ на запросы из другого леса в рамках доверительного отношения между лесами (используется совместно с --type=forest; по умолчанию не установлен);

    Параметр игнорируется. При установлении доверительного отношения неограниченное делегирование по умолчанию запрещено. Чтобы разрешить, используйте параметр --tgt-delegation=yes подкоманды samba-tool domain trust modify.
  • --not-transitive — признак нетранзитивного доверительного отношения между лесами (используется совместно с --type=forest или --type=realm; по умолчанию не установлен);

  • --treat-as-external — признак включения атрибута sIDHistory (по умолчанию не установлен);

  • --no-aes-keys — признак того, что в рамках доверия не используются ключи Kerberos с шифрованием AES (по умолчанию не установлен);

  • --skip-validation — отключение проверки корректности настройки доверительного отношения (по умолчанию не установлен).

Примеры

Пример создания транзитивного двустороннего доверия типа forest между доменом SAMDOM.COM (доверяющий домен) и EXAMPLE.COM (доверенный домен) на контроллере домена dc01.samdom.com:

samba-tool domain trust create EXAMPLE.COM \
   --type=forest \
   --direction=both \
   --create-location=both \
   -U Administrator@EXAMPLE.COM
LocalDomain Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
RemoteDC Netbios[DC02] DNS[dc02.example.com] ServerType[PDC,GC,LDAP,DS,KDC,TIMESERV,CLOSEST,WRITABLE,GOOD_TIMESERV,FULL_SECRET_DOMAIN_6,DS_8,DS_9,DS_10]
Password for [Administrator@EXAMPLE.COM]:
RemoteDomain Netbios[EXAMPLE] DNS[example.com] SID[S-1-5-21-3134998938-619743855-3616620706]
Creating remote TDO.
Remote TDO created.
Setting supported encryption types on remote TDO.
Creating local TDO.
Local TDO created
Setting supported encryption types on local TDO.
Setup local forest trust information...
Validating outgoing trust...
OK: LocalValidation: DC[\\dc02.example.com] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED
Validating incoming trust...
OK: RemoteValidation: DC[\\dc01.samdom.com] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED
Success

Пример создания междоменного двустороннего доверия типа external между доменом SAMDOM.COM (доверяющий домен) и EXAMPLE.COM (доверенный домен) на контроллере домена dc01.samdom.com:

samba-tool domain trust create EXAMPLE.COM \
   --type=external \
   --direction=both \
   --create-location=both \
   -U Administrator@EXAMPLE.COM

Пример создания доверительного отношения с выключением механизма SID Filtering и включением атрибута sIDHistory:

samba-tool domain trust create EXAMPLE.COM \
   --type=external \
   --direction=both \
   --create-location=both \
   --quarantined=no \
   --treat-as-external \
   -U Administrator@EXAMPLE.COM

Пример создания одностороннего исходящего доверительного отношения типа shortcut между двумя дочерними доменами (CHILDA.SAMDOM.COM и CHILDB.SAMDOM.COM в примере; подкоманда выполняется на контроллере Эллес в дочернем домене CHILDA.SAMDOM.COM):

samba-tool domain trust create CHILDB.SAMDOM.COM \
   --type=shortcut \
   --direction=outgoing \
   --create-location=both \
   -U Administrator@CHILDB.SAMDOM.COM

Пример создания одностороннего исходящего доверительного отношения типа realm между доменом Эллес (SAMDOM.COM) и областью MIT Kerberos (REALM.COM) на контроллере домена dc01.samdom.com:

samba-tool domain trust create REALM.COM \
   --type=realm \
   --direction=outgoing \
   --create-location=both \
   -U Administrator@REALM.COM

Изменение атрибутов доверительного отношения

Формат вызова:

samba-tool domain trust modify <domain> [options]

Команда выполняется на контроллере в доверяющем домене. При вызове указывается полное имя (FQDN) или NetBIOS-имя доверенного домена.

Подкоманда изменяет атрибуты доверительного отношения между текущим доменом (доверяющий домен) и указанным доверенным доменом в соответствии с переданными параметрами.

По умолчанию изменения вносятся в объекты доверенного домена в обоих доменах. Для внесения изменений только в локальном домене может использоваться дополнительный параметр --modify-location=local.

Параметры

Параметры вызова:

  • --quarantined=yes|no — признак необходимости применения в рамках доверительного отношения специальных правил фильтрации SID (механизм SID Filtering); возможные значения:

    • yes — механизм SID Filtering включен;

    • no — механизм SID Filtering выключен;

  • --treat-as-external=yes|no — признак включения атрибута sIDHistory; возможные значения:

    • yes — атрибут включен;

    • no — атрибут выключен;

  • --tgt-delegation=yes|no — признак разрешения неограниченного (unconstrained) делегирования для билетов Kerberos, сформированных в ответ на запросы из другого леса в рамках доверительного отношения между лесами; возможные значения:

    • yes — неограниченное делегирование разрешено;

    • no — неограниченное делегирование запрещено;

  • --cross-organization=yes|no — признак использование выборочной проверки подлинности; возможные значения:

    • yes — выборочная проверка подлинности включена;

    • no — выборочная проверка подлинности выключена;

  • --direction=DIRECTION — направление доверия; возможные значения:

    • incoming — входящее: пользователи текущего домена (доверенный домен) могут проходить аутентификацию в другом домене (доверяющий домен), с которым устанавливается доверительное отношение, и получать доступ к его ресурсам;

    • outgoing — исходящее: пользователи другого домена (доверенный домен), с которым устанавливается доверительно отношение, могут проходить аутентификацию в текущем домене (доверяющий домен) и получать доступ к его ресурсам;

    • both — оба направления;

  • --modify-location=LOCATION — место изменения объекта доверенного домена (trusted domain object, TDO); возможные значения:

    • local — объект изменяется только в текущем домене;

    • both (по умолчанию) — объект изменяется в обоих доменах;

  • --use-aes-keys — признак использования ключей Kerberos с шифрованием AES в рамках доверительного отношения;

  • --no-aes-keys — признак того, что в рамках доверительного отношения не используются ключи Kerberos с шифрованием AES;

  • --raw-kerb-enctypes — алгоритмы шифрования, поддерживаемые Kerberos в рамках доверительного отношения (в качестве значения ожидается значение для атрибута msDS-SupportedEncryptionTypes объекта TDO в десятичном или шестнадцатеричном формате).

Примеры

Пример включения неограниченного делегирования Kerberos в рамках доверительного отношения:

samba-tool domain trust modify EXAMPLE.COM --tgt-delegation=yes \
   -U Administrator@EXAMPLE.COM
LocalDomain Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
Changing trust attrs from 0x4 to 0x804

Пример изменения направления доверительного отношения:

samba-tool domain trust modify EXAMPLE.COM --direction=outgoing \
   -U Administrator@EXAMPLE.COM
LocalDomain Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
Modifying trust direction between samdom.com and example.com...
RemoteDC Netbios[DC02] DNS[dc02.example.com] ServerType[PDC,GC,LDAP,DS,KDC,TIMESERV,CLOSEST,WRITABLE,GOOD_TIMESERV,FULL_SECRET_DOMAIN_6,DS_8,DS_9,DS_10]
Password for [Administrator@EXAMPLE.COM]:
RemoteDomain Netbios[EXAMPLE] DNS[example.com] SID[S-1-5-21-3134998938-619743855-3616620706]
RemoteTDO Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
Trust direction updated successfully.

Пример включения механизма SID Filtering в рамках доверительного отношения:

samba-tool domain trust modify EXAMPLE.COM --quarantined=yes \
   -U Administrator@EXAMPLE.COM
LocalDomain Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
Changing trust attrs from 0x800 to 0x804

Пример выключение атрибута sIDHistory в рамках доверительного отношения:

samba-tool domain trust modify EXAMPLE.COM --treat-as-external=no \
   -U Administrator@EXAMPLE.COM
LocalDomain Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
Changing trust attrs from 0x804 to 0x844

Пример отключения использования ключей Kerberos с шифрованием AES в рамках доверительного отношения:

samba-tool domain trust modify EXAMPLE.COM --no-aes-keys \
   -U Administrator@EXAMPLE.COM
LocalDomain Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
Old kerb_EncTypes:  0x18 (AES128_CTS_HMAC_SHA1_96,AES256_CTS_HMAC_SHA1_96)
New kerb_EncTypes:  0x4 (RC4_HMAC_MD5)

Пример включения использования ключей Kerberos с шифрованием AES в рамках доверительного отношения:

samba-tool domain trust modify EXAMPLE.COM --use-aes-keys \
   -U Administrator@EXAMPLE.COM
LocalDomain Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
Old kerb_EncTypes:  0x4 (RC4_HMAC_MD5)
New kerb_EncTypes:  0x18 (AES128_CTS_HMAC_SHA1_96,AES256_CTS_HMAC_SHA1_96)

Пример явного задания типов шифрования Kerberos в рамках доверительного отношения:

samba-tool domain trust modify EXAMPLE.COM --raw-kerb-enctypes 4 \
   -U Administrator@EXAMPLE.COM
LocalDomain Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
Old kerb_EncTypes:  0x12 (DES_CBC_MD5,AES256_CTS_HMAC_SHA1_96)
New kerb_EncTypes:  0x4 (RC4_HMAC_MD5)

Сброс и установка пароля доверительного отношения

Формат вызова:

samba-tool domain trust reset <domain> [options]

При вызове подкоманды указывается полное имя (FQDN) или NetBIOS-имя доверенного домена.

Подкоманда позволяет сбросить существующий и установить новый пароль для доверительного отношения между текущим доменом (доверяющий домен) и указанным доверенным доменом в соответствии с переданными параметрами.

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

При сбросе пароля только в текущем домене (при использовании дополнительного параметра --reset-location=local) предусмотрен интерактивный ввод пароля администратором домена. В дальнейшем введенный пароль может использоваться для настройки доверительного отношения в доверенном домене.

По умолчанию после сброса пароля выполняется автоматическая проверка доверительного отношения между доменами. Она может быть отключена с помощью дополнительного параметра --skip-validation.

Параметры

Параметры вызова:

  • --reset-location=LOCATION — место удаления объекта доверенного домена; возможные значения:

    • local — сброс пароля только в локальном домене;

    • both (по умолчанию) — сброс пароля в локальном и доверенном доменах;

  • --skip-validation — отключение проверки корректности настройки доверительного отношения.

Примеры

Пример сброса пароля для доверительного отношения между доменами SAMDOM.COM и EXAMPLE.COM на контроллере домена dc01.samdom.com:

samba-tool domain trust reset EXAMPLE.COM \
   --reset-location=local \
   --skip-validation
LocalDomain Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
LocalTDO Netbios[EXAMPLE] DNS[example.com] SID[S-1-5-21-3134998938-6197438556-3616620706]
New Incoming Trust Password:
Retype Incoming Trust Password:
New Outgoing Trust Password:
Retype Outgoing Trust Password:
Reset trust passwords between samdom.com and example.com...
The trust between samdom.com and example.com was successfully reset.

Удаление доверительного отношения

Формат вызова:

samba-tool domain trust delete <domain> [options]

При вызове подкоманды указывается полное имя (FQDN) или NetBIOS-имя доверенного домена.

Подкоманда удаляет доверительное отношение между текущим доменом (доверяющий домен) и указанным доверенным доменом в соответствии с переданными параметрами.

По умолчанию объекты доверенного домена удаляются в обоих доменах. Для удаления только в локальном домене может использоваться дополнительный параметр --delete-location=local.

После удаления доверительного отношения требуется удалить настройки для условного перенаправления запросов (conditional forwarding) для зон DNS, используемых в доменах-участниках (см. «Предварительная настройка»).

Параметры

Параметры вызова:

  • --delete-location=LOCATION — место удаления объекта доверенного домена; возможные значения:

    • local — удаление только в локальном домене;

    • both (по умолчанию) — удаление в локальном и доверенном доменах.

Примеры

Пример удаления доверительного отношения между доменами SAMDOM.COM и EXAMPLE.COM на контроллере домена dc01.samdom.com:

samba-tool domain trust delete EXAMPLE.COM \
   -U Administrator@EXAMPLE.COM
LocalDomain Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
RemoteDC Netbios[DC02] DNS[dc02.example.com] ServerType[PDC,GC,LDAP,DS,KDC,TIMESERV,CLOSEST,WRITABLE,GOOD_TIMESERV,FULL_SECRET_DOMAIN_6,DS_8,DS_9,DS_10]
Password for [Administrator@EXAMPLE.COM]:
RemoteDomain Netbios[EXAMPLE] DNS[example.com] SID[S-1-5-21-3134998938-619743855-3616620706]
RemoteTDO deleted.

Получение списка доверительных отношений

Формат вызова:

samba-tool domain trust list [options]

Подкоманда выводит список доверительных отношений, установленных для текущего домена.

Для каждого доверительного отношения выводится следующая информация:

  • тип доверия — внешнее (external) или между лесами (forest);

  • признак транзитивности — транзитивное (yes) или нетранзитивное (no);

  • направление доверия — входящее (incoming), исходящее (outgoing) или оба (both);

  • имя доверенного домена (корневого домена леса).

Параметры

Отсутствуют.

Примеры

Пример получения списка доверительных отношений:

samba-tool domain trust list
Type[Forest]    Transitive[Yes]  Direction[BOTH]     Name[example.com]
Type[Child]     Transitive[Yes]  Direction[BOTH]     Name[child.samdom.com]
Type[TreeRoot]  Transitive[Yes]  Direction[BOTH]     Name[domsam.com]
Type[Realm]     Transitive[Yes]  Direction[BOTH]     Name[realm.com]

Получение информации о доверенном домене

Формат вызова:

samba-tool domain trust show <domain> [options]

При вызове подкоманды указывается полное имя (FQDN) или NetBIOS-имя доверенного домена.

Подкоманда выводит информацию о доверительном отношении с указанным доменом (атрибуты объекта доверенного домена — TDO).

Параметры

Отсутствуют.

Примеры

Пример вывода информации о доверительном отношении с доменом EXAMPLE.COM:

samba-tool domain trust show EXAMPLE.COM
LocalDomain Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
TrustedDomain:

NetbiosName:    EXAMPLE
DnsName:        example.com
SID:            S-1-5-21-3134998938-6197438556-3616620706
Type:           0x2 (UPLEVEL)
Direction:      0x3 (BOTH)
Attributes:     0x8 (FOREST_TRANSITIVE)
PosixOffset:    0x00000000 (0)
kerb_EncTypes:  0x18 (AES128_CTS_HMAC_SHA1_96,AES256_CTS_HMAC_SHA1_96)

Проверка корректности настройки доверительного отношения

Формат вызова:

samba-tool domain trust validate <domain> [options]

При вызове подкоманды указывается полное имя (FQDN) или NetBIOS-имя доверенного домена.

Подкоманда выполняет проверку корректности настройки доверительного отношения с указанным доменом.

По умолчанию проверка выполняется в обоих доменах — участниках доверительного отношения. Для выполнения проверки только в локальном домене может использоваться дополнительный параметр --validate-location=locatl.

Параметры

Параметры вызова:

  • --validate-location=LOCATION — место выполнения проверки объекта доверенного домена (TDO); возможные значения:

    • local — проверка только в локальном домене;

    • both (по умолчанию) — проверка в локальном и доверенном доменах.

Примеры

Пример проверки доверительного отношения с доменом EXAMPLE.COM:

samba-tool domain trust validate EXAMPLE.COM \
   -U Administrator@EXAMPLE.COM
LocalDomain Netbios[SAMDOM] DNS[samdom.com] SID[S-1-5-21-1139115827-1039086355-3251559409]
LocalTDO Netbios[EXAMPLE] DNS[example.com] SID[S-1-5-21-3134998938-6197438556-3616620706]
OK: LocalValidation: DC[\\dc02.example.com] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED
OK: LocalRediscover: DC[\\dc02.example.com] CONNECTION[WERR_OK]
RemoteDC Netbios[DC02] DNS[dc02.example.com] ServerType[PDC,GC,LDAP,DS,KDC,TIMESERV,CLOSEST,WRITABLE,GOOD_TIMESERV,FULL_SECRET_DOMAIN_6,DS_8,DS_9,DS_10]
Password for [Administrator@EXAMPLE.COM]:
OK: RemoteValidation: DC[\\dc01.samdom.com] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED
OK: RemoteRediscover: DC[\\dc01.samdom.com] CONNECTION[WERR_OK]

Управление информацией о доверенном домене в рамках доверительных отношений между лесами

Формат вызова:

samba-tool domain trust namespaces [DOMAIN] [options]

Подкоманда позволяет изменять атрибуты локального (доверяющего) и доверенного домена в рамках доверительного отношения типа forest в соответствии с переданными параметрами.

Параметры

Параметры вызова:

  • --refresh=check|store — вывод/сохранение обновленной информации о доверительном отношении; для использования опции при вызове подкоманды должно быть передано полное имя (FQDN) или NetBIOS-имя доверенного домена;

  • --enable-all — выполнение попытки перевода всех записей в информации о доверенном домене в статус Enabled (не может использоваться одновременно с --refresh=check); для использования опции при вызове подкоманды должно быть передано полное имя (FQDN) или NetBIOS-имя доверенного домена;

  • --enable-tln=DNSDOMAIN — перевод записи с указанным именем верхнего уровня (суффиксом DNS-имени) в статус Enabled в информации о доверительном отношении; для использования опции при вызове подкоманды должно быть передано полное имя (FQDN) или NetBIOS-имя доверенного домена;

  • --disable-tln=DNSDOMAIN — перевод записи с указанным именем верхнего уровня (суффиксом DNS-имени) в статус Disabled в информации о доверительном отношении; для использования опции при вызове подкоманды должно быть передано полное имя (FQDN) или NetBIOS-имя доверенного домена;

  • --add-tln-ex=DNSDOMAIN — добавление исключения для указанного имени верхнего уровня (TLN) в информацию о доверительном отношении; для использования опции при вызове подкоманды должно быть передано полное имя (FQDN) или NetBIOS-имя доверенного домена;

  • --delete-tln-ex=DNSDOMAIN — удаление исключения для указанного имени верхнего уровня (TLN) из информации о доверительном отношении; для использования опции при вызове подкоманды должно быть передано полное имя (FQDN) или NetBIOS-имя доверенного домена;

  • --enable-nb=NETBIOSDOMAIN — перевод записи с указанным NetBIOS-именем в статус Enabled в информации о доверительном отношении; для использования опции при вызове подкоманды должно быть передано полное имя (FQDN) или NetBIOS-имя доверенного домена;

  • --disable-nb=NETBIOSDOMAIN — перевод записи с указанным NetBIOS-именем в статус Disabled в информации о доверительном отношении; для использования опции при вызове подкоманды должно быть передано полное имя (FQDN) или NetBIOS-имя доверенного домена;

  • --enable-sid=DOMAINSID — перевод записи с указанным идентификатором безопасности SID в статус Enabled в информации о доверительном отношении; для использования опции при вызове подкоманды должно быть передано полное имя (FQDN) или NetBIOS-имя доверенного домена;

  • --disable-sid=DOMAINSID — перевод записи с указанным идентификатором безопасности SID в статус Disabled в информации о доверительном отношении; для использования опции при вызове подкоманды должно быть передано полное имя (FQDN) или NetBIOS-имя доверенного домена;

  • --add-upn-suffix=DNSDOMAIN — добавление нового UPN-суффикса в атрибут uPNSuffixes для локального леса;

  • --delete-upn-suffix=DNSDOMAIN — удаление UPN-суффикса из атрибута uPNSuffixes для локального леса;

  • --add-spn-suffix=DNSDOMAIN — добавление SPN-суффикса в атрибут msDS-SPNSuffixes для локального леса;

  • --delete-spn-suffix=DNSDOMAIN — удаление SPN-суффикса из атрибута msDS-SPNSuffixes для локального леса.

Примеры

Пример перевода всех записей в информации о доверительном отношении в статус Enabled с сохранением обновленной информации:

samba-tool domain trust namespaces EXAMPLE.COM --refresh=store --enable-all