Product SiteDocumentation Site

Глава 5. Доверительные отношения (Трасты)

5.1. Настройка доверия
5.1.1. Общие сведения
5.1.2. Особенности доверительных отношений в Samba
5.2. Настройка DNS
5.2.1. Два домена Samba
5.2.2. Samba DC и Windows Server с AD
5.3. Создание доверительного отношения
5.3.1. Два домена Samba
5.3.2. Samba AD и Windows Server с AD
5.4. Управление пользователями и группами
5.4.1. Список пользователей и групп
5.4.2. Тестирование аутентификации
5.4.3. Просмотр доверия в Windows
5.5. Использование трастов на LINUX-клиентах
5.5.1. Настройка Winbind
5.5.2. Настройка SSSD
5.6. Удаление доверия
5.6.1. На стороне Samba
5.6.2. На стороне Windows Server с AD
Доверительные отношения (trusts) позволяют аутентифицироваться под пользователями не только текущего домена, но и доверенных.

5.1. Настройка доверия

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

Доверительные отношения реализуются в рамках механизма аутентификации. Суть доверительных отношений между двумя доменами сводится к тому, что доверяющий домен (trusting domain) доверяет процесс аутентификации доверенному домену (trusted domain). Пользователь, аутентифицированный доверенным доменом, может получить доступ к ресурсам в доверяющем домене.
Доверительные отношения
Отношения доверия обеспечивают доступ к ресурсам в одном или двух направлениях:
  • одностороннее доверие — позволяет пользователям и группам из домена A получать доступ к ресурсам в домене Б, но не наоборот. Домен A доверяет домену Б, но домен Б не доверяет домену A. При создании такого доверия нужно указать направление (входящее или исходящее);
  • двустороннее доверие — позволяет пользователям и группам из домена A получать доступ к ресурсам в домене Б и наоборот. Запросы проверки подлинности могут передаваться между двумя доменами в обоих направлениях. Домен А доверяет домену Б, а домен Б доверяет домену А.
Транзитивность определяет, можно ли расширить доверие за пределы двух доменов, для которых оно сформировано:
  • транзитивное доверие можно использовать для расширения отношений доверия на другие домены;
  • нетранзитивное доверие можно использовать для запрета отношений доверия с другими доменами.
Типы доверия:
  • доверие леса (Forest trust) — связывает леса и все их домены (это двухсторонние или односторонние отношения доверия между разными лесами, всегда являющиеся транзитивными);
  • внешнее доверие (External trust) — устанавливается между двумя доменами напрямую вне леса (для установки двухстороннего доверия нужно использовать два разнонаправленных доверия, которыми надо связать все требуемые пары доменов).

5.1.2. Особенности доверительных отношений в Samba

Поддерживается:
  • доверие леса (это доверие может быть установлено между двумя Samba-доменами или Samba-доменом и Windows-доменом);
  • внешние доверительные отношения (это доверие может быть установлено между двумя Samba-доменами или Samba-доменом и Windows-доменом);
  • добавление пользователей и групп доверенного домена в группы доверяющего домена (при этом необходимо использовать SID пользователей и групп, чтобы добавить их в свою группу, имя пользователя или имя группы использовать невозможно).
Особенности и ограничения:
  • не применяются правила фильтрации SID;
  • доверительные отношения должны быть двусторонними;
  • не поддерживается выборочная аутентификация (создание таких доверий возможно, но KDC и winbindd всё равно будут их игнорировать);
  • нельзя создать доверительные отношения между доменами в одном дереве с одним и тем же пространством имён верхнего уровня. NetBIOS имена доменов должны отличаться (домен MYDOMAIN.WIN и MYDOMAIN.NEW будут иметь одинаковое короткое имя — MYDOMAIN, это приведет к невозможности установки доверительных отношений);
  • в RSAT можно увидеть контейнер foreignSecurityPrincipal для всех добавленных пользователей и групп из доверенного домена. Таким образом Microsoft показывает, что пользователь или группа являются частью доверенного домена;
  • Winbind на клиентских машинах не распознаёт доверенные домены, что приводит к проблемам с обновлением паролей учетных записей доверенного домена после их истечения. Чтобы устранить эту проблему, необходимо в секцию [global] в файла smb.conf на Linux-клиентах, подключенных через Winbind, добавить опцию:
    winbind scan trusted domains = yes
    
    и перезапустить сервис winbind:
    # systemctl restart winbind.service
    
  • при использовании групповой политики (на контроллерах в Win-домене) «Сетевая безопасность: минимальная сеансовая безопасность для серверов на базе NTLM SSP (включая безопасный RPC)» с опцией «требовать сеансовую безопасность NTLMv2» в разделе «Конфигурация компьютера\Конфигурация Windows\Параметры безопасности\Локальные политики\Параметры безопасности» не строится траст между Win-доменом и Samba-доменом. При включении этой политики после построения траста некорректно работают доверительные отношения между Windows-доменом и Samba-доменом. Не выполняется проверка траста (samba-tool domain trust validate) и не выполняется вход на пользователями из доверенного домена на машинах с winbind.

    Примечание

    После редактирования политики и ее применения в Win-домене необходимо перезапустить сервис samba.
Для управления доверием можно использовать инструмент командной строки samba-tool.

Таблица 5.1. Команды управления доверием

Команда
Описание
Примечание
domain trust create <домен>
Создать доверие домена или леса
Можно использовать следующие опции:
  • --type=TYPE — тип доверия (external, forest);
  • --direction=DIRECTION — направление доверия (incoming, outgoing, both);
  • --create-location=LOCATION — где создать объект доверенного домена (local, both);
  • --quarantined=yes|no — применять к доверию специальные правила фильтрации SID (при --type=external по умолчанию yes, при --type=forest по умолчанию no);
  • -U USERNAME — имя пользователя.
domain trust modify <домен>
Изменить доверие домена или леса
domain trust delete <домен>
Удалить доверие домена или леса
Можно использовать следующие опции:
  • --delete-location=LOCATION — где удалить объект доверенного домена (local, both);
  • -U USERNAME — имя пользователя.
domain trust list
Вывести список доверительных отношений домена
domain trust show <домен>
Показать сведения о доверенном домене
domain trust validate <домен>
Проверить доверие к домену
Можно использовать следующие опции:
  • --validate-location=LOCATION — где проверить объект доверенного домена (local, both);
  • -U USERNAME — имя пользователя.