Come posso verificare se il mio sito IIS utilizza NTLM o Kerberos?


10

Come posso verificare se il mio sito IIS utilizza NTLM o Kerberos? E come posso cambiare l'autenticazione da Kerberos a NTLM? Sto usando IIS 7.5.

Risposte:


9

A partire dal:

Determinare se l'autenticazione HTTP è NTLM o Kerberos
http://support.microsoft.com/kb/891032

[...] "Dato che stiamo esaminando questa traccia per vedere se il client sta inviando informazioni di autenticazione, possiamo usare i segmenti TCP per tracciare le richieste HTTP GET e la risposta dal server. Ecco uno snippet dal frame che invia informazioni di autenticazione dal client:

23 4294967263.4294641621 LOCAL 00045A420DBC Richiesta HTTP GET (dal client che utilizza la porta 3135) 192.168.0.2 192.168.0.4 IP HTTP: richiesta GET (dal client che utilizza la porta 3135) HTTP: Metodo richiesta = GET HTTP: Identificatore di risorsa uniforme = /webapplication1/webform1.aspx HTTP: Versione protocollo = HTTP / 1.1 HTTP: Accetta = image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, application / vnd. HTTP: Accept-Language = it-it HTTP: Accept-Encoding = gzip, deflate HTTP: User-Agent = Mozilla / 4.0 (compatibile; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR HTTP: Host = alien HTTP: Connessione = HTTP keep-alive: autorizzazione = Negozia TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgKAAAA 44 77 3D 3D 0D 0A 0D 0A AAADw == ....

"Cosa ci dice questo? Possiamo vedere che l'intestazione dell'autorizzazione è impostata su" Negozia "e possiamo vedere una lunga serie di caratteri inviati in quell'intestazione. Questa risposta ci dice che il client e il server stanno negoziando una connessione NTLM. Sappiamo che qui viene utilizzata l'autenticazione NTLM perché il primo carattere è un "" T. "Se fosse una" Y ", sarebbe Kerberos . L'intestazione è impostata su" Negozia "anziché" NTLM ". significa che utilizzerà Kerberos o NTLM, ma che "Negozerà" il metodo di autorizzazione e tenterà prima Kerberos se è in grado. Se non può usare Kerberos, utilizzerà 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
}

Ricevo i primi personaggi come oXcw, hai idea di cosa significhi? Forse una versione più recente di kerberos?
Mark Adamson,

1
@MarkAdamson Anche io, il mio è oYG2 ...
Brain2000,

4

Se hai accesso al tuo server IIS, la risposta è molto più semplice dell'ispezione del traffico HTTP: visualizza semplicemente la configurazione del modulo di autenticazione del sito per l'autenticazione di Windows.

  1. In Gestione IIS
  2. Seleziona il tuo sito
  3. Fai clic sul modulo di autenticazione
  4. Seleziona Autenticazione di Windows
  5. Seleziona provider ...

Gestione IIS> Sito> Modulo di autenticazione> Fornitori


1

usa il codice qui sotto nella pagina 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

Quella risposta non è del tutto completa. Esistono due modi in cui la connessione può utilizzare NTLM. Uno è tramite il metodo WWW-Authenticate "NTLM"; l'altro è tramite negoziazione. Negoziare utilizza GSSAPI, che a sua volta può utilizzare vari meccanismi; su Windows, questo include sia Kerberos che NTLM.

Wireshark può decodificare tutto questo e mostrarti rapidamente cosa sta succedendo, supponendo che non stai usando TLS. In tal caso, è possibile disporre che Wireshark sia in grado di decrittografare il traffico TLS; ci vuole solo qualche sforzo extra.


0

Nell'intestazione della richiesta HTTP (puoi vederla da Firebug , Chrome Dev Tool o Fiddler ) vedrai qualcosa di simile se usi NTLM

Autorizzazione: NTLM = TlRMTVNTGD6XAAAAGAAYAG425qAAYABgAhgAAAAAAAABIAAAADgAOAEgAAAAYABgAVgAAAAAAAACeAAAABYKIogUBKAoAAAAPcwBpAG0AcABsAGkAcABOADMAUgBXAEsAVwBBAEwAVABFAFIAQQAzVtleqNj7HAAAAAAAAAAAAAAAAAAAAACW3g66aPaiileWScIYweBj6fs2iGY / TA3 =

Dal pannello di gestione di IIS, puoi selezionare Autenticazione e scegliere l'autenticazione che preferisci.


ma non se la negoziazione utilizza NTLM
Aardvark,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.