Сбой доверительных отношений (Active Directory Trust Failed)
Архитектура междоменного доверия (Domain Trusts) и симптомы
В крупных холдингах инфраструктура часто разделена на несколько лесов или доменов Active Directory (например, corp.local и branch.local). Чтобы пользователи одного домена могли открывать папки в другом, между ними настраиваются Доверительные отношения (Trusts). При сбое доверия (Trust Failure) пользователи начинают получать ошибки: «Не удалось установить доверительные отношения между основным доменом и доверенным доменом» (The trust relationship between the primary domain and the trusted domain failed) или «Вход невозможен (Logon failure)».
Суть проблемы (Механика Trust Password)
Доверительные отношения — это, по сути, "невидимая" учетная запись (TDO - Trusted Domain Object) с паролем (Trust Password), который контроллеры доменов А и Б генерируют и согласовывают между собой. Каждые 30 дней они его меняют. Если в момент смены пароля между доменами упала сеть, или один контроллер откатили из бэкапа, пароли рассинхронизируются. Доверие разваливается (Broken Trust).
Пошаговое дерево решений (Диагностика и Сброс Траста)
Сценарий 1: Проверка статуса доверия (Утилита Nltest)
Не гадайте, работает ли траст. Используйте консольную утилиту nltest, чтобы проверить защищенный канал (Secure Channel) между доменами.
- Откройте CMD на контроллере домена
corp.local. - Запросите список доверенных доменов:
nltest /domain_trusts - Проверьте конкретный сломанный траст (подставьте имя домена филиала):
nltest /sc_query:branch.local - Если утилита возвращает ERROR_NO_LOGON_SERVERS (Отказ сети) или ERROR_ACCESS_DENIED (Сломан пароль), переходите к следующим шагам.
Сценарий 2: Сетевая блокировка (Firewall / RPC)
Для работы Forest Trust (Отношений Леса) между контроллерами доменов ОБЯЗАНЫ быть открыты порты. Если сетевики заблокировали хоть один — траст не поднимется.
- TCP/UDP 53: DNS-запросы (Они должны уметь резолвить имена друг друга).
- TCP/UDP 88: Kerberos (Аутентификация).
- TCP/UDP 389: LDAP (Чтение атрибутов).
- TCP/UDP 445: SMB (SMB протокол для Netlogon).
- TCP 135 + 49152-65535: RPC Endpoint Mapper (Для проверки пароля траста LSA).
Убедитесь, что настроены DNS Перенаправители (Conditional Forwarders) — домен A должен знать IP-адреса DNS-серверов домена Б.
Сценарий 3: Сброс и восстановление пароля Траста (Reset Trust)
Если порты открыты, но nltest выдает 'Access Denied', пароль рассинхронизировался. Его нужно "передернуть".
- Откройте Active Directory Domains and Trusts (domain.msc).
- Нажмите правой кнопкой на ваш домен -> Свойства -> вкладка Trusts (Доверия).
- Выберите сломанный траст в списке и нажмите Свойства (Properties).
- Нажмите кнопку Проверить (Validate).
- Система спросит: «Хотите ли вы обновить доверительные отношения?». Ответьте Да (Yes) и введите логин/пароль Администратора соседнего домена (
branch\administrator). - Ядро AD (LSA) сгенерирует новый пароль, зашифрует его и передаст соседу. Траст оживет.
Типовые ошибки администраторов
- Откат контроллера из снапшота: Если вы восстановили контроллер домена из снимка (VM Snapshot) 40-дневной давности, его Trust Password уже невалиден (меняется каждые 30 дней). Траст мгновенно развалится. Всегда делайте Validate после DRP.
Проектирование и траблшутинг лесов Active Directory (Multi-Forest) с кросс-доменными довериями — это задача для Senior-архитекторов. Возьмем инфраструктуру на аутсорсинг: настроим Selective Authentication (Фильтрацию SID), прокинем нужные RPC-порты, обеспечим миграцию (ADMT) и бесшовную интеграцию холдинга (M&A).
Частые вопросы (FAQ)
В чем отличие Forest Trust от External Trust?
Forest Trust (Доверие Леса) работает на протоколе Kerberos, является транзитивным (доверие передается всем дочерним доменам леса) и позволяет маршрутизировать UPN-имена (user@corp.com). External Trust (Внешнее) — это старый NTLM-траст для связи с доменами Windows NT 4.0 или доменами, не объединенными в лес. Forest Trust намного безопаснее.
Почему пользователи из домена А видят файлы в домене Б, а наоборот — нет?
Вы настроили Одностороннее доверие (One-Way Trust) вместо Двустороннего (Two-Way). В одностороннем трасте: Доверяющий домен (Б) пускает к себе пользователей из Доверенного домена (А). Если нужен взаимный обмен — пересоздайте траст как Two-Way.
Как отключить автоматическую смену пароля траста?
В редакторе реестра (HKLM\System\CurrentControlSet\Services\Netlogon\Parameters) можно создать DWORD 'DisablePasswordChange = 1'. Но это чудовищная угроза ИБ. Лучше чините сетевые разрывы (Firewall), которые мешают регулярной 30-дневной смене паролей.
Почему при создании траста выдается 'Не удается найти контроллер домена'?
Классическая проблема DNS. Ваш домен (corp.local) не знает, какой IP-адрес у домена (branch.local). На серверах DNS создайте 'Условный сервер пересылки' (Conditional Forwarder) для зоны branch.local, указав IP-адрес контроллера домена филиала.
Что такое SID Filtering (Карантин SID)?
Это защитный механизм. Он очищает TGT-билет пользователя от 'чужих' групп (например, если хакер в соседнем домене добавил себе SID Enterprise Admins вашего домена). В External Trusts фильтрация включена всегда. В Forest Trusts ее можно отключить (netdom trust /quarantine:No).