Проблемы с проверкой подлинности Kerberos, когда пользователь входит в несколько групп

Код статьи: 327825 - Список продуктов, к которым относится данная статья.
Поддержка заканчивается Пакет обновления 1 (SP1) для Windows Vista на 12 июля 2011. Чтобы продолжить получать обновления для системы безопасности для Windows, убедитесь, что вы используете Windows Vista с пакетом обновления 2 (SP2). Дополнительные сведения можно найти в веб-страницу Майкрософт: Заканчивается поддержка для некоторых версий Windows.
Развернуть все | Свернуть все

На этой странице

Проблема

Когда пользователь входит в несколько групп, этого пользователя могут возникнуть проблемы с проверкой подлинности или с помощью параметров групповой политики. Ниже статьях базы знаний Майкрософт описывается более подробно эти симптомы:

269643 Интернет Проверка подлинности Kerberos Explorer не работает из-за нехватки размера буфера при подключении к службам IIS
280380 Уязвимости переполнения буфера можно с помощью расширенных хранимых процедур
2020943 Ошибка «HTTP 400 - Ошибочный запрос (запрос заголовка слишком длинное)» сведения о службах Интернета (IIS)
Указывает, что разрешения, описанные в следующих статьях можно изменить значение MaxTokenSize реестра. Улучшение стало разрешение. Если использовать исправление, описанное в данной статье, не может потребоваться изменить значение MaxTokenSize по умолчанию.

Исправление, описанное в данной статье, заменяет исправления, описанные в статьях базы знаний Майкрософт, перечисленных в этом разделе.

Причина

Не удается проверить подлинность пользователя, так как фиксированный максимальный размер маркера Kerberos, созданный во время проверки подлинности. Транспортные протоколы, такие как удаленный вызов процедур (RPC) и HTTP используют значение MaxTokenSize при их выделения буферов для проверки подлинности. В Windows 2000 (исходная версия) значение MaxTokenSize — 8000 байт. В Пакет обновления 2 (SP2) для Windows 2000 и Windows Server 2003 значение MaxTokenSize — 12 000 байт.

Kerberos использует поле атрибута сертификата привилегий (PAC) пакета Kerberos для транспортировки членство в группе Active Directory. Начиная с Windows Server 2012, это также относится к поле сведения (динамического управления доступом) Active Directory заявок. При наличии многих группах для пользователя, и существует много утверждений для пользователя или устройства, которое используется, эти поля могут занимать много места в пакете.

Если пользователь является членом более чем 120 групп, определяется значение MaxTokenSize буфера недостаточен. Таким образом пользователи не могут проходить проверку подлинности, и появляется сообщение об ошибке «Недостаточно памяти». Прежде чем применить исправление, описанное в данной статье, у каждой группы, добавляемой учетной записи пользователя увеличивает этот буфер 40 байт.

Примечание Во многих случаях проверка подлинности Windows NTLM работает надлежащим образом. Проблема проверки подлинности Kerberos без анализа может отсутствовать. Однако сценарии, в которых применяются параметры групповой политики не могут работать должным образом.

Решение

Важно Чтобы устранить эту проблему, необходимо задать значение MaxTokenSize реестра для всех компьютеров, участвующих в процессе проверки подлинности Kerberos. К ним относятся клиенты SQL Server. (То есть раздел реестра имеет на каждом компьютере, который участвует в поток запроса или ответа. Таким образом если клиент SQL Server, на котором основан веб-приложения или должны быть переданы серверной базы данных SQL Server имеет маркер пользователя, раздел реестра должен установить на клиентском компьютере SQL Server, компьютер базы данных SQL Server, а также клиентский компьютер под управлением Internet Explorer, веб-сервер запущен, выполняется IISи т. д.)

Примечание В следующих версиях Windows включено исправление этой проблемы:
  • Windows 8
  • Windows Server 2012
  • Windows 7
  • Windows Server 2008 R2
  • Windows Server 2003
  • Windows Vista
  • Windows Server 2008
  • Windows XP Professional

Сведения о пакете обновления

Чтобы устранить эту проблему, получите последний пакет обновления для Microsoft Windows 2000. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
260910 Как Получение последнего пакета обновления Windows 2000

Сведения об исправлении

Доступно исправление от корпорации Майкрософт. Тем не менее оно предназначено для устранения проблемы, описанной в этой статье. Предлагаемое исправление должно применяться исключительно в системах, в которых обнаружена эта специфическая неполадка. Это исправление может проходить дополнительное тестирование. Таким образом Если проблема не представляет особой важности, эта проблема, рекомендуется дождаться следующего обновления Windows 2000 с пакетом обновления, содержащего это исправление.

Для немедленного решения этой проблемы обратитесь в службу поддержки пользователей Майкрософт для получения исправления. Полный список телефонов служб поддержки клиентов корпорации Майкрософт и сведения о стоимости поддержки посетите веб-узел Майкрософт:
http://support.Microsoft.com/contactus/?ws=support
Примечание В особых случаях оплата, предусмотренная службы для обращения в службу поддержки может быть отменена, если специалистом службы технической поддержки Майкрософт определяет, что обновление будет решением проблемы. Дополнительные услуги по технической поддержке, не связанные с данным исправлением, оплачиваются на стандартных условиях.Английская версия данного исправления содержит атрибуты файла (или более поздними), приведенные в следующей таблице. Дата и время для этих файлов указаны в UTC. При просмотре сведений о файле, оно преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, следует использовать Часовой пояс на вкладке Товар Дата и время панели управления.

Статус

Корпорация Майкрософт подтверждает, что это является проблемой в продуктах Майкрософт, перечисленных в разделе «Относится к». Первое исправление этой проблемы появилось в Microsoft Windows 2000 Пакет обновления 4.

Дополнительная информация

Маркер размера вычислений Windows 2000 на Windows Server 2008 R2

Если использовать исправление, описанное в данной статье, нет необходимости изменять значение MaxTokenSize реестра в большинстве случаев. Однако существуют некоторые сценарии в котором необходимо изменить значение MaxTokenSize реестра после установки исправления. После применения этого исправление на все контроллеры домена, используйте следующую формулу для определения имеется ли возможность изменять значение MaxTokenSize:
TokenSize = 1200 + 40 d + цифры
Эта формула использует следующие значения:
  • d: число локальных групп домена, членом которого является пользователь, а также число вне домена учетной записи пользователя, пользователь является членом универсальной группы плюс число групп, представленных в безопасности идентификатор журнала.
  • s: число глобальных групп безопасности, членом которого является пользователь плюс число универсальных групп в домене учетной записи пользователя, который входит пользователь.
  • 1200: Оценочная стоимость билетов затраты. Это значение может изменяться в зависимости от таких факторов, как длина имени домена DNS, имя клиента и других факторов.
В сценариях, в которых используется делегирование (например, когда проверка подлинности пользователей на контроллере домена) Корпорация Майкрософт рекомендует увеличении вдвое размера маркера.

Когда следует создавать запись в реестре

Если размер маркера, вычислить с помощью этой формулы не превышает 12 000 байт (размер по умолчанию), нет необходимости изменить значение MaxTokenSize реестра на клиентах в домене. Если значение больше, чем 12 000 байт, обратитесь к следующей статье Microsoft Knowledge Base для Описание того, как изменить значение MaxTokenSize реестра:

263693 Групповой политики не могут быть применены к Пользователи, принадлежащие многих групп

Примечания
  • При изменении значение MaxTokenSize таким образом, изменение вступает в силу необходимо перезагрузить компьютер.
Рекомендуемое максимальное значение — 65535 десятичное или шестнадцатеричное FFFF. Значение MaxTokenSize указывает основных билет Kerberos получать буфер, содержащий идентификаторы безопасности, представляющие группы, членом которых является учетная запись. Позже служба локального администратора безопасности (LSA) создает маркер из этого буфера SID. Жестко запрограммированный предел определяемые идентификаторы безопасности для данного токена клиента является 1,015, см. Данная статья БАЗЫ знаний:
328889 Пользователей, которые являются членами групп более чем 1,015 может произойти сбой проверки подлинности при входе
http://support.Microsoft.com/kb/328889/en-US

Таким образом значение MaxTokenSize 1015 более эффективных идентификаторы SID не полезно. В следующей формуле:
MaxTokenSize = 1200 + 40 d + цифры
40 d означает, что 40 байт для SID группы локального домена. цифры означает 8 байт для SID домена глобальная или универсальная группа.

Таким образом Если значение MaxTokenSize 0x0000FFFF (64 КБ), можно буфера приблизительно 1600 локальные группы SID домена или идентификаторы приблизительно 8000 домена глобальная или универсальная группа безопасности. При использовании учетных записей «доверенный для делегирования» быть двойной требование буфер для каждого идентификатора безопасности. В этих случаях можно сохранить только около 800 локальные группы SID домена при использовании MaxTokenSize значение 64 КБ. Однако наличие только локальные группы SID домена не типичный сценарий. Значение 64 КБ, будет достаточно даже для сценариев делегирования.

Изменения в Windows Server 2012

Вопросы о данном буфере Windows Server 2012 представлены следующие изменения:
  • По умолчанию для MaxTokenSize становится 48000 байт.
  • Существует новая схема сжатия в идентификационные коды безопасности
  • Динамический элемент управления Microsoft Access добавляет Active Directory заявок билетов. Таким образом вычисление размеров ожидаемых билет больше не просто. Ожидается, что билетов, выданных контроллеры домена Windows Server 2012, меньше, чем же билеты, выданные из более старых версий операционной системы. Заявки увеличивают размер билета. Однако после файловых серверов Windows Server 2012 широко используются заявки, можно ожидать этап значительное количество групп, определяющие доступ к файлам для монтажа размеры билета.

Дополнительные сведения об изменениях Windows Server 2012 посетите следующий веб-узел Microsoft TechNet:
http://TechNet.Microsoft.com/en-us/library/hh831717.aspx

Примеры проблем при превышении размера билета

Для получения дополнительных сведений щелкните следующие номера статей базы знаний Майкрософт:
277741Internet Explorer заканчивается неудачно из-за недостаточного размера буфера для Kerberos
313661 Сообщение об ошибке: «Время ожидания истекло» происходит при подключении к SQL Server по протоколу TCP/IP и Kerberos MaxTokenSize больше, чем 0xFFFF

Поскольку возможно сценариев входа между доменами в лесу, должно иметь значение леса на всех компьютерах под управлением Windows. Поэтому рекомендуется обеспечить максимальное значение MaxTokenSize значение 64 КБ.

Важно На клиентах SQL Server при возникновении данной проблемы может появиться следующее сообщение об ошибке:
Не удается создать контекст SSPI
Чтобы устранить эту проблему, необходимо задать значение MaxTokenSize реестра для всех компьютеров, участвующих в процессе проверки подлинности Kerberos. К ним относятся клиенты SQL Server.

Свойства

Код статьи: 327825 - Последнее изменение :: 20 февраля 2013 г. - Редакция: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows Server 2003 Service Pack 2
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Ultimate
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Web Server 2008
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Foundation
  • Windows Server 2008 R2 Standard
  • Windows 7 Корпоративная
  • Windows 7 Профессиональная
  • Windows 7 Максимальная
  • Windows Server 2012 Datacenter
  • Windows Server 2012 Essentials
  • Windows Server 2012 Foundation
  • Windows Server 2012 Standard
  • Windows 8 Enterprise
  • Windows 8 Pro
  • Microsoft Windows Server 2003 R2 Datacenter Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Datacenter x64 Edition
  • Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Enterprise x64 Edition
  • Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003 R2 Standard x64 Edition
Ключевые слова: 
kbqfe kbhotfixserver kbsecurity kbwin2ksp4fix kbbug kbfix kbwin2000presp3fix kbwin2000presp4fix kbmt KB327825 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: 327825

Отправить отзыв