Artigo: 326985 - Última revisão: segunda-feira, 23 de Abril de 2007 - Revisão: 12.1

Como resolver problemas relacionados com Kerberos no IIS

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

Sumário

Este artigo descreve como resolver problemas de Kerberos autenticação em servidores de serviços de informação Internet (IIS). Não é um guia completo, mas tem muitas referências que podem ajudar a resolver a maior parte dos problemas de Kerberos que poderá detectar.

Por predefinição, quando instala o IIS num servidor Microsoft Windows 2000, a chave de NTAuthenticationProviders na metabase é definida para Negociar, NTLM . Isto significa que quando um Microsoft Internet Explorer 5.0 ou posterior cliente estabelece ligação com o Web site, o IIS devolve estes dois valores no cabeçalho WWW-Authenticate . Quando esta situação ocorre, o cliente determina o método de autenticação podem ligar com. Se o cliente decidir ligar utilizando o método de Negotiate , o cliente negocia com o servidor para determinar se a utilizar Kerberos ou NTLM para autenticação. Se o cliente não suporta o método de Negotiate , o cliente utiliza NTLM para autenticação.

Note que se trata de uma descrição muito geral de como funciona este processo. Muitos outros itens que não poderá notar também ocorrem quando Kerberos está envolvido.

Se o cliente do Internet Explorer pode ligar utilizando o protocolo Kerberos, algumas verificações de segurança adicionais são executadas. Por exemplo, o cliente poderá obter uma permissão de permissão conceder Service (TGS) e, em seguida, utilizar essa permissão para autenticar.

Para obter mais informações sobre como funciona este processo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
217098  (http://support.microsoft.com/kb/217098/ ) Descrição geral básica do Kerberos autenticação no Windows 2000
Para mais informações, visite o seguinte Web site da Microsoft:
Autenticação http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/default.mspx?mfr=true (http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/default.mspx?mfr=true)
Deve estar familiarizado com estas referências para resolução de problemas relacionados com Kerberos.

Nota Se tiver recentemente actualizado para o Internet Explorer 6.0, poderá detectar problemas de Kerberos uma vez que a caixa de verificação Activar autenticação integrada do Windows não está seleccionada por predefinição. Para obter mais informações sobre como tornar-se de que esta opção está definida correctamente, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
299838  (http://support.microsoft.com/kb/299838/ ) Não é possível negociar a autenticação Kerberos depois de actualizar para o Internet Explorer 6

Verifique se os métodos de autenticação

Certifique-se que os métodos de autenticação correctos estão listados na metabase para o servidor de IIS ou Web site específico. Se o servidor foi actualizado a partir do Microsoft Windows NT 4.0 para Windows 2000, o método de autenticação Negotiate não está disponível e tem de adicioná-lo manualmente. Se não tiver actualizado a partir do Windows NT 4.0 para o Windows 2000, certifique-se de que existem os métodos de autenticação adequado. Para mais informações sobre como verificar se a negociar o método de autenticação está disponível e adicione o método se estiver em falta, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
248350  (http://support.microsoft.com/kb/248350/ ) A autenticação Kerberos falha depois de actualizar a partir do IIS 4.0 para o IIS 5.0
Repare que pode definir este método de autenticação ao nível do Web site e não para o servidor IIS completo. Para o fazer, utilize o script Adsutil.vbs para adicionar o número do Web site. Por exemplo, para definir o método de autenticação apenas para o Web site predefinido, utilize o seguinte comando:

cscript adsutil.vbs set w3svc/1/NTAuthenticationProviders "Negotiate, NTLM"
1 Após "w3svc" é o número de Web site como listado no Internet Services Gestor (ISM Manager).

Determinar o nome do servidor

Em seguida, determine se que está a ligar o Web site utilizando o nome de NetBIOS real do servidor ou um nome de alias, tal como um DNS nome (por exemplo, www.microsoft.com). Se o servidor Web estão a aceder a utilizando um nome diferente do nome real do servidor, um novo nome principal do serviço (SPN) deve ter sido registado, utilizando a ferramenta Setspn a partir do Windows 2000 Server Resource Kit. Uma vez que Active Directory não sabe este nome de serviço, o TGS não lhe concede uma permissão para autenticar o utilizador. Isto obriga o cliente para utilizar o seguinte método de autenticação disponíveis, que é NTLM, para renegociar. Se o servidor Web está a responder para um nome de sistema de nomes de domínio (DNS, Domain Name System) da www.microsoft.com, mas o servidor ou servidores são denominados webserver1.development.microsoft.com, terá de registar www.microsoft.com no Active Directory em cada servidor de IIS. Para efectuar este procedimento, tem de transferir o Setspn utilitário e instalá-lo no servidor de IIS.

Para mais informações sobre como transferir o utilitário Setspn, visite o seguinte Web site da Microsoft:
Setspn.exehttp://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&DisplayLang=en (http://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&DisplayLang=en) para determinar se está a ligar utilizando o nome real, tente ligar ao servidor utilizando o respectivo nome real em vez do nome de DNS. Se não conseguir ligar ao servidor, vá para a secção Verify the Computer Is Trusted for Delegation. Se conseguir ligar ao servidor, siga estes passos para definir um SPN para o nome de DNS que estiver a utilizar para ligar ao servidor:
  1. Instale o utilitário Setspn.
  2. No servidor de IIS, abra uma linha de comandos e, em seguida, altere o directório C:\Program Files\Resource Kit.
  3. Execute o seguinte comando para adicionar este novo SPN (www.microsoft.com) no Active Directory para o servidor, onde servidorweb1 é o nome NetBIOS do servidor:
    Setspn - A HTTP/www.microsoft.com servidorweb1
    Receber saída semelhante ao seguinte:
    Registering ServicePrincipalNames for CN=webserver1,OU=Domain Controllers,DC=microsoft,DC=com
    HTTP/www.microsoft.com
    Updated object
    							
  4. Para ver uma lista de SPN no servidor para ver este novo valor, escreva o seguinte no servidor de IIS: Setspn -L webservername
Tenha em atenção que não é necessário registar todos os serviços. Muitos tipos de serviço, tais como HTTP, W3SVC, WWW, RPC, CIFS (acesso a ficheiros), WINS e fornecimento de energia sem interrupção (UPS) irão mapear para um tipo de serviço predefinido com o nome HOST. Por exemplo, se o software de cliente utiliza um SPN de HTTP/webserver1.microsoft.com para efectuar uma ligação HTTP ao servidor Web no servidor webserver1.microsoft.com, mas este SPN não está registado no servidor, o controlador de domínio do Windows 2000 irá automaticamente mapeá-lo para HOST/webserver1.microsoft.com. Este mapeamento só se aplica se o serviço Web está a ser executado sob a conta sistema local.

importante Se for o SPN que pretende registar para a conta de computador (o site de Web está a executar sob a conta LocalSystem ou NetworkService), que não terá de alterar os SPN do computador existentes. Em vez disso, apenas adicione o novo SPN de HTTP. Se o nome do Web site corresponde ao nome anfitrião, sem alterar os SPN é necessária. Se o padrão de nomes HOST / Server e HOST / ServerFQDN estão em falta, deve investigar os problemas com o serviço Netlogon no servidor quando regista os SPN necessários. Deverá receber mensagens de erro no ficheiro de registo quando activa o registo do serviço. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
109626  (http://support.microsoft.com/kb/109626/ ) Activar registo de depuração para o serviço de início de sessão de rede
Também deverá receber eventos Netlogon no registo de eventos do sistema sobre erros de registo.

Verifique se o computador é fidedigno para delegação

Se este servidor IIS é um membro do domínio, mas não é um controlador de domínio, o computador tem de estar fidedigno para delegação para Kerberos a funcionar correctamente. Para activar, siga estes passos:
  1. No controlador de domínio, clique em Iniciar , aponte para definições e, em seguida, clique em Painel de controlo .
  2. Faça duplo clique na pasta Ferramentas administrativas e, em seguida, clique duas vezes em computadores e utilizadores do Active Directory .
  3. Em domínio, clique na pasta computadores .
  4. Na lista, localize o servidor de IIS. Clique com o botão direito do rato no nome do servidor e, em seguida, clique em Propriedades .
  5. Clique no separador Geral , clique para seleccionar a caixa de verificação fidedigno para delegação e, em seguida, clique em OK .

Utilizar Kerbtray

Outro utilitário muito útil para resolver problemas de Kerberos é Kerbtray.exe, que faz parte do Windows 2000 Resource Kit. Utilizando Kerbtray, pode ver bilhetes Kerberos que foram concedidas da cache local. Para transferir este utilitário, visite o seguinte Web site da Microsoft:
Kerbtray.exe: Kerberos Trayhttp://www.microsoft.com/downloads/details.aspx?FamilyID=4e3a58be-29f6-49f6-85be-e866af8e7a88&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyID=4e3a58be-29f6-49f6-85be-e866af8e7a88&displaylang=en)
Para obter mais informações sobre esta ferramenta e sugestões sobre como resolver problemas relacionados com Kerberos, visite o seguinte Web site da Microsoft:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/tkerberr.mspx (http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/tkerberr.mspx)

Activar o registo de eventos de segurança

Registo de eventos de segurança pode ser inestimável quando resolver falhas de autenticação Kerberos. Com esta activada, pode ver falhas de início de sessão quando um utilizador tenta autenticar através do IIS. Isto fornece uma explicação sobre o que poderá ocorrer durante o processo de autenticação e por que razão o processo de autenticação não tem êxito.

O resto das informações nesta secção está entre aspas diretamente Desiging Secure Web baseada em aplicações do Windows 2000 por Michael Howard. Uma vez que as ligações no Windows 2000 são autenticadas, precisa de compreender como ler os eventos de início de sessão. O objectivo desta secção é explicar as variáveis diferentes que constituem um evento de início de sessão.

Definições de início de sessão/fim de sessão de auditoria

Microsoft Windows NT inclui apenas uma categoria de auditoria de início e fim de sessão. Windows 2000 apresenta um segundo. As duas categorias--início de sessão/fim de sessão e início de sessão de conta--são explicadas nas secções seguintes.

Auditar eventos de início de sessão de conta (categoria de início de sessão/fim de sessão)

Esta categoria de evento, disponível em todas as versões do Windows NT e Windows 2000, indica que uma conta registados ou desactivar ou efectuar uma ligação de rede ao computador. Por outras palavras, o evento de auditoria é activado no computador onde ocorre o início de sessão. A categoria de início de sessão/fim de sessão é importante porque fornece a maioria das informações quando utilizar o IIS, SQL Server e COM +.

Os eventos mais significativos na categoria de início de sessão/fim de sessão são
  • Evento de início de sessão/fim de sessão 529 (falha de início de sessão)
  • Evento de início de sessão/fim de sessão 528 (êxito de início de sessão)
  • Evento de início de sessão/fim de sessão 540 (êxito de início de sessão de rede)
As secções seguintes mostram estes eventos e Table 1 explica cada um dos campos de eventos.

Evento de início de sessão/fim de sessão 529 (falha de início de sessão)

Event Type:     Failure Audit
Event Source:   Security
Event Category: Logon/Logoff 
Event ID:       529
Date:           9/3/1999
Time:           8:57:21 PM
User:           NT AUTHORITY\SYSTEM
Computer:       CHERYL-LAPTOP
Description:
Logon Failure:
   Reason:           Unknown user name or bad password
   User Name:        Administrator
   Domain:           CHERYL-LAPTOP
   Logon Type:       2
   Logon Process:    seclogon
   Authentication Package: Negotiate
   Workstation Name: CHERYL-LAPTOP

				

Evento de início de sessão/fim de sessão 528 (êxito de início de sessão) e eventos de início de sessão/fim de sessão 540 (êxito de início de sessão de rede)

Event Type:     Success Audit
Event Source:   Security
Event Category: Logon/Logoff 
Event ID:       540
Date:           1/23/2000
Time:           5:41:39 PM
User:           EXAIR\Cheryl
Computer:       CHERYL-LAPTOP
Description:
Successful Network Logon:
   User Name:        cheryl
   Domain:           EXAIR
   Logon ID:         (0x0,0x17872A8)
   Logon Type:       3
   Logon Process:    Kerberos
   Authentication Package: Kerberos
   Workstation Name:

				
Reduzir esta tabelaExpandir esta tabela
campo comentários
Tipo de evento, origem, categoria, ID, data e horafacilmente compreensíveis
Utilizador
A conta de utilizador efectuar o início de sessão. Por exemplo, este poderá ser NT AUTHORITY\SYSTEM, a conta sistema local utilizada para iniciar vários serviços do Windows 2000.
Computador O computador no qual o evento ocorreu
Razão Aplica-se apenas; falhas de início de sessão é o motivo a conta não conseguiu iniciar sessão.
Nome de utilizadorO nome da conta utilizador tentar iniciar sessão
Domínio O domínio da conta de utilizador tentar iniciar sessão.
Tipo de início de sessão Um valor numérico indicando o tipo de tentativa de início de sessão. Os valores possíveis são:
2 Interactivo (sessão interactivamente)
Rede de 3 (sistema acedido através da rede)
Batch de 4 (iniciado como uma tarefa batch)
Serviço de 5 (um serviço Windows iniciado pelo controlador do serviço)
Proxy de 6 (início de sessão proxy; não utilizado no Windows NT ou Windows 2000)
Desbloquear 7 (desbloquear estação de trabalho)
8 NetworkCleartext (rede início de sessão com credenciais de texto simples)
NewCredentials 9 (utilizado pela RunAs quando é utilizada a opção/netonly)
Processo de início de sessãoO processo de efectuar o início de sessão. Seguem-se alguns processos de início de sessão exemplo:
-Advapi (accionado por uma chamada para LogonUser; LogonUser chama LsaLogonUser e um dos argumentos para LsaLogonUser, OriginName, identifica a origem da tentativa de início de sessão)
-User32 (normal início de Windows 2000 sessão utilizando o WinLogon)
-SCMgr (Gestor de controlo de serviço iniciado um serviço)
-KsecDD (rede ligações para o SMB servidor - por exemplo, quando utilizar um comando NET USE)
-Kerberos (o Kerberos Security Support Provider [SSP])
-NtlmSsp (o SSP de NTLM)
-Seclogon (início de sessão secundário-ou seja, o comando RunAs)
-IIS (IIS efectuado o início de sessão; gerado quando iniciar sessão na conta IUSR_machinename ou quando utiliza autenticação condensada ou autenticação básica)
Pacote de autenticação O pacote de segurança chamado para tentar iniciar sessão na conta. Um pacote de autenticação é uma biblioteca ligação dinâmica (DLL) que analisa os dados de início de sessão e determina a autenticar uma conta. Exemplos mais comuns são Kerberos, Negotiate, NTLM e MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 (também denominado MSV1_0; autentica os utilizadores na base de dados SAM, suporta a autenticação pass-through para contas em domínios fidedignos e suporta subauthentication pacotes) nome de estação de trabalho nome da estação de trabalho, se conhecido, utilizando o principal durante o início de sessão.

Auditar eventos de início de sessão de conta (categoria de início de sessão de conta)

Esta categoria de evento indica que uma conta de sessão ou desactivar e que o computador foi utilizado para validar a conta. Neste caso, o evento de auditoria é activado no computador onde reside a conta. Muitos eventos relacionadas com Kerberos, tais como a emissão de bilhetes, são registados quando esta categoria de auditoria está activada.

As secções seguintes mostram dois eventos de falha de início de sessão de conta, muitas vezes, visto.

676 (falha de início de sessão) de eventos de início de sessão de conta: permissão de autenticação pedido falhou
Event Type:     Failure Audit
Event Source:   Security
Event Category: Account Logon 
Event ID:       676
Date:           5/11/2000
Time:           8:47:01 PM
User:           NT AUTHORITY\SYSTEM
Computer:       DBSERVER
Description:
Authentication Ticket Request Failed:
   User Name:  Major
   Supplied Realm Name:    EXPLORATIONAIR.COM
   Service Name:     krbtgt/EXPLORATIONAIR.COM
   Ticket Options:   0x40810010
   Failure Code:     6
   Client Address:   172.100.100.12

				
Nota o que é a conta NT AUTHORITY\SYSTEM? Esta conta é normalmente referida como sistema local; é a conta em que a maior parte dos serviços executar. Verá muitas referências a esta conta do registo de eventos de segurança.

Evento 676 significa que principal não foi possível obter um inicial permissão conceder permissão (TGT) a partir do Centro de distribuição de chaves (KDC, Key Distribution Center). A parte mais importante do evento é o código falha. Estes códigos são os mesmos como códigos MIT Kerberos. Table 2 descreve alguns dos mais comuns códigos de falha; poderá encontrar uma lista completa de http://www.ietf.org/rfc/rfc1510.txt (http://www.ietf.org/rfc/rfc1510.txt) principal.

a tabela 2 - alguns códigos de falha comuns do Kerberos
Reduzir esta tabelaExpandir esta tabela
código de falha comentários
6 Cliente não encontrado na base de Kerberos dados.
7 Servidor não encontrado na base de dados Kerberos. Isto geralmente indica que um nome principal de serviço (SPN) não foi registado para o serviço.
23 Palavra-passe expirou.
32 Permissão expirou.
33 Permissão ainda não válido.
34 Pedido é uma reprodução. Alguém está a tentar reproduzir resposta um cliente Kerberos; for possivelmente a ser atacado.
37 Relógio distorção demasiado lindamente. Kerberos é críticos de tempo; Certifique-se que todos os relógios estão sincronizados


evento de início de sessão de conta 681 (falha de início de sessão) com um grande número para o código de erro

Por vezes, poderá ver um erro semelhante ao seguinte. O problema é que o código de erro é praticamente inútil.
Event Type:     Failure Audit
Event Source:   Security
Event Category: Account Logon 
Event ID:       681
Date:           5/11/2000
Time:           8:47:01 PM
User:           NT AUTHORITY\SYSTEM
Computer:       DBSERVER
Description:
The logon to account: Major
 by: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
 from workstation: WEBSERVER
 failed. The error code was: 3221225572

				
a tabela 3 - exemplo conta de início de sessão erro códigos.

Reduzir esta tabelaExpandir esta tabela
erro Code(Decimal) erro Code(Hex) comentários
32212255720xC0000064 O utilizador especificado não existe.
3221225570 0xC0000062 O nome fornecido não é um nome de conta correctamente formado.
32212255690xC0000061Um privilégio necessário não é mantido pelo cliente.
32212255780xC000006AAo tentar actualizar uma palavra-passe, este estado devolvido indica que o valor fornecido como palavra-passe actual não é correcto.
32212255800xC000006C Palavra-passe não está correcta. Quando tentar actualizar uma palavra-passe, este estado indica que alguns regra de actualização da palavra-passe foi violated.For exemplo, a palavra-passe pode não cumprir os critérios de comprimento.
32212255850xC0000071 A conta de utilizador da palavra-passe expirou.
32212255860xC0000072 A conta referenciada está desactivada.

Se correlacionar os eventos de falha de segurança anteriores--pedido do principal de uma falha de TGT inicial com o erro 6 (cliente encontrado não na base de dados Kerberos) quando ele tentou iniciar sessão e uma falha de início de sessão genérico ocorrem 3221225572 (O utilizador especificado não existe)--erro é simples ver o erro: principal não é uma conta válida!

Referências

Para obter mais informações sobre Kerberos, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
266080  (http://support.microsoft.com/kb/266080/ ) Respostas a perguntas mais frequentes Kerberos
244474  (http://support.microsoft.com/kb/244474/ ) Como forçar o Kerberos a utilizar TCP em vez de UDP no Windows Server 2003, no Windows XP e no Windows 2000
262177  (http://support.microsoft.com/kb/262177/ ) Como activar o registo de eventos de Kerberos
287537  (http://support.microsoft.com/kb/287537/ ) Utilizando a autenticação básica para gerar tokens de Kerberos
277741  (http://support.microsoft.com/kb/277741/ ) Falha de início de sessão do Internet Explorer devido a uma memória intermédia insuficiente para Kerberos
269643  (http://support.microsoft.com/kb/269643/ ) Internet Explorer A autenticação Kerberos não funciona devido a uma memória intermédia insuficiente ligar ao IIS
264921  (http://support.microsoft.com/kb/264921/ ) Como o IIS autentica clientes de browser
248350  (http://support.microsoft.com/kb/248350/ ) A autenticação Kerberos falha depois de actualizar a partir do IIS 4.0 para o IIS 5.0
294382  (http://support.microsoft.com/kb/294382/ ) Autenticação poderá falhar com o erro "401.3" Se for diferente "Cabeçalho do Web site de anfitrião" do nome de NetBIOS do servidor
217098  (http://support.microsoft.com/kb/217098/ ) Descrição geral básica de autenticação Kerberos no Windows 2000
283201  (http://support.microsoft.com/kb/283201/ ) Como utilizar a delegação no Windows 2000 com +
299838  (http://support.microsoft.com/kb/299838/ ) Não é possível negociar a autenticação Kerberos depois de actualizar para o Internet Explorer 6
230476  (http://support.microsoft.com/kb/230476/ ) Descrição de erros comuns relacionadas com Kerberos no Windows 2000
320903  (http://support.microsoft.com/kb/320903/ ) Os clientes não é possível iniciar sessão utilizando Kerberos sobre TCP
235529  (http://support.microsoft.com/kb/235529/ ) Suportar Kerberos em clusters de servidor baseado no Windows 2000
929650  (http://support.microsoft.com/kb/929650/ ) Como utilizar nomes principais de serviço quando configurar aplicações Web que estão alojadas no IIS 6
As perguntas mais FREQUENTES do Kerberos contém informações adicionais sobre o protocolo Kerberos:
http://www.faqs.org/faqs/kerberos-faq/general/index.html (http://www.faqs.org/faqs/kerberos-faq/general/index.html)

A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Services 5.0
Palavras-chave: 
kbmt kbhowtomaster KB326985 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: 326985  (http://support.microsoft.com/kb/326985/en-us/ )
Retired KB ArticleExclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.