Поделиться через


Ведение журнала в учетной записи пользователя, являющейся членом более 1010 групп, может завершиться сбоем на компьютере под управлением Windows Server.

В этой статье рассматривается проблема, из-за которой ведение журнала в учетной записи пользователя, являющейся членом более 1010 групп, завершается сбоем.

Область применения: Windows Server 2016, Windows Server 2019, Windows Server 2022, Windows Server 2025
Исходный номер базы знаний: 328889

Симптомы

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

Сообщение входа: система не может войти в систему из-за следующей ошибки: во время попытки входа в систему контекст безопасности пользователя накапливался слишком много идентификаторов безопасности. Повторите попытку или обратитесь к системным администраторам.

Проблема возникает, когда пользователь входа является явным или транзитивным членом около 1010 или более групп безопасности.

Приложения и идентификатор журнала событий безопасности 4625 могут отобразить следующий код ошибки:

0xc000015a

Ошибка STATUS_TOO_MANY_CONTEXT_IDS.

Причина

Когда пользователь входит на компьютер, локальный центр безопасности (LSA, часть подсистемы локального центра безопасности) создает маркер доступа. Маркер представляет контекст безопасности пользователя. Маркер доступа состоит из уникальных идентификаторов безопасности (SID) для каждой группы, в которую входит пользователь. Эти идентификаторы безопасности включают транзитивные группы и значения идентификаторов безопасности из SIDHistory пользователя и учетных записей групп.

Массив, содержащий идентификаторы идентификаторов членства в группах пользователя в маркере доступа, может содержать не более 1024 ИДЕНТИФИКАТОРов. LSA не может удалить идентификатор безопасности из маркера. Таким образом, если есть больше идентификаторов безопасности, LSA не сможет создать маркер доступа, и пользователь не сможет войти в систему.

При построении списка ИДЕНТИФИКАТОРов LSA также вставляет несколько универсальных известных идентификаторов SID помимо идентификаторов SID для членства в группах пользователя (вычисляется транзитивно). Таким образом, если пользователь является членом более 1010 пользовательских групп безопасности, общее количество идентификаторов безопасности может превышать ограничение на 1024 SID.

Внимание

  • Маркеры для учетных записей администратора и неадминистратора подлежат ограничению.
  • Точное количество пользовательских идентификаторов SID зависит от типа входа (например, интерактивной, службы, сети) и версии операционной системы контроллера домена и компьютера, создающего маркер.
  • Использование Kerberos или NTLM в качестве протокола проверки подлинности не имеет никакого отношения к ограничению маркера доступа.
  • Параметр клиента Kerberos MaxTokenSize рассматривается в разделе "Проблемы с проверкой подлинности Kerberos", когда пользователь принадлежит многим группам. Маркер в контексте Kerberos ссылается на буфер для билетов, полученных узлом Windows Kerberos. В зависимости от размера билета тип siD и включена ли сжатие идентификаторов безопасности, буфер может содержать меньше или много идентификаторов SID, чем в маркер доступа.

Список пользовательских идентификаторов SID будет включать:

  • Основные идентификаторы идентификаторов пользователя или компьютера и групп безопасности, в которые входит учетная запись.
  • Идентификаторы идентификаторов в атрибуте SIDHistory групп в области входа.

Так как атрибут SIDHistory может содержать несколько значений, ограничение в 1024 SID можно быстро достичь, если учетные записи переносятся несколько раз. Число идентификаторов идентификаторов в маркере доступа будет меньше общего числа групп, в которых пользователь входит в следующую ситуацию:

  • Пользователь находится из доверенного домена, в котором отфильтровываются идентификаторы SIDHistory и SID.
  • Пользователь находится из доверенного домена в доверии, где идентификаторы SID помещаются в карантин. Затем включены только идентификаторы SID из того же домена, что и пользователь.
  • Включены только идентификаторы локальных групп домена из домена ресурса.
  • Включены только идентификаторы локальных групп сервера с сервера ресурсов.

Из-за этих различий пользователь может войти на компьютер в одном домене, но не на компьютер в другом домене. Пользователь также может войти на один сервер в домене, но не на другой сервер в том же домене.

Вы можете узнать о членстве в группах доменов затронутого пользователя с ПОМОЩЬЮ NTDSUTIL. Он имеет средство оценки членства в группах, которое также работает через границы лесов. Средство также работает для следующих пользователей:

  • пользователи, которые значительно выше предела 1024 SID
  • пользователи, которые находятся в так много групп, что Kerberos завершает извлечение билетов даже с 6555 535 байт буфера

Выполните следующие действия:

  1. Откройте командную строку на компьютере с инструментами управления AD (контроллер домена или компьютер с RSAT).

  2. Перейдите к средству gro mem eva и получите доступные команды, как показано на следующем снимках экрана:

    Снимок экрана: выходные данные после выполнения команды gro mem eva.

  3. Подключитесь к контроллерам домена, необходимым для оценки:

    • Настройка контроллера домена учетной записи %s — контроллер домена пользователя
    • Установка глобального каталога %s — GC леса пользователя
    • Установка контроллера домена ресурса %s — контроллер домена ресурса
    • При необходимости задайте учетные данные или подробные журналы, если результаты кажутся неверными или коллекция завершается ошибкой.
  4. Выполните оценку следующим образом (например, для администратора):contoso.com

    Run contoso.com Admin

  5. Выполнение собирает сведения о пользователе в шагах 1–2, сведения о группе домена ресурсов на шаге 3, а затем компилируют отчет на шагах 4 и 5.

  6. Результаты будут храниться в TSV-файле в текущем каталоге, как показано на следующем снимке экрана:

    Снимок экрана: результаты будут храниться в файле TSV в текущем каталоге.

См. следующее руководство по чтению файла TSV:

  • Тип SID: указывает, является ли он основным идентификатором безопасности группы или пользователя или SIDHistory.
  • Число журналов sid: сколько идентификаторов безопасности из SIDHistory представляет эта учетная запись?
  • Число элементов одного уровня: сколько идентификаторов SID добавляется в коллекцию на одном уровне (член записей)?
  • Общее число участников: сколько идентификаторов SID добавляется в коллекцию в общей сложности?
  • Владелец группы. Для сред, которым делегировано управление группами, можно получить подсказки о том, как использовать слишком много групп для атаки на вход пользователей.
  • Тип группы: тип sid. WellKnown, идентификатор безопасности пользователя, глобальные и универсальные группы безопасности будут находиться во всех маркерах, созданных для этого пользователя. Локальная группа безопасности домена будет находиться только в этом домене ресурса. Это может быть важно, если у пользователя возникли проблемы с входом только в определенный домен ресурсов.
  • Участник WhenChanged (UTC): последнее изменение членства в группе. Это может помочь сопоставить время, когда пользователи впервые сообщили о проблемах входа.

Подсказки для поиска групп, предназначенных для изменения:

  • Группы, имеющие SIDHistory, имеют хорошее использование, помогающее сократить количество идентификаторов безопасности.

  • Группы, которые вводятся во многих других группах через вложение, имеют большое значение для уменьшения количества идентификаторов безопасности.

  • Найдите подсказки в имени группы, чтобы определить, может ли группа больше не использоваться. Например, у нас был клиент, имеющий группу для каждого приложения в решении развертывания программного обеспечения. Мы обнаружили группы, содержащие office2000 или access2000.

  • Передайте отчет списка групп администраторам службы и приложений. Определите группы, которые больше не нужны, возможно, только для этого пользователя в этом подразделении или отделе.

Ограничения:

  • Средство не включает некоторые специальные или специальные идентификаторы SID WellKnown, перечисленные ниже в этой статье. Поэтому помните, что пользователю необходимо очистить несколько идентификаторов SID от 1024 в отчете, прежде чем он сможет успешно войти в систему.

  • Средство также не охватывает локальные группы сервера. Если у вас возникли проблемы только на определенных серверах домена ресурсов, возможно, пользователь или часть ее группы входят в локальные группы сервера.

Чтобы получить список локальных групп сервера и его членов:

Примечание.

Запустите от имени администратора в командной строке с повышенными привилегиями.

Net localgroup | findstr * > %computername%-grouplist.txt

Чтобы получить список участников из домена, выполните указанные ниже действия.

Md server-groups

For /f "delims=*" %d in (%computername%-grouplist.txt) do Net localgroup %d | findstr \ > server-groups\%d-domain-memberlist.txt**

Смешивайте и сопоставляйте группы, сообщаемые там с отчетом пользователя из NTDSUTIL.

Решение

Чтобы устранить эту проблему, используйте один из следующих методов, как это подходит для вашей ситуации.

Метод 1

Это решение относится к следующей ситуации:

  • Пользователь, который сталкивается с ошибкой входа, не является администратором.
  • Администраторы могут успешно войти на компьютер или домен.

Это разрешение должно выполняться администратором, у которого есть разрешения на изменение членства в группах пользователя. Администратор должен изменить членство в группах пользователя, чтобы убедиться, что пользователь больше не является членом более 1010 групп безопасности. Рассмотрим транзитивное членство в группах и членство в локальных группах.

Ниже приведены варианты уменьшения числа идентификаторов SID в маркере пользователя. Сбор данных из NTDSUTIL должен помочь вам увидеть, какие группы находятся в области изменения или удаления:

  • Удалите пользователя из достаточного количества групп безопасности.

  • Преобразуйте неиспользуемые группы безопасности в группы рассылки. Группы рассылки не учитывают ограничение маркера доступа. Группы рассылки можно преобразовать обратно в группы безопасности, если требуется преобразованная группа.

  • Определите, зависят ли субъекты безопасности от журнала безопасности для доступа к ресурсам. В противном случае удалите атрибут SIDHistory из этих учетных записей. Значение атрибута можно получить с помощью авторитетного восстановления.

Примечание.

Хотя максимальное число групп безопасности, которые пользователь может быть членом, равно 1024, рекомендуется ограничить число менее 1010. Это число гарантирует, что создание маркеров всегда будет успешным, так как оно предоставляет пространство для универсальных идентификаторов SID, вставленных LSA.

Метод 2.

Решение относится к ситуации, в которой учетная запись администратора не может войти на компьютер.

Если пользователь, вход которого завершается сбоем из-за слишком большого количества членства в группах "Администраторы", администратор, имеющий учетные данные учетной записи администратора (то есть учетная запись с известным относительным идентификатором [RID] 500), должен перезапустить контроллер домена, выбрав параметр запуска безопасного режима (или выбрав безопасный режим с параметром запуска сети). В безопасном режиме администратор должен войти в контроллер домена с помощью учетных данных учетной записи администратора.

Сведения о локальном перезапуске контроллера домена в режиме восстановления служб каталогов

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

Такие группы обычно включают:

  • Все (S-1-1-0)
  • BUILDIN\Users (S-1-5-32-545)
  • BUILDIN\Administrators (S-1-5-32-544)
  • NT AUTHORITY\INTERACTIVE (S-1-5-4)
  • NT AUTHORITY\Authenticationd Users (S-1-5-11)
  • LOCAL (S-1-2-0)
  • Домен\Доменные пользователи (S-1-5-21-xxxx-y-zzzzzz-513)
  • Домен\Администраторы домена (S-1-5-21-xxxx-y-zzzzzz-512)
  • BUILDIN\Pre-Windows 2000 Совместимый access(S-1-5-32-554), если все являются членом этой группы
  • NT AUTHORITY\This Organization (S-1-5-15), если контроллер домена работает под управлением Windows Server 2003

Примечание.

Если используется параметр запуска в безопасном режиме, Пользователи и компьютеры Active Directory пользовательский интерфейс (пользовательский интерфейс) недоступен. В Windows Server администратор может также войти в систему, выбрав безопасный режим с параметром запуска сети. В этом режиме доступен Пользователи и компьютеры Active Directory пользовательский интерфейс оснастки.

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

После внесения этого изменения пользователи должны успешно войти в систему после истечения периода времени, равного задержке репликации домена.

Метод 3

Этот вариант имеет большую привлекательность, если у вас есть множество групп, которые создаются для предоставления доступа к ресурсам, используемым на определенном наборе серверов, и они не относятся ко многим другим серверам. Маркер доступа пользователей всегда содержит идентификаторы идентификаторов пользователей, глобальных и универсальных групп. Однако он содержит только идентификаторы идентификаторов локальных доменных групп домена, на которых находятся серверы ресурсов. Таким образом, из 600 групп, из которых пользователь входит, 400 помогает предоставить доступ к ресурсам файлового сервера на двух группах серверов, а затем следующие идеи могут оказаться возможными:

  • Разбиение серверов на несколько групп по количеству локальных групп домена.
  • Вместо одного домена ресурсов с всеми группами и серверами есть несколько доменов, в которых определены только группы, содержащие нужные серверы.
  • У вас есть отдельный домен для серверов с небольшой потребностью в локальных группах домена. Одним из примеров может быть сервер Exchange, так как Exchange имеет строгое предпочтение для универсальных групп.

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

Универсальные идентификаторы идентификаторов учетной записи часто включают:

  • Все (S-1-1-0)
  • BUILDIN\Users (S-1-5-32-545)
  • BUILDIN\Administrators (S-1-5-32-544)
  • NT AUTHORITY\Authenticationd Users (S-1-5-11)
  • Идентификатор сеанса входа (S-1-5-5-X-Y)
  • BUILDIN\Pre-Windows 2000 Compatible Access(S-1-5-32-554), если пользователь является членом этой группы (вложено)

Внимание

Средство Whoami часто используется для проверки маркеров доступа. Это средство не отображает идентификатор безопасности сеанса входа.

Примеры для идентификаторов БЕЗОПАСНОСТИ в зависимости от типа сеанса входа:

  • LOCAL (S-1-2-0)
  • ВХОД В КОНСОЛЬ (S-1-2-1)
  • NT AUTHORITY\NETWORK (S-1-5-2)
  • NT AUTHORITY\SERVICE (S-1-5-6)
  • NT AUTHORITY\INTERACTIVE (S-1-5-4)
  • NT AUTHORITY\TERMINAL SERVER USER (S-1-5-13)
  • NT AUTHORITY\BATCH (S-1-5-3)

ИДЕНТИФИКАТОРы для часто используемых первичных групп:

  • Доменные компьютеры (S-1-5-21-xxxx-y-zzzzzz-515)
  • Домен\Доменные пользователи (S-1-5-21-xxxx-y-zzzzzz-513)
  • Домен\Администраторы домена (S-1-5-21-xxxx-y-zzzzzz-512)

ИДЕНТИФИКАТОРы, которые документируют, как проверен сеанс входа в систему, одно из следующих значений:

  • Утверждение удостоверения центра проверки подлинности (S-1-18-1)
  • Подтверждение удостоверения службы (S-1-18-2)

ИДЕНТИФИКАТОРы, которые предоставляют сведения о контексте маркера и сведениях о утверждении, несколько возможных:

  • Утверждения устройства, используемые (S-1-5-21-0-0-0-496)
  • Используемые утверждения пользователей (S-1-5-21-0-0-0-497)
  • Сертификат организации (S-1-5-65-1)
  • Токен был создан с помощью проверенного удостоверения PKI (S-1-18-4)
  • Токен был создан с помощью подхода MFA (S-1-18-5)
  • Credential Guard использовался (S-1-18-6)

ИДЕНТИФИКАТОРы, описывающие уровень согласованности маркера, наиболее распространенные примеры:

  • Средний обязательный уровень (S-1-16-8192)
  • Высокий обязательный уровень (S-1-16-122888)

Маркер доступа включает идентификатор безопасности относительно источника пользователя или компьютера, одно из следующих значений:

  • NT AUTHORITY\OTHER_ORGANIZATION (S-1-5-1000)
  • NT AUTHORITY\This Organization (S-1-5-15), если учетная запись находится из того же леса, что и компьютер.

Примечание.

  • Как можно увидеть с заметкой на идентификаторе БЕЗОПАСНОСТИ для входа в сеанс входа, не подсчитывайте идентификаторы SID в списке выходных данных средства и предполагайте, что они завершены для всех целевых компьютеров и типов входа. Следует учитывать, что учетная запись находится в опасности, если она имеет более 1000 ИДЕНТИФИКАТОРов. Не забывайте, что в зависимости от компьютера, в котором создается маркер, можно также добавить локальные группы сервера или рабочей станции.
  • xxxxxx-y-zzzzzz указывает на компоненты домена или рабочей станции безопасности.

В следующем примере показано, какие локальные группы безопасности домена будут отображаться в маркере пользователя при входе пользователя на компьютер в домене.

В этом примере предположим, что Джо принадлежит домену A и является членом локальной группы домена A\Chicago Users. Джо также является членом локальной группы домена B\Chicago Users. Когда Джо входит на компьютер, принадлежащий домену A (например, Domain A\Workstation1), маркер создается для Джо на компьютере, а маркер содержит, помимо всех членства в универсальных и глобальных группах, идентификатор безопасности для доменов A\Chicago Users. Он не будет содержать идентификатор безопасности для доменных пользователей B\Chicago, так как компьютер, на котором Джо вошел в систему (домен A\Workstation1) принадлежит домену A.

Аналогичным образом, когда Джо входит на компьютер, принадлежащий домену B (например, Domain B \Workstation1), маркер создается для Джо на компьютере, а маркер содержит, помимо всех универсальных и глобальных членства в группах, sid for Domain B\Chicago Users; он не будет содержать идентификатор безопасности для домена A\Chicago Users, так как компьютер, на котором джо вошел в систему (домен B\Workstation1) принадлежит домену B.

Однако, когда Джо входит на компьютер, принадлежащий домену C (например, Domain C \Workstation1), маркер создается для Джо на компьютере входа, который содержит все универсальные и глобальные членства в группах для учетной записи пользователя Джо. Ни идентификатор безопасности для домена A\Chicago Users, ни идентификатор безопасности домена B\Chicago Users не отображается в маркере, так как локальные группы домена, которые Джо является членом домена, находятся в другом домене, чем компьютер, в котором Джо вошел в систему (домен C\Workstation1). И наоборот, если Джо был членом определенной локальной группы домена, которая принадлежит домену C (например, Домен C\Чикаго Users), маркер, созданный для Джо на компьютере, будет содержать, помимо всех универсальных и глобальных членства в группах, sid for Domain C\Chicago Users.

Ссылки