Artigo: 907272 - Última revisão: terça-feira, 8 de Dezembro de 2009 - Revisão: 5.0

A autenticação Kerberos e resolução de problemas de delegação

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.
Coluna de IIS Developer Support Voice

A autenticação Kerberos e resolução de problemas de delegação

Para personalizar esta coluna às suas necessidades, pretendemos convidá-lo para submeter as suas ideias sobre tópicos de interesse e problemas que pretende ver resolvido no futuro artigos da base de dados de conhecimento e colunas de voz de suporte. Pode submeter as suas ideias e comentários utilizando o formulário Ask For It (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) . Existe também uma hiperligação para o formulário na parte inferior desta coluna.

Nesta página

Expandir tudo | Reduzir tudo
O meu nome é Martins Silva e sou com grupo de resolução de problema crítica do Microsoft Internet Information Services (IIS) da Microsoft. Foram com o Microsoft nove anos e ter sido com a equipa IIS todos os anos de nove. Posso ter compilado informações a partir de várias localizações no http://msdn.microsoft.com (http://msdn.microsoft.com) e http://www.microsoft.com (http://www.microsoft.com) sobre Kerberos e como resolver problemas de delegação.

IIS 6.0

A seguinte documentação técnica descreve como configurar a delegação no Microsoft Windows Server 2003. A documentação técnica tem informações específicas para rede Load Balancing (NLB) mas inclui excelente detalhes sobre como configurar um cenário delegado sem utilizar o NLB. Para ver esta documentação técnica, visite o seguinte site da Microsoft:
http://technet.microsoft.com/en-us/library/cc757299.aspx (http://technet.microsoft.com/en-us/library/cc757299.aspx)
Nota Utilize nomes principais de serviço HTTP (SPN) especialmente quando utilizar o NLB.

Outro problema de Kerberos popular recentemente foi a necessidade para permitir vários agrupamentos de aplicações para utilizar o mesmo nome DNS. Infelizmente, quando utiliza o Kerberos para delegar as credenciais, não é possível associar o mesmo nome principal do serviço (SPN) para agrupamentos de aplicações diferentes. Não o conseguir fazer devido à concepção de Kerberos. O protocolo Kerberos requer vários segredos partilhados para o protocolo funcionar correctamente. Utilizando o mesmo SPN para agrupamentos de aplicações diferentes, estamos eliminar um destes segredos partilhados. O directório do Active Directory irá não suporte esta configuração dos Kerberos devido o problema de segurança de protocolo de serviço.

Configurar os SPN desta forma faz com que a autenticação Kerberos falhar. Uma possível solução para este problema seria utilizar transitar do protocolo. A autenticação inicial entre o cliente e servidor com o IIS teria de ser tratada pelo utilizando o protocolo de autenticação NTLM. Kerberos seria processa a autenticação entre o IIS e o servidor de recursos de back-end.

Microsoft Internet Explorer 6 ou posterior

O browser cliente poderão ocorrer problemas, tais como recepção repetidos pedidos de início de sessão para credenciais ou mensagens de erro "401 Acesso negado" a partir do servidor a executar o IIS. Estamos ter localizado os seguintes dois problemas que poderão ajudar a resolver estes problemas:
  • Certifique-se de que Enable Integrated Windows Authentication estiver seleccionada nas propriedades do browser.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:
    299838  (http://support.microsoft.com/kb/299838/ ) Não foi possível negociar a autenticação Kerberos depois de actualizar para o Internet Explorer 6
  • Se a configuração de segurança avançada do Internet Explorer é activada em ' Adicionar/remover programas, tem de adicionar um site que utiliza a delegação para a lista de sites fidedignos.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:
    815141  (http://support.microsoft.com/kb/815141/ ) Configuração de segurança avançada do Internet Explorer altera a experiência de navegação

IIS 5.0 e IIS 6.0

Depois de actualizar a partir do IIS 4.0 para IIS 5.0 ou IIS 6.0, delegação poderão não funcionar correctamente ou possivelmente alguém ou uma aplicação tiver modificado a propriedade de metabase NTAuthenticationProviders. Para obter mais informações sobre como corrigir este problema, 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 após a actualização do IIS 4.0 para o IIS 5.0

Uma área específica do problema pode ocorrer quando definir o SPN

Determinar o nome de servidor

Determinar se estiver a ligar com o Web site utilizando o nome de NetBIOS real do servidor ou utilizando um nome de alias, tal como um nome de DNS (por exemplo, www.microsoft.com). Se estiver a aceder ao servidor Web 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 partir do Windows 2000 Server Resource Kit. Porque o serviço de directório do Active Directory não sabe este nome de serviço, o serviço de concessão de permissão (TGS) não lhe concede uma permissão para autenticar o utilizador. Este comportamento obriga o cliente para utilizar o seguinte método de autenticação disponíveis, que é NTLM, para renegociar. Se a Web servidor está a responder a um nome DNS de www.microsoft.com mas o servidor o nome webserver1.development.microsoft.com, tem de registar www.microsoft.com no Active Directory no servidor que esteja a executar a executar o IIS. Para efectuar este procedimento, tem de transferir a ferramenta Setspn e instale-lo no servidor que está a executar o IIS.

Para mais informações sobre como obter a ferramenta Setspn, visite o seguinte Web site da Microsoft:
http://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)
Se estiver a utilizar o Windows Server 2003 e IIS 6, a ferramenta Setspn para Microsoft Windows Server 2003 está disponível a partir do seguinte localização:
http://support.microsoft.com/kb/970536 (http://support.microsoft.com/kb/970536)
Para determinar se está a ligar utilizando o nome real, tente ligar ao servidor utilizando o nome real do servidor em vez do nome de DNS. Se não conseguir ligar ao servidor, consulte a secção "Verificar o computador é fidedigno para delegação".

Se conseguir ligar ao servidor, siga estes passos para definir um SPN para o nome de DNS estiver a utilizar para ligar ao servidor:
  1. Instale a ferramenta Setspn.
  2. No servidor que executa o IIS, abra uma linha de comandos e, em seguida, abra a pasta C:\Program Files\Resource Kit.
  3. Execute o seguinte comando para adicionar este novo SPN (www.microsoft.com) para o Active Directory para o servidor:
    Setspn - A de HTTP/www.microsoft.com webserver1
    Nota Neste comando, webserver1 representa o nome de NetBIOS do servidor.
Receber saída é semelhante à seguinte:
Registering ServicePrincipalNames for CN=webserver1,OU=Domain Controllers,DC=microsoft,DC=com
HTTP/www.microsoft.com
Updated object
Para visualizar uma listagem de SPN no servidor para ver este novo valor, escreva o seguinte comando no servidor que executa o IIS:
Setspn -L webservername
Note que não tem de 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 criar uma ligação HTTP para o servidor Web no servidor webserver1.microsoft.com, mas este SPN não está registado no servidor, o controlador de domínio do Windows 2000 automaticamente mapear a ligação para HOST/webserver1.microsoft.com. Este mapeamento só se aplica se o serviço Web está a ser executado sob a conta do sistema local.

Verifique se o computador é fidedigno para delegação

Se este servidor a executar o IIS é um membro do domínio mas não é um controlador de domínio, o computador tem de ser fidedigno para delegação para Kerberos funcionar correctamente. Para o fazer, 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. No painel de controlo, abra Ferramentas administrativas.
  3. Faça duplo clique em computadores e utilizadores do Active Directory.
  4. Em domínio, clique em computadores.
  5. Na lista, localize o servidor a executar o IIS, clique com o botão direito do rato no nome do servidor e, em seguida, clique em Propriedades.
  6. Clique no separador Geral, clique para seleccionar a caixa de verificação fidedigna para delegação e, em seguida, clique em OK.
Note que, se múltiplos Web sites são atingidos pelo mesmo URL mas em portas diferentes, delegação não irá funcionar. Para tornar este trabalho, tem de utilizar diferentes nomes de anfitriões e SPN diferentes. Quando Internet Explorer pede ou http://www. mywebsite .com ou http://www. mywebsite .com:81, o Internet Explorer pede uma permissão para SPN HTTP/www.mywebsite.com. Internet Explorer não adiciona a porta ou o vdir ao pedido de SPN. Este comportamento é o mesmo para http://www. mywebsite .com/app1 ou http://www. mywebsite .com/app2. Neste cenário, o Internet Explorer pedirá uma permissão para SPN http://www. mywebsite .com a partir do Centro de distribuição de chaves (KDC, Key Distribution Center). Cada SPN pode ser declarado apenas para uma identidade. Por conseguinte, também seria recebe uma mensagem de erro KRB_DUPLICATE_SPN se tentar declarar este SPN para cada identidade.

Delegação e o Microsoft ASP.NET

Para obter mais informações sobre a configuração para delegar as credenciais quando utiliza um ASP.NET aplicação, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
810572  (http://support.microsoft.com/kb/810572/ ) Como configurar uma aplicação do ASP.NET para um cenário de delegação
Representação e delegação são dois métodos para um servidor autenticar em nome do cliente. Decidir qual destes métodos para utilizar e respectiva implementação pode causar alguma confusão. Tem de rever a diferença entre estes dois métodos e examinar a que estes métodos que poderá utilizar para a aplicação. Meu recomendação seria ler a seguinte documentação técnica para obter mais detalhes:
http://msdn2.microsoft.com/en-us/library/ms998351.aspx (http://msdn2.microsoft.com/en-us/library/ms998351.aspx)

Referências

http://technet.microsoft.com/en-us/library/cc757299.aspx (http://technet.microsoft.com/en-us/library/cc757299.aspx)

http://msdn.microsoft.com/msdnmag/issues/05/09/SecurityBriefs/default.aspx (http://msdn.microsoft.com/msdnmag/issues/05/09/SecurityBriefs/default.aspx)

http://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)
305971  (http://support.microsoft.com/kb/305971/ ) Windows 2000 Server pede ao utilizador de domínio de credenciais
262177  (http://support.microsoft.com/kb/262177/ ) Como activar o registo de eventos de Kerberos
326985  (http://support.microsoft.com/kb/326985/ ) Como resolver problemas relacionados com Kerberos no IIS
842861  (http://support.microsoft.com/kb/842861/ ) TechNet Support WebCast: Troubleshooting autenticação Kerberos com aplicações Web seguras e o Microsoft SQL Server
Como sempre, vontade submeter ideias sobre tópicos que pretende no futuro corrigida colunas ou na base de dados de conhecimento utilizando o formulário Ask For It (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1321) .

A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Services 6.0
Palavras-chave: 
kbmt kbiis kbhowto kbasp KB907272 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: 907272  (http://support.microsoft.com/kb/907272/en-us/ )