В Windows 2000 Server понятие «лес» определяется как логическая и административная группа нескольких доменов, связанных между собой доверительными отношениями и пространством имен DNS. Лес обеспечивает простоту использования и администрирования ресурсов, которые должны быть доступны пользователям различных доменов. Кроме того, он облегчает развертывание, администрирование и использование корпоративных приложений, таких как Microsoft Exchange Server.

В Windows 2000 домен не имеет четкой границы безопасности; окончательной границей является лес. Таким образом, домены в лесу должны иметь определенное количество доверительных отношений между ними. Организации, которые по политическим, юридическим или чисто административным причинам не могут выполнить требования модели доверительных отношений между доменами в одном лесу, выбирают модель с несколькими лесами. В небольших организациях каждый лес может состоять из одного домена. Некоторые крупные организации строят множество лесов, когда компании сливаются или поглощают одна другую. В некоторых компаниях для организации периметра безопасности создается два леса: один лес - для внутренней сети (intranet), другой - для демилитаризованной зоны (DMZ).

Определение доверительных отношений между лесами является важной задачей при работе с Windows 2000. С точки зрения администрирования безопасности, создание таких отношений доставляет массу хлопот администратору и большей частью возвращает среду Windows 2000 в эру Windows NT 4.0 - вспомните «спагетти»-модель отношений. Установка доверительных отношений в Windows 2000 в основном сходна со своей предшественницей: очень приблизительно.

Ясно, что в Windows 2000 непросто поддерживать множество лесов. Теперь в Windows Server 2003 введен новый тип доверительных отношений, называемый «доверительными отношениями лесов» (forest trust), который устраняет целый ряд проблем и недостатков в доверительных отношениях множества лесов и отношениях между лесами Windows 2000. Доверительное отношение лесов – это единственное отношение между двумя корневыми доменами двух лесов. Windows 2003 также включает в себя ряд важных усовершенствований, которые облегчают установку и администрирование отношений между лесами.

Доверительные отношения между лесами и транзитивность

В Windows 2003 доверительные отношения между лесами транзитивны. Это означает, что отношение между двумя корневыми доменами двух лесов обеспечивает аутентификацию между всеми доменами в двух лесах. На Экране 1 показано, что поскольку установлены транзитивные отношения между лесами Compaq.com и Hp.com, домен C в Compaq.com автоматически получает доверительные отношения с доменами D, E, и F в Hp.com. Это же справедливо для всех других доменов в этих двух лесах. Транзитивные отношения значительно упрощают администрирование отношений между лесами и обеспечивают однократную процедуру регистрации (single sign-on, SSO) для всех доменов в обоих лесах. Для достижения этого же уровня отношений в Windows 2000 пришлось бы задать их между каждым доменом в одном лесу и каждым доменом в другом лесу.

Отношения между лесами не являются транзитивными между множеством лесов. Например, если доверительные отношения существуют между лесами Compaq.com и Hp.com и между лесами Compaq.com и Digital.com то транзитивные отношения между Digital.com и Hp.com автоматически не создаются. Если требуется однократная регистрация (SSO) между Hp.com и Digital.com, необходимо явно установить доверительные отношения между этими двумя лесами.

Объекты леса

Основой для установления доверительных отношений лесов является новый в Active Directory (AD) тип объекта trusteddomain, именуемый forest. Объекты trusteddomain типа forest содержат новый атрибут, именуемый msDS-TrustForestTrustInfo, который хранит информацию о доменах в связанных отношениями доверия лесах. Хранимая информация в основном есть информация о безопасности и именовании корневых доменов доверяющих лесов и любых ограничениях на имена верхнего уровня (top-level name, TLN), связанных с доверительными отношениями этих лесов с другими доменами. Windows 2003 использует информацию, хранящуюся в атрибуте msDS-TrustForestTrustInfo, для направления аутентификационных запросов и поиска объектов между лесами.

Windows 2003 реплицирует объекты trusteddomain и их атрибуты в глобальный каталог (Global Catalog, GC). Таким образом, любая система в лесу может просматривать эти объекты и их атрибуты и пользоваться их содержимым. Для просмотра атрибутов объектов trusteddomain можно задействовать ADSI Edit из Windows 2003 Support Tools.

Для установления доверительных отношений на уровне леса Windows 2003 оба леса должны функционировать на уровне 2. Функциональный уровень Windows 2003 домена или леса описывает состояние их контроллеров домена (DC) и доступный набор возможностей; функциональные уровни – это расширение концепции смешанного (mixed mode) и однородного режимов (native mode) функционирования доменов, которая существовала в Windows 2000. Функциональный уровень 2 леса доступен только тогда, когда все домены лесов имеют функциональный уровень 2. Домен имеет функциональный уровень 2, если на всех DC установлена Windows 2003. Функциональный уровень 2 Windows 2003 - это наивысший уровень, на котором доступны все новые возможности Windows 2003.

Особенности отношений доверия между лесами

В Windows 2000 отношения доверия определяются довольно грубо. Когда вы настраиваете доверие между лесами, вы тем самым доверяете всем или никому. В Windows 2003 вы можете определить отношения доверия более тонко. Windows 2003 поддерживает три способа ограничения доверительных отношений между лесами.

  1. Ограничения TLN.
  2. Выборочная идентификация.
  3. Фильтрация SID.

Доверительные отношения лесов позволяют задействовать различные аутентификационные протоколы и методы для доступа к ресурсам между лесами. Windows 2003 поддерживает протоколы Kerberos и NT LAN Manager (NTLM) для регистрации в объединенном лесу. Для интерактивной регистрации в объединенном лесу пользователи могут использовать регистрацию с помощью смарт-карт на базе  Kerberos PKINIT или UPN-имя (User Principal Name – основное имя пользователя). Последний вариант поддерживает как Kerberos, так и протокол NTLM для аутентификации.

Чтобы облегчить установку и конфигурацию доверительных отношений, в Windows 2003 включен мастер установки новых доверительных отношений (New Trust Wizard), который через Microsoft Management Console (MMC) предоставляет доступ к оснастке Active Directory Domains and Trusts. Мастер проводит пользователя через различные варианты настройки доверительных отношений между лесами, так же как и для других типов доверия (таких как ссылки, внешнее доверие и область). Когда мастер обнаруживает, что домен, которому доверяют, является корневым доменом леса, он позволяет установить либо внешнее доверие, либо доверие между лесами. Внешнее доверие в явном виде создает доверительные отношения между двумя доменами в двух лесах. Windows 2003, как и Windows 2000, поддерживают внешнее доверие (external trust). Ключевым отличием доверия между лесами (forest trust) от внешнего доверия является то, что отношения лесов содержат информацию обо всех доменах в удаленном лесу. Таким образом, доверительные отношения между лесами поддерживают основанную на Kerberos аутентификацию, регистрацию на базе UPN и обеспечивают просмотр объектов из любого домена в двух лесах.

Самый легкий способ определить тип доверительных отношений состоит в том, чтобы щелкнуть правой кнопкой мыши на контейнере домена в оснастке Active Directory Domains and Trusts и выбрать «Свойства». В диалоговом окне свойств на закладке Trust вы можете найти имена доменов, которым доверяют, и доверяющих, тип доверительных отношений, и сведения о том, являются ли доверительные отношения транзитивными.

Когда вы настраиваете отношения доверия для леса, мастер New Trust Wizard поможет вам выполнить следующие действия:

  1. Установить DNS или NetBIOS имя целевого домена.
  2. Определить, является ли доверие двунаправленным. Если доверие однонаправленное, то определить его направление (входящее или исходящее). Одностороннее входящее доверие позволяет пользователям вашего домена подтверждать подлинность (регистрироваться) и получать доступ к объектам соседнего домена. Одностороннее исходящее доверие позволяет пользователям соседнего домена регистрироваться и получать доступ к ресурсам вашего домена.
  3. Разрешить выборочную регистрацию.
  4. Задать суффиксы имен DNS, которые вы хотите получить при маршрутизации между лесами.
  5. Подтвердить создание отношения доверия.

Отношения доверия лесов позволяют также просматривать объекты соседних лесов. На Экране 2 видно, как локатор объектов Windows 2003, используемый для задания прав доступа к объектам, показывает леса cpqtest.net и digitaltest.net, когда вы открываете их на системе в домене hewlettpackardtest.net, после установления доверительных отношений лесов между доменами hewlettpackardtest.net и cpqtest.net и между hewlettpackardtest.net и digitaltest.net.

Маршрутизация по суффиксу имени и TLN – ограничения

Windows 2003 использует механизм, называемый маршрутизацией по суффиксу имени домена, обеспечивающий разрешение имен между лесами, связанными доверительными отношениями. Разрешение имен необходимо для маршрутизации перекрестных аутентификационных запросов и запросов объектов между лесами. Механизм маршрутизации между лесами в Windows 2003 базируется на списке суффиксов доменных имен DNS, хранящихся в объекте trusteddomain в корневом домене леса. Вы можете изменить работу маршрутизации между лесами, запрещая, разрешая или исключая эти суффиксы.

Рассмотрим пример доверия между лесами hewlettpackardtest.net и cpqtest.net. Лес hewlettpackardtest.net имеет корневой домен с тем же самым именем, что и второй домен Hp.com. Лес cpqtest.net имеет корневой домен с тем же самым именем. Администратор домена cpqtest.net решает, что он не хочет посылать запросы объектам и не доверяет аутентификационным запросам домена Hp.com. Для этого он запрещает суффикс имени домена Hp.com в атрибуте msDS-TrustForestTrustInfo объекта trusteddomain для домена hewlettpackardtest.net в ActiveDirectory домена cpqtest.net.

Администратор также может использовать для отключения суффикса доменного имени окно из New Trust Wizard, показанное на Экране 3. Мастер показывает все суффиксы имен доменов верхнего уровня (top-level domains, TLD) в лесу (за исключением суффикса имени корневого домена) и все UPN-суффиксы, которые определены на уровне леса. UPN-суффиксы леса позволяют администраторам определить дополнительные суффиксы, отличные от имен домена DNS в лесу Active Directory.

UPN-суффиксы удаляются и добавляются в оснастке Active Directory Domains and Trusts в результате нажатия правой кнопки мыши на Active Directory Domains and Trusts и выбора пункта Properties.

В нашем примере доверия лесов лес hewlettpackardtest.net имеет суффикс имени домена верхнего уровня Hp.com и один UPN-суффикс: hptest.net.

На Экране 3 администратор домена cpqtest.net отключил в лесу cpqtest.net маршрутизацию всех запросов с суффиксом *.hp.com и разрешил маршрутизацию для суффикса *.hptest.net.

Еще один способ отключить суффикс имени домена состоит в использовании формы Name Suffix Routing из диалогового окна свойств объекта. Надо нажать правую кнопку мыши на объекте в оснастке Active Directory Domains and Trusts и выбрать Properties. На Экране 4 показана закладка Name Suffix Routing для объекта hewlettpackardtest.net, с которым установлены отношения доверия. Заметьте, что на закладке суффикс DNS *.hewlettpackard.net показывается как отключенный и помечен как New. Администратор добавил этот UPN-суффикс к лесу thewlettpackardtest.net после запуска New Trust Wizard. Windows 2003 отключает вновь добавленные суффиксы по умолчанию.

Отключение суффикса доменного имени в свойствах отношений доверия лесов полностью отключает маршрутизацию запросов к соответствующему пространству имен DNS и всем подчиненным ему зонам. Например, отключение суффикса Hp.com отключает и все подчиненные зоны, такие как emea.hp.com, americas.hp.com и asiapac.hp.com. Механизм TLN-ограничений позволит отключить маршрутизацию только выбранных вами пространств имен. Например, вы можете разрешить маршрутизацию зоны Hp.com (и всех подчиненных зон americas.hp.com и asiapac.hp.com) и запретить маршрутизацию только суффикса подчиненной зоны emea.hp.com.

Вы можете использовать TLN-ограничения для того, чтобы избежать конфликтов в пространстве имен DNS во время маршрутизации запросов аутентификации между лесами. Такие конфликты происходят в том случае, когда программам, отвечающим в Windows за безопасность, удается проложить к целевому домену леса два или несколько маршрутов. 

На Экране 5 показаны двунаправленные доверительные отношения между лесами cpqtest.net, hewlettpackardtest.net и hr.hewlettpackardtest.net. По умолчанию отношения доверия между cpqtest.net и hewlettpackardtest.net маршрутизируют весь трафик аутентификации для суффикса домена *.hewlettpackardtest.net в лес hewlettpackardtest.net.

По причине доверия между hewlettpackardtest.net и hr.hewlettpackardtest.net пространство имен *.hewlettpackardtest.net включает в себя оба пространства hewlettpackardtest.net и hr.hewlettpackardtest.net. Из-за неполной транзитивности между множествами лесов, аутентификационный запрос, приходящий от леса cpqtest.net для обслуживания в hr.hewlettpackardtest.net, перенаправленный из hewlettpackardtest.net, не может быть передан контроллером домена hewlettpackardtest.net лесу hr.hewlettpackardtest.net. Чтобы избежать таких конфликтов зон DNS, необходимо установить TLN-ограничения в домене cpqtest.net, исключив суффикс имени hr.hewlettpackardtest.net из доверительного отношения лесов cpqtest.net и hewlettpackardtest.net.

Вы можете использовать вкладку Name Suffix Routing из диалога свойств доверия объектов для задания TLN-ограничений, которые исключают суффиксы доменных имен. Выберите суффикс, с которым хотите работать. В нашем случае это hewlettpackardtest.net. Нажмите Edit, чтобы открыть диалоговое окно, показанное на Экране 6, нажмите Add и выберите *.hr.hewlettpackardtest.net для исключения суффикса из маршрутизации в hewlettpackardtest.net. Установить TLN-ограничения из мастера New Trust Wizard не удастся.

Выборочная аутентификация

Когда вы предпочитаете выборочную аутентификацию, отмечая ее в свойствах доверительных отношений лесов, пользователи, которым необходим доступ к ресурсам из другого леса, не смогут авторизоваться на контроллере домена или ресурсных серверах (таких как файл-серверы, принт-серверы и т.д.) соседнего леса, до тех пор, пока вы явным образом не разрешите им этого. Microsoft добавила возможность выборочной аутентификации для более тонкой настройки доверительных отношений лесов. Если запретить выборочную авторизацию, то все пользователи леса А станут пользователями леса В, получив соответствующие права на доступ и просмотр ресурсов в этом лесу. Подсистема безопасности Windows 2003 обеспечивает это тем, что включает пользователей домена А в группу Authenticated Users леса В при использовании ими отношений доверия. Если разрешить выборочную авторизацию, то пользователи леса А остаются членами группы Authenticated Users, но смогут авторизоваться в лесу В только после выполнения дополнительных проверок прав доступа.

Администратор может включить выборочную аутентификацию, используя New Trust Wizard или диалоговое окно свойств доверительных отношений. Для этого нужно перейти на вкладку Authentication и выбрать Allow authentication only for selected resources in the local forest («Разрешить авторизацию только для выбранных ресурсов в локальном лесу»). Когда вы попытаетесь получить доступ к ресурсам леса, на которых включена аутентификация через брандмауэр с системы, находящейся в этом лесу, вы увидите сообщение об ошибке:

Logon Failure: The machine you are logging onto is protected by an authentication firewall. The specified account is not allowed to authenticate to the machine

(«Ошибка регистрации: система, на которую вы пытаетесь зарегистрироваться, защищена брандмауэром. Указанная учетная запись не аутентифицирована этой системой»).

После включения выборочной аутентификации необходимо разрешить доступ к системе в лесу, пользователи которого должны иметь к ней доступ. Например, для того, чтобы разрешить пользователям регистрироваться на контроллерах домена леса, в котором отмечена выборочная аутентификация, администратор леса должен изменить права доступа к объектам DC в Active Directory. Для того чтобы это сделать, используют оснастку MMC Active Directory Users and Computers в режиме Advanced Features. Откройте диалоговое окно Properties для соответствующего DC, перейдите на вкладку Security и предоставьте пользователю право Allowed to Authenticate («Разрешить аутентификацию»), как показано на Экране 7. Если пользователь желает получить доступ к ресурсам на файл-сервере, необходимо, соответственно, изменить права доступа к объекту – учетной записи системы, являющейся сервером.

Дополнительная проверка для права Allowed to Authenticate вызывает формирование специального SID, который Windows 2003 добавляет к маркеру доступа пользователя, когда тот пытается получить доступ к ресурсам в другом лесу, с которым установлены доверительные отношения и включена выборочная авторизация. Этот SID называется This Organization и имеет значение S-1-5-15. Вы можете легко проверить его присутствие в маркере доступа пользователя, запустив с командной строки Whoami с ключом /groups.

Фильтрация SID

Идея фильтрации SID состоит в том, что те SID, которые контроллеры домена в лесу не могут проверить, не должны быть включены в регистрационные данные, которые контроллеры домена посылают другому лесу в силу отношений доверия между лесами. Когда пользователь пытается аутентифицироваться на контроллере домена другого леса, подсистема безопасности Windows 2003 подтверждает подлинность, посылая данные пользователя (например, членство в группах) с запросом на аутентификацию. Контроллер домена удаленного леса, подтверждающий запросы аутентификации, отфильтровывает все идентификаторы безопасности (SID), сохраненные в маркере безопасности пользователя, которые не связаны с локальным лесом пользователя.

SID-фильтрация предотвращает попытки добавить недостоверный SID к аутентификационным данным пользователя и тем самым поднять уровень привилегий пользователя. Этот тип угрозы также известен как атака с целью повышения полномочий. Если пользователю удалось добавить SID группы Enterprise Administrators другого леса к своим аутентификационным данным, то он сможет получить административный доступ в другом лесу.

На Экране 8 показан эффект использования SID-фильтрации между двумя лесами: лесом Microsoft и лесом HP. В этом примере пользователь с учетной записью в лесу Microsoft зарегистрировался и желает получить доступ к ресурсам леса HP. Сначала контроллер домена леса Microsoft посылает аутентификационные данные пользователя с его запросом на аутентификацию контроллеру домена леса HP. Затем контроллер домена леса HP отфильтровывает все SID, которые не связаны с лесом, где заведен пользователь (т.е. лесом Microsoft). В примере контроллер домена автоматически удаляет все SID, ссылающиеся на лес HP и другой лес, названный SUN.

Фильтрация SID активизируется автоматически во время установки доверительных отношений лесов Windows 2003. Вы не сможете применять ее для доверительных отношений между доменами в одном и том же лесу. Такое действие приведет к нарушению репликации Active Directory и Global Catalog. Специалисты Microsoft включили SID-фильтрацию в Windows 2000 Service Pack 2 (SP2). Дополнительную информацию по этому вопросу можно найти в статье Microsoft "MS02-001: Forged SID Could Result in Elevated Privileges in Windows 2000". В ней объясняется, как установить и настроить SID-фильтрацию в Windows 2000.

Строительные блоки объединения

Отношения доверия леса Windows 2003 позволяют администраторам надежно объединить два AD леса, используя одно доверительное отношение. Особенности доверительных отношений лесов обеспечивают пользователям простую и понятную регистрацию в обоих лесах. Тем не менее, необходимо тщательно планировать безопасность доверительных отношений лесов, и Windows 2003 предлагает новые мощные инструменты для тонкой настройки политики безопасности доверительных отношений.

Доверительные отношения лесов – основной строительный блок объединяющей стратегии Microsoft. Доверие лесов в Windows 2003, прежде всего, предназначено для внутреннего объединения, для связи лесов компании, партнеров компании или вспомогательных лесов. В следующем году Microsoft выпустит продукт (в настоящее время известный как TrustBridge), разработанный для внешнего объединения между лесами Windows и другими организациями, или Trusted Third Parties (TTP), в которых не обязательно внедрена технология Microsoft.

Жан де Клерк (jan.declercq@compaq.com) - Консультант группы Applied Microsoft Technologies Group службы Compaq Global. Он специализируется на проблемах безопасности продуктов Microsoft BackOffice.