Como posso verificar se o site IIS está usando NTLM ou Kerberos?

8

Como posso verificar se o site IIS está usando o NTLM ou o Kerberos? E como posso alterar a autenticação do Kerberos para o NTLM? Estou usando o IIS 7.5.

    
por KlimczakM 23.08.2012 / 10:19

5 respostas

6

De:

Determine se a autenticação HTTP é NTLM ou Kerberos
link

[...] "Como estamos examinando esse rastreio para ver se o cliente está enviando informações de autenticação, podemos usar os segmentos TCP para rastrear as solicitações HTTP GET e a resposta do servidor. Eis um trecho do quadro que envia as informações de autenticação do servidor." cliente:

23 4294967263.4294641621 Solicitação HTTP GET LOCAL 00045A420DBC (do cliente usando a porta 3135) 192.168.0.2 192.168.0.4 IP HTTP: GET Request (do cliente usando a porta 3135)   HTTP: método de solicitação = GET   HTTP: identificador de recurso uniforme = /webapplication1/webform1.aspx   HTTP: versão do protocolo = HTTP / 1.1   HTTP: Aceitar = imagem / gif, imagem / x-xbitmap, imagem / jpeg, imagem / pjpeg, aplicativo / vnd.   HTTP: aceitar-idioma = en-us   HTTP: Accept-Encoding = gzip, deflate   HTTP: User-Agent = Mozilla / 4.0 (compatível; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR   HTTP: host = alien   HTTP: conexão = keep-alive   HTTP: Autorização = Negociar TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgKAAAA 44 77 3D 3D 0D 0A 0D 0A AAADw == ....

"O que isso nos diz? Podemos ver que o cabeçalho de autorização está definido como" Negociar "e podemos ver uma longa seqüência de caracteres enviados nesse cabeçalho. Essa resposta nos diz que o cliente e o servidor estão negociando um Conexão NTLM. Sabemos que a autenticação NTLM está sendo usada aqui porque o primeiro caractere é um '' T. '' Se fosse um "Y", seria Kerberos . O cabeçalho é definido como "Negociar" em vez de "NTLM". Isso não significa que ele usará Kerberos ou NTLM, mas "Negociará" o método de autorização e tentará primeiro o Kerberos se ele puder. Se não puder usar o Kerberos, usará o NTLM. "

// if it is Negotiate...
if (String.Compare(Request.ServerVariables["HTTP_AUTHORIZATION"].Substring(10, 1), "Y", true) == 0)
{
    // we are using Kerberos
}
else
{
   // we are using NTLM
}
    
por 19.10.2012 / 03:15
3

Se você tiver acesso ao seu servidor IIS, a resposta é muito mais simples do que inspecionar o tráfego HTTP: Basta visualizar a configuração do módulo de Autenticação do site para Autenticação do Windows.

  1. No Gerenciador do IIS
  2. Selecione seu site
  3. Clique no módulo de autenticação
  4. Selecione a autenticação do Windows
  5. Selecionar provedores ...

    
por 22.08.2016 / 23:01
1

use o código abaixo na página html / asp:

<%
    authType=UCase(Request.ServerVariables("AUTH_TYPE"))
    authHeader=Request.ServerVariables("HTTP_AUTHORIZATION")
    response.write " Authentication Method : " & authType & "<BR>"
    LenAuthHeader = len(authHeader)
    response.write " Protocol : "
    if Len(authType ) =0 then response.write " Anonymous" else if authType<>"NEGOTIATE" then response.write authType else if LenAuthHeader>1000 then response.write "Kerberos" else response.write "NTLM"
%> 
    
por 18.10.2012 / 23:31
0

Essa resposta não está completa. Existem duas maneiras pelas quais a conexão pode usar o NTLM. Uma é através do método WWW-Authenticate "NTLM"; o outro é via Negociação. Negociar usa GSSAPI, que por sua vez pode usar vários mecanismos; no Windows, isso inclui o Kerberos e o NTLM.

O Wireshark pode decodificar tudo isso e mostrar rapidamente o que está acontecendo, supondo que você não esteja usando o TLS. Se estiver, você pode organizar que o Wireshark possa descriptografar o tráfego TLS; só é preciso um esforço extra.

    
por 23.08.2012 / 18:06
0

Em seu cabeçalho de solicitação HTTP (você pode vê-lo em Firebug , Chrome Dev Tool ou Fiddler ) você verá algo assim se usar o NTLM

Authorization: NTLM=TlRMTVNTGD6XAAAAGAAYAG425qAAYABgAhgAAAAAAAABIAAAADgAOAEgAAAAYABgAVgAAAAAAAACeAAAABYKIogUBKAoAAAAPcwBpAG0AcABsAGkAcABOADMAUgBXAEsAVwBBAEwAVABFAFIAQQAzVtleqNj7HAAAAAAAAAAAAAAAAAAAAACW3g66aPaiileWScIYweBj6fs2iGY/ta3=

No painel de gerenciamento do IIS, você pode ir para Autenticação e escolher a autenticação de sua preferência.

    
por 23.08.2012 / 14:29