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

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

В этой статье

Проблема

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

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

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

Причина

Не удается проверить подлинность пользователя, поскольку Фиксированный максимальный размер маркера Kerberos, созданный во время проверки подлинности. Транспортов, таких как удаленный вызов процедур (RPC) и HTTP используют значение MaxTokenSize при их выделения буферов для проверки подлинности. В Windows 2000 (исходная версия) значение MaxTokenSize — 8 000 байт. В Windows 2000 Пакет обновления 2 (SP2) и 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. При просмотре сведений о файле, оно преобразуется в локальное время. Чтобы узнать разницу между временем UTC и местным временем, используйте вкладку Часовой пояс элемента «Дата и время» панели управления.

Статус

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

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

Маркер, расчет размера Windows 2000 на Windows Server 2008 R2

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

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

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

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

Примечания
  • Если вы измените значение MaxTokenSize, необходимо перезагрузить компьютер, чтобы изменение вступает в силу.
Рекомендуемое значение параметра реестра MaxTokenSize — 65535 десятичное или шестнадцатеричное FFFF. Значение MaxTokenSize указывает основных билета Kerberos получать буфер, который содержит идентификаторы SID, представляющие группы, членом которых является учетная запись.

Известные проблемы, которые могут возникнуть

Известные проблемы для размера маркера доступа:

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

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

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

Известные проблемы, связанные с HTTP сервера информации Интернет буфер приема:

Размер буфера ограниченной запрос использует Internet Information Server (IIS) для снижения отказ службы атаки 64 КБ. Тем не менее, билет Kerberos в HTTP-запросе кодировке Base64 (6 бит развернуты восемь бит). Кроме того билет Kerberos используется 133% от исходного размера. Таким образом когда максимальный размер буфера составляет 64 КБ, в службах IIS, может использоваться 48 Кбайт билета Kerberos.

Если запись реестра MaxTokenSize присвоено значение, превышающее 48000 и размер буфера используется для SID, может произойти ошибка IIS. Однако если запись реестра MaxTokenSize 48000, может возникнуть ошибок Kerberos.

Дополнительные сведения о размерах буфера IIS щелкните приведенные ниже номера статей базы знаний Майкрософт:
310156 Как ограничить размер заголовка передачи HTTP, службы IIS принимает от клиента в Windows 2000

920862 Сообщение об ошибке при попытке доступа к почтовому ящику в Exchange Server 2003 пользователя веб-клиента Outlook: «HTTP 400 Ошибочный запрос (слишком длинный заголовок запроса) "

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

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

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

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

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

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

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

Свойства

Код статьи: 327825 - Последний отзыв: 10 октября 2013 г. - Revision: 3.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
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 327825

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

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com