Nome do servidor do evento Kerberos 4 mostrando o nome de usuário

1

Temos um serviço do Windows .Net que usa um Httplistener e autentica solicitações usando o Kerberos. Quando os usuários estão se conectando por meio do navegador, um erro no log de eventos do usuário mostra uma ID de evento Kerberos 4:

The Kerberos client received a KRB_AP_ERR_MODIFIED error from the server $username$. The target name used was HTTP/$servername$.$domain$.com.au. This indicates that the target server failed to decrypt the ticket provided by the client. This can occur when the target server principal name (SPN) is registered on an account other than the account the target service is using. Ensure that the target SPN is only registered on the account used by the server. This error can also happen if the target service account password is different than what is configured on the Kerberos Key Distribution Center for that target service. Ensure that the service on the server and the KDC are both configured to use the same password. If the server name is not fully qualified, and the target domain ($domain$.COM.AU) is different from the client domain ($domain$.COM.AU), check if there are identically named server accounts in these two domains, or use the fully-qualified name to identify the server.

Por algum motivo, o servidor que está relatando é o usuário que está executando o serviço. A primeira linha:

The Kerberos client received a KRB_AP_ERR_MODIFIED error from the server $username$.

Cada site (incluindo falha do servidor) tem correções para este erro com problemas de SPN, mas sempre tem um nome de servidor no erro. Não consigo encontrar a mensagem acima com um nome de usuário.

Nós tentamos usuários diferentes e isso muda a parte acima da mensagem de erro. Todas as contas de domínio têm o mesmo problema. Se executarmos o serviço como a conta do sistema local, não teremos esse problema, mas isso nos causará outros problemas com o serviço (ele precisa de uma conta de domínio para outras permissões). Nós não temos, nunca tivemos, nenhum servidor com o mesmo nome que os nomes de usuário que experimentamos.

Alguém viu esse problema com o nome de usuário aparecendo aqui antes? Qual é a correção?

Todos os servidores são Windows 2012 (não R2).

    
por Greg 25.11.2014 / 06:55

2 respostas

1

Encontrou a solução aqui: link

eu corri:

setspn -A HTTP/$servername$.$domain$.com.au $username$

e isso resolveu o problema

    
por 25.11.2014 / 07:10
2

Que bom que você resolveu seu próprio problema, mas não parece que você entendeu por que o que você fez resolveu o problema.

Em resumo, o SPN precisa ser definido no objeto apropriado. Parece que você tinha o SPN definido no objeto do computador no AD que estava executando o serviço. É por isso que as coisas começaram a funcionar se você alterou o serviço para ser executado como SYSTEM. Mas se você alterá-lo para ser executado como um usuário do domínio, será necessário mover o SPN para esse usuário. E é importante que você mova (leia: exclua da conta do computador) e não apenas copie . SPNs duplicados vão quebrar as coisas.

    
por 18.05.2015 / 23:12