Uno studente di Reti I (Alfredo Canziani) mi ha inviato una "sniffata" di traffico HTTP ottenuto quando si autenticava da casa al servizio webmail di ateneo. Ha provato con Internet Explorer, senza riuscire ad autenticarsi, e con Firefox, riuscendo ad autenticarsi. La cosa è interessante anche perché il lato server sembra Microsoft.
Il traffico (lungo e prolisso) si trova qui.
Ci sono alcuni aspetti interessanti per Reti II, tra i quali:
Il traffico (lungo e prolisso) si trova qui.
Ci sono alcuni aspetti interessanti per Reti II, tra i quali:
- Firefox supporta veramente NTLM;
- il valore "Negotiate" per lo header "WWW-Authenticate" non significa "mettiamoci d'accordo ed usiamo uno dei valori dei WWW-Authenticate seguenti" (il significato che avevo detto a lezione); significa invece "mettiamoci d'accordo, se scegli questo valore ti elenco i meccanismi che supporto in aggiunta a quelli che ho già elencato nei WWW-Authenticate seguenti". E' stato proposto da Microsoft per l'interazione con i propri web server. Tipicamente viene usato per l'autenticazione Kerberos su HTTP ma può essere usato anche per NTLM. Permette cioè di "incastrare" Kerberos con HTTP; non ho approfondito se si tratti della variante safe, private o insomma. Maggiori dettagli:
- http://www.ietf.org/rfc/rfc4559.txt
- http://msdn.microsoft.com/en-us/library/ms995329.aspx
- Il server risponde dicendo: ti devi autenticare, io supporto 3 meccanismi: Negotiate, NTLM, Basic;
- Firefox sceglie NTLM e dopo lo scambio "solito" riesce ad autenticarsi
- IE sceglie invece Negotiate e non riescono a mettersi d'accordo (!). Il che è singolare perché il server è Microsoft ed il browser è Microsoft, pertanto dovrebbero essere in grado di mettersi d'accordo.
- Il client (per come è configurato) se gli viene proposto Negotiate allora lo sceglie;
- Il server è stato configurato in modo che quando il client chiede Negotiate, allora il server accetta solo Kerberos;
- Questo particolare client non supporta Kerberos e quindi non si mettono d'accordo.
Commenti