Artigo: 327825 - Última revisão: quarta-feira, 19 de Maio de 2010 - Revisão: 13.0

Nova resolução de problemas com a autenticação Kerberos quando os utilizadores pertencem a quantidade de grupos

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

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

269643  (http://support.microsoft.com/kb/269643/ ) Internet Explorer A autenticação Kerberos não funciona de uma memória intermédia insuficiente ligar ao IIS
280380  (http://support.microsoft.com/kb/280380/ ) Exploração de sobrecarga da memória intermédia possível com os procedimentos armazenados estendidos
A resolução existente que está descrita nestes artigos indica ao modificar o valor de registo MaxTokenSize. Foi efectuada uma melhoria esta resolução. Se utilizar a correcção descrita neste artigo, não poderá ter de 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 listados nesta secção.

Causa

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

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. Como resultado, os utilizadores não podem ser autenticados, e poderão receber uma mensagem de erro "memória esgotada". Antes de aplicar a correcção descrita neste artigo, cada grupo no qual é adicionado a uma conta de utilizador aumenta a esta memória intermédia por 40 bytes.

Nota: em vários cenários, o Windows NTLM autenticação funciona conforme esperado; poderá não detectar o problema de autenticação Kerberos sem análise. No entanto, os cenários em que as definições de política de grupo são aplicadas poderão não funcionar conforme esperado.

Resolução

Nota Windows Server 2003, Windows Vista, Windows Server 2008 e Windows XP Professional incluem uma correcção para este problema.

Informações sobre o Service pack

Para resolver este problema, obtenha o service pack mais recente para o Microsoft Windows 2000. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
260910  (http://support.microsoft.com/kb/260910/ ) Como obter o service pack mais recente do Windows 2000

Informações sobre a correcção

Tem já disponível na Microsoft uma correcção suportada. Contudo, destina-se 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 (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 normais do suporte serão aplicados a perguntas de suporte adicionais e problemas que não 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 indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, são convertida 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.
   Date         Time    Version         Size      File name
    -------------------------------------------------------- 
   26-Sep-2002  11:39   5.0.2195.6069   124,176   Adsldp.dll 
   26-Sep-2002  11:39   5.0.2195.5781   131,344   Adsldpc.dll 
   26-Sep-2002  11:39   5.0.2195.5781    62,736   Adsmsext.dll 
   26-Sep-2002  11:39   5.0.2195.6052   358,160   Advapi32.dll 
   26-Sep-2002  11:39   5.0.2195.6058    49,424   Browser.dll 
   26-Sep-2002  11:39   5.0.2195.6012   135,952   Dnsapi.dll 
   26-Sep-2002  11:39   5.0.2195.6012    96,016   Dnsrslvr.dll 
   26-Sep-2002  11:39   5.0.2195.5722    45,328   Eventlog.dll 
   26-Sep-2002  11:39   5.0.2195.6059   146,704   Kdcsvc.dll 
   05-Sep-2002  14:18   5.0.2195.6048   200,976   Kerberos.dll 
   21-Aug-2002  05:27   5.0.2195.6023    71,248   Ksecdd.sys 
   25-Sep-2002  15:01   5.0.2195.6072   507,664   Lsasrv.dll 
   25-Sep-2002  15:01   5.0.2195.6072    33,552   Lsass.exe 
   27-Aug-2002  11:53   5.0.2195.6034   108,816   Msv1_0.dll 
   26-Sep-2002  11:39   5.0.2195.5979   307,472   Netapi32.dll 
   26-Sep-2002  11:39   5.0.2195.5966   360,720   Netlogon.dll 
   26-Sep-2002  11:39   5.0.2195.6048   918,800   Ntdsa.dll 
   26-Sep-2002  11:39   5.0.2195.6025   389,392   Samsrv.dll 
   26-Sep-2002  11:39   5.0.2195.5951   129,296   Scecli.dll 
   26-Sep-2002  11:39   5.0.2195.5951   302,864   Scesrv.dll 
   26-Sep-2002  11:39   5.0.2195.5859    48,912   W32time.dll 
   04-Jun-2002  10:32   5.0.2195.5859    57,104   W32tm.exe 
   26-Sep-2002  11:39   5.0.2195.6052   126,224   Wldap32.dll

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 corrigido pela primeira vez no Microsoft Windows 2000 Service Pack 4.

Mais Informação

Anteriormente, se os utilizadores detectou este problema, tinha de ajustar o valor de Kerberos MaxTokenSize para retomar as operações. Para resolver este problema, tinha de actualizar este valor em todas as estações de trabalho do domínio.

Se utilizar a correcção descrita neste artigo, não é necessário modificar o valor de registo MaxTokenSize na maior parte 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 todos os controladores de domínio, utilize a seguinte fórmula para determinar se precisa 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 mais o número de grupos representado em segurança o histórico 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 da conta do utilizador.
  • 1200: O valor estimado de sobrecarga de permissão. Este valor pode variar dependendo de factores tais como o comprimento do nome de domínio DNS, nome do cliente e outros factores.
Em cenários em que é utilizada delegação (por exemplo, quando os utilizadores autenticados num controlador de domínio), a Microsoft recomenda que duas vezes o tamanho do token.

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

263693  (http://support.microsoft.com/kb/263693/ ) A política de grupo não pode ser aplicada a utilizadores pertencentes a vários grupos
Para obter mais informações sobre como obter uma correcção para o Windows 2000 Datacenter Server, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
265173  (http://support.microsoft.com/kb/265173/ ) O Produto programa Datacenter e o Windows 2000 Datacenter Server
Notas
  • Quando altera MaxTokenSize, tem de reiniciar o computador para que a alteração seja eficaz.
  • O valor máximo recomendado é de 65535 decimal ou FFFF hexadecimal. O valor de MaxTokenSize Especifica uma permissão Kerberos fixa recebem da memória intermédia que contém os SID que representam os grupos dos quais a conta é membro. Mais tarde, o serviço de autoridade de segurança local (LSA) gera o token desta memória intermédia SID. O limite codificados de cliente definível SID para este token é 1,015. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
    328889  (http://support.microsoft.com/kb/328889/ ) Utilizadores que são membros de 1,015 mais do que grupos podem haver falha na autenticação de início de sessão
Por conseguinte, um valor de MaxTokenSize de SID eficaz 1015 mais do que não é útil. Na seguinte fórmula:
MaxTokenSize = 1200 + 40 d + 8s
40 d significa que tem tem 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 (64 K), poderá aproximadamente 1600 domínio local grupo SID ou aproximadamente 8000 domínio global/universal grupo SID de memória intermédia. Se utilizar contas "fidedigno para delegação", os requisitos de memória intermédia para cada SID podem ser duplicado. Nestes cenários, pode armazenar apenas cerca de 800 Domain SID de grupo local quando é utilizado um valor de MaxTokenSize de 64 K. No entanto, ter apenas domínio local grupo SID não é um cenário realista. Um valor de 64 K deve ser suficiente para cenários de delegação. Além disso, as aplicações poderão ter problemas se numa memória intermédia de tamanho token contiver mais do que 64 K.

Para obter mais informações, clique nos números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
277741  (http://support.microsoft.com/kb/277741/ ) Início de sessão do Internet Explorer falha devido a uma memória intermédia insuficiente para Kerberos
313661  (http://support.microsoft.com/kb/313661/ ) Mensagem de erro: "O tempo de espera expirou" ocorre quando liga ao SQL Server através de TCP/IP e MaxTokenSize o Kerberos for superior a 0xFFFF

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

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 para todos os computadores envolvidos no processo de autenticação Kerberos, incluindo os clientes de SQL Server.

A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Advanced Server SP3
  • Microsoft Windows 2000 Professional SP1
  • Microsoft Windows 2000 Professional SP2
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Professional 64-Bit Edition (Itanium)
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003 R2 Datacenter Edition (64-Bit x86)
  • Microsoft Windows Server 2003 R2 Enterprise Edition (64-Bit x86)
  • Microsoft Windows Server 2003 R2 Standard Edition (64-Bit x86)
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Ultimate
  • Windows Vista Business 64-bit edition
  • Windows Server 2008 Datacenter without Hyper-V
  • Windows Server 2008 Enterprise without Hyper-V
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 Standard without Hyper-V
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Web Server 2008
Palavras-chave: 
kbmt kbqfe kbhotfixserver kbsecurity kbwin2ksp4fix kbbug kbfix kbwin2000presp3fix kbwin2000presp4fix KB327825 KbMtpt
Tradução automáticaTraduçã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  (http://support.microsoft.com/kb/327825/en-us/ )