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


10

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

Respostas:


9

De:

Determine se a autenticação HTTP é NTLM ou Kerberos
http://support.microsoft.com/kb/891032

[...] "Como examinamos esse rastreamento 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. Aqui está um trecho do quadro que envia informações de autenticação do cliente:

23 4294967263.4294641621 LOCAL 00045A420DBC Solicitação HTTP GET (do cliente usando a porta 3135) 192.168.0.2 192.168.0.4 IP HTTP: Solicitação GET (do cliente usando a porta 3135) HTTP: Método de solicitação = GET HTTP: Identificador uniforme de recursos = /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: Accept-Language = pt-br 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 = estrangeiro HTTP: Conexão = HTTP ativo: Autorização = Negociar TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAFASgKAAAA 44 77 3D 3D 0D 0A 0D 0A AAADw == ....

"O que isso nos diz? Podemos ver que o cabeçalho da Autorização está definido como" Negociar "e podemos ver uma longa sequência de caracteres enviados nesse cabeçalho. Essa resposta nos diz que o cliente e o servidor estão negociando uma conexão NTLM. Sabemos que a autenticação NTLM está sendo usada aqui porque o primeiro caractere é um "" T. "Se fosse um" Y ", seria o Kerberos . O cabeçalho está definido como" Negociar "em vez de" NTLM ". significa que ele usará o Kerberos ou NTLM, mas que "Negociará" o método de autorização e tentará primeiro o Kerberos, se for possível. 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
}

Estou recebendo os primeiros personagens como oXcw, alguma ideia do que isso significa? Talvez uma versão mais recente do kerberos?
Mark Adamson

1
@MarkAdamson Eu também, o meu é oYG2 ...
Brain2000 12/12

4

Se você tiver acesso ao servidor IIS, a resposta é muito mais simples do que a inspeção do tráfego HTTP: basta exibir 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 Autenticação
  4. Selecione autenticação do Windows
  5. Selecionar fornecedores ...

Gerenciador do IIS> Site> Módulo de autenticação> Provedores


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"
%> 

0

Essa resposta não está completa. Há duas maneiras pelas quais a conexão pode usar o NTLM. Uma é através do método WWW-Authenticate "NTLM"; o outro é via Negociar. 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 TLS. Se estiver, você pode providenciar para que o Wireshark seja capaz de descriptografar o tráfego TLS; é preciso apenas um esforço extra.


0

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

Autorização: NTLM = TlRMTVNTGD6XAAAAGAAYAG425qAAYABgAhgAAAAAAAABIAAAADgAOAEgAAAAYABgAVgAAAAAAAACeAAAABYKIogUBKAoAAAAPcwBpAG0AcABsAGkAcABOADMAUgBXAEsAVwBBAEwAVABFAFIAQQAzVtleqNj7HAAAAAAAAAAAAAAAAAAAAACW3g66aPaiileWScIYweBj6fs2iGY / TA3 =

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


mas não se negociar está usando NTLM
Aardvark
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.