Problemas com a autenticação Kerberos quando um utilizador pertence a quantidade de grupos

Traduções de Artigos Traduções de Artigos
Artigo: 327825 - Ver produtos para os quais este artigo se aplica.
Suporte para Windows Vista Service Pack 1 (SP1) extremidades de 12 de Julho de 2011. Para continuar a receber actualizações de segurança para o Windows, certifique-se de que está a executar o Windows Vista com Service Pack 2 (SP2). Para mais informações, consulte esta página Web da Microsoft: Está a acabar o suporte para algumas versões do Windows.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando um utilizador pertence a quantidade de grupos, esse utilizador poderá ter problemas com a autenticação ou com definições de política de grupo. Os seguintes artigos da Base de dados de conhecimento da Microsoft descrevem estes sintomas em mais detalhe:

269643 A autenticação Kerberos do Internet Explorer não funciona devido a uma memória intermédia insuficiente ligar ao IIS
280380 Exploração de sobrecarga de memória intermédia possível com os procedimentos armazenados estendidos
2020943 Erro "HTTP 400 ? pedido incorrecto (solicitar cabeçalho demasiado longo)" no Internet Information Services (IIS)
A resolução descrita nestes artigos indica-lhe modificar o valor de registo MaxTokenSize. Foi efectuada uma melhoria esta resolução. Se utilizar a correcção descrita neste artigo, poderá não ter que editar o valor de MaxTokenSize predefinido.

A correcção descrita neste artigo substitui as correcções que são descritas nos artigos da Base de dados de conhecimento da Microsoft listados nesta secção.

Causa

O utilizador não consegue autenticar uma vez que o token Kerberos gerado durante as tentativas de autenticação tem um tamanho máximo fixo. Transportes, tais como a chamada de procedimento remoto (RPC) e HTTP dependem do valor de MaxTokenSize quando eles atribuir memórias intermédias para autenticação. No Windows 2000 (a versão original), o valor MaxTokenSize tem de 8.000 bytes. No Windows 2000 Service Pack 2 (SP2) e Windows Server 2003, o valor MaxTokenSize tem 12.000 bytes.

Kerberos utiliza o campo do certificado de atributo de privilégios (PAC) do pacote Kerberos para o transporte membros de grupo do Active Directory. A partir do Windows Server 2012, isto também se aplica ao campo de informações (controlo de acesso dinâmico) de afirmações do Active Directory. Se existirem muitas associações de grupo para o utilizador e, se existirem muitos afirmações para o utilizador ou o dispositivo que está a ser utilizado, estes campos podem ocupar muito espaço no pacote.

Se um utilizador for membro de mais do que 120 grupos, a memória intermédia que é determinada pelo valor MaxTokenSize não é suficientemente grande. Assim, os utilizadores não podem ser autenticados, e poderão receber uma mensagem de erro "memória insuficiente". Antes de aplicar a correcção descrita neste artigo, cada grupo no qual é adicionado a uma conta de utilizador aumenta esta memória intermédia de 40 bytes.

Nota Em vários cenários, a autenticação NTLM do Windows funciona como previsto. Não poderá ver o problema de autenticação de Kerberos sem análise. No entanto, os cenários em que são aplicadas definições de política de grupo poderão não funcionar conforme esperado.

Resolução

ImportantePara resolver este problema, tem de definir o valor de registo MaxTokenSize em todos os computadores envolvidos no processo de autenticação Kerberos. Isto inclui os clientes de SQL Server.(Ou seja, a chave de registo deve ser definido em cada computador que esteja envolvido no fluxo de pedido/resposta. Por conseguinte, se existir um cliente de SQL Server que uma aplicação web servem de base ou se o token do utilizador tem de ser passados para uma base de dados do SQL Server back-end, a chave de registo deve ser definido num computador de cliente do SQL Server, o computador de base de dados do SQL Server e também o computador cliente com o Internet Explorer, servidor web com o que estiver a executar o IISe assim sucessivamente.)

Nota As seguintes versões do Windows incluem uma correcção para este problema:
  • Windows 8
  • Servidor de Windows 2012
  • Windows 7
  • Windows Server 2008 R2
  • Windows Server 2003
  • Windows Vista
  • Windows Server 2008
  • Windows XP Professional

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente do Microsoft Windows 2000. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
260910 Como obter o service pack mais recente do Windows 2000

Informações sobre a correcção

Agora tem uma correcção suportada disponível na Microsoft. Contudo, destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde o próximo service pack do Windows 2000 que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos de normais do suporte serão aplicados a questões de suporte adicional e problemas que se enquadrem na atualização específica em questão.A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador Fuso horário no item Data e hora no painel de controlo.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a". Este problema foi primeiro corrigido no Microsoft Windows 2000 Service Pack 4.

Mais Informação

Token tamanho cálculo Windows 2000 para o Windows Server 2008 R2

Se utilizar a correcção descrita neste artigo, não é necessário que modificar o valor de registo MaxTokenSize na maioria dos casos. No entanto, existem alguns cenários em que é necessário modificar o valor de registo MaxTokenSize depois de aplicar esta correcção. Depois de aplicar esta correcção para todos os controladores de domínio, utilize a seguinte fórmula para determinar se tem de modificar o valor de MaxTokenSize:
TokenSize = 1200 + 40 d + 8s
Esta fórmula utiliza os seguintes valores:
  • d: o número de grupos locais de domínio, que um utilizador for membro de mais o número de grupos universais fora do domínio de conta do utilizador que o utilizador seja membro de mais o número de grupos representados na segurança do histórico de ID (SID).
  • s: o número de grupos globais de segurança que um utilizador for membro de mais o número de grupos universais no domínio de conta de utilizador que o utilizador seja membro de.
  • 1200: o valor estimado para as catenárias de permissão. Este valor pode variar, dependendo de factores como o comprimento do nome de domínio DNS, nome do cliente e outros factores.
Em cenários em que delegação é utilizada (por exemplo, quando os utilizadores autenticados para um controlador de domínio), recomendamos que duplicar o token do tamanho.

Definir a entrada de registo

Se o token do tamanho que é calculada utilizando esta fórmula for inferior a 12.000 bytes (o tamanho predefinido), não é necessário que modificar o valor de registo MaxTokenSize em clientes de domínio. Se o valor for superior a 12.000 bytes, consulte o seguinte artigo da Base de dados de conhecimento da Microsoft para obter uma descrição de como ajustar o valor de registo MaxTokenSize:

263693 Política de grupo não pode ser aplicada a utilizadores que pertencem a quantidade de grupos

Notas
  • Quando altera o valor MaxTokenSize, tem de reiniciar o computador para que a alteração é aplicada.
O valor recomendado para a entrada de registo MaxTokenSize é 65535 decimal ou FFFF hexadecimal. O valor de MaxTokenSize Especifica a memória intermédia que contém os SID que representam os grupos nos quais a conta é um membro de recepção de uma permissão Kerberos fixa.

Para utilizar um tamanho de seguro, pode definir MaxTokenSize para 48000, seguindo o debate sobre uma limitação introduzida pelo tamanho do cabeçalho HTTP deste artigo. Consoante o valor que estiver a utilizar, primeiro detectar um problema com os eventos de erro de Kerberos, ou erros de 400 de HTTP do IIS.

Problemas conhecidos que poderá encontrar

Problemas conhecidos relacionados com o tamanho do Token de acesso:

O serviço de autoridade de segurança Local (LSA) gera o Token de acesso de utilizador a partir desta memória intermédia de SID. O limite codificado de cliente definível SID para este token é 1,015, consulte este artigo BDC:
328889 utilizadores que são membros de mais do que 1,015 grupos poderão falhar a autenticação de início de sessão
http://support.microsoft.com/KB/328889/en-us

Por conseguinte, um valor de MaxTokenSize para SIDs eficaz mais do que 10 15 não é útil. Na seguinte fórmula:
MaxTokenSize = 1200 + 40 d + 8s
40d significa que tem de 40 bytes para um SID de Grupo Local de domínio. 8S significa 8 bytes para um SID de grupo do domínio Global/Universal.

Por conseguinte, se tiver um valor de MaxTokenSize de 0x0000FFFF (64K), poderá conseguir aproximadamente 1600 domínio Local grupo SIDs ou aproximadamente 8000 domínio Global/Universal grupo SIDs de memória intermédia. Se utilizar contas "fidedigno para delegação", o requisito de memória intermédia para cada SID pode ser duplicado. Nestes cenários, só pode armazenar aproximadamente 800 SID do domínio Local grupo quando é utilizado um valor de MaxTokenSize de 64K. No entanto, a ter apenas domínio Local grupo SID não é um cenário típico. Um valor de 64K deverá ser suficiente para cenários de delegação.

Problemas conhecidosQuando utilizar valores de MaxTokenSize maior que 65535

Versões anteriores deste artigo debater os valores de até 100000 bytes por MaxTokenSize. Descobrimos que versões do administrador do SMS têm problemas quando o MaxTokenSize é de 100000 ou maior. Identificámos também que o protocolo IKE do IPSEC não permite um segurança BLOB seja superior a 66536 bytes, e também poderia falhar quando MaxTokenSize está definida para um valor maior.

Memória intermédia de recepção de problemas conhecidos relacionados com o HTTP de servidor de informação Internet

O Internet Information Server (IIS) utiliza um tamanho de memória intermédia do pedido reduzida para atenuar uma negação de vector de ataque do serviço de 64 KB. No entanto, uma permissão Kerberos num pedido de HTTP é codificada como Base64 (expandido bits seis a oito bits). Além disso, e o recibo Kerberos está a utilizar por cento de 133 do respectivo tamanho original. Por conseguinte, quando o tamanho máximo da memória intermédia é 64 KB no IIS, 48 KB de uma permissão Kerberos pode ser utilizado.

Se definir a entrada de registo MaxTokenSize para um valor que for maior do que 48000 e o espaço de memória intermédia é utilizado para SIDs, poderá ocorrer um erro IIS. No entanto, se definir a entrada de registo MaxTokenSize como 48000, poderá ocorrer um erro de Kerberos.

Para mais informações sobre tamanhos de memória intermédia do IIS, clique nos números de artigo seguinte para visualizar os artigos na Microsoft Knowledge Base:
310156 Como limitar o tamanho do cabeçalho da transmissão HTTP que aceita IIS de um cliente no Windows 2000

920862 Mensagem de erro quando um utilizador do Outlook Web Access tenta aceder uma caixa de correio no Exchange Server 2003: "HTTP 400 pedido incorrecto (cabeçalho de pedido demasiado longo)"

Alterações de 2012 do servidor de Windows

Windows Server 2012 introduzidas as seguintes alterações para as considerações sobre esta memória intermédia:
  • A predefinição para MaxTokenSize altera para 48.000 bytes.
  • Existe um novo esquema de compressão de sids o carvão activado em pó
  • Controlo de acesso dinâmico adiciona o Active Directory afirmações para o "ticket". Por conseguinte, calcular os tamanhos de permissão esperado já não é muito simples. A expectativa é que os bilhetes emitidos pelos controladores de domínio do Windows Server 2012 são mais pequenas que bilhetes mesmos que são emitidos a partir de versões mais antigas do sistema operativo. Adicionar afirmações para o tamanho da senha. No entanto, depois de servidores de ficheiros do Windows Server 2012 estiverem a utilizar afirmações amplamente, pode esperar a eliminar progressivamente um número significativo de grupos que controlam o acesso de ficheiro para cortar tamanhos de permissão.

Para mais informações sobre alterações de 2012 do servidor de Windows, vá para o seguinte Web site da Microsoft TechNet:
http://technet.microsoft.com/en-us/library/hh831717.aspx

Exemplos de problemas quando for excedido o tamanho da senha

Para mais informações, clique nos números de artigo seguinte para visualizar os artigos na Microsoft Knowledge Base:
277741 Início de sessão do Internet Explorer falha devido a uma memória intermédia insuficiente para Kerberos
313661 Mensagem de erro: "O tempo de espera expirou" ocorre quando ligar ao SQL Server através de TCP/IP e o Kerberos MaxTokenSize é superior a 0xFFFF

Porque pode ter cenários de domínios de início de sessão na sua floresta, o valor deve ser definido a toda a floresta em todos os sistemas baseados no Windows. Por conseguinte, recomendamos que o valor máximo para o valor MaxTokenSize ser 64K.

Importante Nos clientes de SQL Server, poderá receber a seguinte mensagem de erro quando este problema ocorre:
Não é possível gerar contexto SSPI
Para resolver este problema, tem de definir o valor de registo MaxTokenSize em todos os computadores envolvidos no processo de autenticação Kerberos. Isto inclui os clientes de SQL Server.

Propriedades

Artigo: 327825 - Última revisão: 13 de junho de 2014 - Revisão: 4.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows XP Professional Edition
  • 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 Enterprise
  • Windows 7 Professional
  • Windows 7 Ultimate
  • 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 Edition (64-Bit x86)
  • Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
  • Microsoft Windows Server 2003 R2 Enterprise Edition (64-Bit x86)
  • Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003 R2 Standard Edition (64-Bit x86)
  • Windows 8.1 Enterprise
  • Windows 8.1 Pro
  • Windows Server 2012 R2 Datacenter
  • Windows Server 2012 R2 Essentials
  • Windows Server 2012 R2 Foundation
  • Windows Server 2012 R2 Standard
Palavras-chave: 
kbqfe kbhotfixserver kbsecurity kbwin2ksp4fix kbbug kbfix kbwin2000presp3fix kbwin2000presp4fix kbmt KB327825 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 327825

Submeter comentários

 

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