Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Исходный номер базы знаний: 4492348
Симптомы
Компьютер в дочернем домене леса служб домен Active Directory (AD DS) не может получить доступ к службе, которая находится в другом домене в одном лесу. Если вы запускаете сетевую трассировку для обмена данными с клиентским компьютером и с клиентского компьютера, трассировка содержит следующие сообщения Kerberos:
6 9:35:19 AM 8/14/2018 17.8417442 192.168.1.101 192.168.1.2 KerberosV5 KerberosV5:AS Request Cname: Administrator Realm: contoso.com Sname: krbtgt/contoso.com {TCP:4, IPv4:1}
7 9:35:19 AM 8/14/2018 17.8452544 192.168.1.2 192.168.1.101 KerberosV5 KerberosV5:KRB_ERROR - KDC_ERR_ETYPE_NOSUPP (14) {TCP:4, IPv4:1}
На контроллере домена дочернего домена Просмотр событий записывает следующую запись События 14:
Log Name: System
Source: Microsoft-Windows-Kerberos-Key-Distribution-Center
Event ID: 14
Task Category: None
Level: Error
Keywords: Classic
Description:
While processing an AS request for target service krbtgt, the account Administrator did not have a suitable key for generating a Kerberos ticket (the missing key has an ID of 1). The requested etypes : 18 17 3. The accounts available etypes : 23 -133 -128. Changing or resetting the password of Administrator will generate a proper key.
Причина
Эта проблема возникает при настройке дочернего домена (или просто клиента), как показано ниже.
- Вы отключите тип шифрования RC4_HMAC-MD5, оставив типы шифрования AES128-CTS-HMAC-SHA1-96 и AES256-CTS-HMAC-SHA1-96.
- Вы отключите проверку подлинности NTLM.
Типы шифрования Kerberos
Шифрование RC4 считается менее безопасным, чем более новые типы шифрования, AES128-CTS-HMAC-SHA1-96 и AES256-CTS-HMAC-SHA1-96. Руководства по безопасности, такие как Руководство по технической реализации безопасности Windows 10, предоставляют инструкции по повышению безопасности компьютера, настроив его для использования только AES128 и/или AES256 (см . типы шифрования Kerberos, чтобы предотвратить использование наборов шифрования DES и RC4).
Такой клиент может продолжать подключаться к службам в собственном домене, использующей шифрование AES128 или AES256. Однако другие факторы могут препятствовать подключению клиента к аналогичным службам в другом доверенном домене, даже если эти службы также используют шифрование AES128 или AES256.
На очень высоком уровне контроллер домена отвечает за управление запросами доступа в собственном домене. В рамках процесса проверки подлинности Kerberos контроллер домена проверяет, может ли клиент и служба использовать один и тот же тип шифрования Kerberos. Однако, когда клиент запрашивает доступ к службе в другом доверенном домене, контроллер домена клиента должен "ссылаться" на контроллер домена в домене службы. Когда контроллер домена создает запрос на реферальную ссылку, а не сравнивает типы шифрования клиента и службы, он сравнивает типы шифрования клиента и доверия.
Проблема возникает из-за конфигурации самого доверия. В Active Directory объект домена связан с доверенными объектами домена (TDOs), представляющими каждый домен, которому он доверяет. Атрибуты TDO описывают отношение доверия, включая типы шифрования Kerberos, поддерживаемые доверием. Связь по умолчанию между дочерним доменом и родительским доменом — это двустороннее транзитивное доверие, которое поддерживает тип шифрования RC4. У родительского и дочернего домена есть TDOS, описывающие эту связь, включая тип шифрования.
Когда клиент обращается child.contoso.com
к контроллеру домена для запроса доступа к службе, контроллер домена определяет, что служба находится в доверенном домене contoso.com
. Контроллер домена проверяет конфигурацию доверия, чтобы определить тип шифрования, поддерживаемый доверием. По умолчанию доверие поддерживает шифрование RC4, но не шифрование AES128 или AES256. С другой стороны, клиент не может использовать шифрование RC4. Контроллер домена не может определить распространенный тип шифрования, поэтому он не может создать запрос на реферальную ссылку, и запрос завершается сбоем.
Проверка подлинности NTLM
После сбоя проверки подлинности Kerberos клиент пытается вернуться к проверке подлинности NTLM. Однако если проверка подлинности NTLM отключена, клиент не имеет других альтернатив. Поэтому попытка подключения завершается ошибкой.
Решение
Для решения этой проблемы воспользуйтесь одним из описанных ниже способов.
- Метод 1. Настройте доверие для поддержки шифрования AES128 и AES 256 в дополнение к шифрованию RC4.
- Метод 2. Настройте клиент для поддержки шифрования RC4 в дополнение к шифрованию AES128 и AES256.
- Метод 3. Настройте доверие для поддержки шифрования AES128 и AES 256 вместо шифрования RC4.
Выбор зависит от ваших потребностей в безопасности и необходимости свести к минимуму нарушения или обеспечить обратную совместимость.
Метод 1. Настройка доверия для поддержки шифрования AES128 и AES 256 в дополнение к шифрованию RC4
Этот метод добавляет новые типы шифрования в конфигурацию доверия и не требует каких-либо изменений в клиенте или службе. В этом методе ksetup
для настройки доверия используется средство командной строки.
Чтобы настроить тип шифрования Kerberos доверия, откройте окно командной строки в контроллере домена в доверенном домене и введите следующую команду:
ksetup /setenctypeattr <trustingdomain> RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96
Примечание.
В этой команде <доверяющий домен> представляет полное доменное имя (FQDN) доверенного домена.
В примере, в котором contoso.com
находится корневой домен (где находится служба) и child.contoso.com
является дочерним доменом (где находится клиент), откройте окно командной строки в contoso.com
контроллере домена и введите следующую команду:
ksetup /setenctypeattr child.contoso.com RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96
После завершения этой команды контроллер домена может успешно создать запрос на реферальную ссылку, child.contoso.com
который клиент может использовать для доступа к контроллеру contoso.com
домена.
Так как связь между двумя доменами является двусторонним транзитивным доверием, настройте другую сторону доверия, открыв окно командной child.contoso.com
строки в контроллере домена, а затем введите следующую команду:
ksetup /setenctypeattr contoso.com RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96
После завершения contoso.com
этой команды контроллер домена может создавать билеты на рефералы для всех клиентов, которые contoso.com
не могут использовать шифрование RC4, но должны использовать ресурсы в child.contoso.com
.
Дополнительные сведения о средстве ksetup см. в разделе ksetup.
Метод 2. Настройка клиента для поддержки шифрования RC4 в дополнение к шифрованию AES128 и AES256
Этот метод включает изменение конфигурации клиента вместо доверия. Вы можете изменить конфигурацию одного клиента или использовать групповую политику для изменения конфигурации нескольких клиентов в домене. Однако основным недостатком этого изменения конфигурации является то, что если вы отключили шифрование RC4 для повышения безопасности, откат этого изменения может оказаться невозможным.
Полные инструкции по изменению типов шифрования, которые могут использовать клиенты, см. в разделе "Конфигурации Windows для поддерживаемого типа шифрования Kerberos".
Метод 3. Настройка доверия для поддержки шифрования AES128 и AES 256 вместо шифрования RC4
Этот метод напоминает метод 1 в том, что вы настраиваете атрибуты доверия.
В случае доверия леса Windows обе стороны доверия поддерживают AES. Поэтому все запросы на запросы по доверию используют AES. Однако сторонний клиент Kerberos, который проверяет запрос на реферальную ссылку, может уведомить вас о том, что билет использует тип шифрования, который клиент не поддерживает. Чтобы продолжить проверку билета таким клиентом, обновите его для поддержки AES.
При использовании этого метода настройте доверие с помощью оснастки MMC домен Active Directory и trusts. Чтобы использовать этот метод, выполните следующие действия.
В домен Active Directory и доверия перейдите к доверенному объекту домена (в примере).
contoso.com
Щелкните объект правой кнопкой мыши, выберите "Свойства" и выберите "Доверие".В поле Домены, которым доверяет этот домен (входящие отношения доверия), выберите доверенный домен (в примере).
child.domain.com
Выберите "Свойства", выберите другой домен, поддерживающий шифрование AES Kerberos, а затем нажмите кнопку "ОК".
Примечание.
Чтобы проверить конфигурацию доверия, выберите " Проверить " в диалоговом окне "Доверенный домен".
Внимание
В случае с односторонним доверием доверенный домен перечисляет доверенный домен в качестве входящего доверия, а доверенный домен перечисляет доверенный домен в качестве исходящего доверия.
Если отношение является двусторонним доверием, каждый домен перечисляет другой домен как входящие, так и исходящие отношения. В этой конфигурации обязательно проверьте конфигурацию домена в обоих доменах, которые доверяют этому домену (входящим довериям) и доменам, доверенным этим доменом (исходящие доверия). В обоих случаях установите флажок.
На вкладке "Доверие" нажмите кнопку "ОК".
Перейдите к объекту домена для доверенного домена (
child.contoso.com
).Повторите шаги 1 – 4, чтобы убедиться, что конфигурация доверия для этого домена зеркально отражает конфигурацию доверия для другого домена (в данном случае входящие и исходящие списки доверия включают
contoso.com
).
Дополнительная информация
Дополнительные сведения о TDOS см. в следующих статьях:
- Основные и доверенные домены
- Свойства доверия — вкладка "Общие"
- Основные атрибуты доверенного объекта домена
Дополнительные сведения о типах шифрования Kerberos см. в следующих статьях: