Aplicativo da Web IIS 7.5 com falha com NT Authority \ Anonymous Logon

5

Estou encontrando vários resultados do google, mas nenhum parece corrigir meu problema.

Estou configurando uma nova caixa do WINDOWS 2008 R2 no trabalho que se comunica com uma caixa existente do SQL 2012 por meio de ferramentas da Web em execução no IIS 7.5 em nossa intranet. Estamos a utilizar a autenticação do Windows através de fora - IE - > Servidor Web - > SQL Estamos usando o Kerberos. Ao visualizar a ferramenta localmente no servidor web, está tudo bem, mas quando tento visualizá-la em um cliente remoto, recebo o erro "Login failed for user 'NT AUTHORITY \ ANONYMOUS LOGON'".

Deixe-me explicar como temos o site - Pool de aplicativos executando o .NET 2.0 no modo clássico com uma identidade de ApplicationPoolIdentity A autenticação do Windows é ativada com a Proteção Estendida definida como Desativada, a opção Ativar Autenticação do Modo do Kernel está marcada e os Provedores ativados são (na ordem) Negociar e NTLM. O ASP.NET Impersonation está habilitado para representar o usuário autenticado.

Cadeia de conexão SQL no seguinte formato:

Data Source=THESQLBOXNAME;Initial Catalog=DATABASENAME;Integrated Security=True

Eu tenho uma página de teste que eu coloquei no servidor web (seguindo as configurações acima mencionadas) que exibe os seguintes dados:

HttpContext.Current.User.Identity.IsAuthenticated é verdadeiro

HttpContext.Current.User.Identity.Name é o usuário esperado (usuário iniciando o navegador)

System.Security.Principal.WindowsIdentity.GetCurrent.Name é o usuário esperado

Eu tentei uma consulta SQL básica para a caixa sql e recebi o erro de login mencionado acima.

Eu verifiquei o AD e verifiquei que a caixa da web tem o conjunto de delegações - "Confiar neste computador somente para serviços especificados / Usar somente o Kerberos"

Eu executei esta página de teste em uma caixa existente do WINDOWS 2008 R2 que executa o IIS 7.5 (com as mesmas configurações mencionadas acima) e não recebo qualquer erro.

Eu verifiquei as configurações do SPN para as duas caixas da web e elas são as mesmas (com exceção do nome da máquina):

setspn -L EXISTINGBOX

WSMAN/EXISTINGBOX.domain.com
WSMAN/EXISTINGBOX
TERMSRV/EXISTINGBOX.domain.com
TERMSRV/EXISTINGBOX
HOST/EXISTINGBOX.domain.com
HOST/EXISTINGBOX
RestrictedKrbHost/EXISTINGBOX.domain.com
RestrictedKrbHost/EXISTINGBOX

setspn -L NEWBOX
WSMAN/NEWBOX.domain.com
WSMAN/NEWBOX
TERMSRV/NEWBOX.domain.com
TERMSRV/NEWBOX
HOST/NEWBOX.domain.com
HOST/NEWBOX
RestrictedKrbHost/NEWBOX.domain.com
RestrictedKrbHost/NEWBOX

Eu percebo que ele está agindo como o problema do salto duplo, mas o fato de ele funcionar em outra caixa, me faz pensar que é algo específico com a nova caixa web. O que diabos estou perdendo ?????

    
por Dan Appleyard 03.12.2014 / 20:59

2 respostas

0

As duas últimas coisas em que posso pensar é verificar se você tem os SPNs MSSQLSvc registrados sob a conta de serviço do SQL Server registrada (o que você pode ter feito desde que você tem um cenário de trabalho). Apenas no caso:

  • MSSQLSvc \ NetBIOS
  • MSSQLSvc \ NetBIOS: 1433
  • MSSQLSvc \ FQDN.domain.com
  • MSSQLSvc \ FQDN.domain.com: 1433

Se isso for feito, retornando à guia AD na qual você tem a opção de confiança, adicione a conta do servidor SQL como um dos serviços permitidos. Se for correto, você deverá ver o MSSQLSvc * na lista.

Se os métodos acima não funcionarem, talvez seja necessário ativar o rastreio do Keberos ou usar um rastreio de rede para localizar erros do Kerberos.

    
por 03.04.2016 / 17:17
-1

Verifique se o servidor IIS que não funciona tem o conjunto "computador confiável para delegação": link

    
por 06.12.2014 / 16:12