Autenticazione web con Kerberos

Una delle cose sorprendenti dell’integrazione realizzata da Microsoft è relativa all’autenticazione degli utenti che hanno fatto log-on al dominio Active Directory sugli applicativi Web. Attraverso Internet Information Server (IIS) e il Web browser Microsoft Internet Explorer, l’utente viene riconosciuto trasparentemente, realizzando così un vero e proprio Single Sign-On. La tecnologia usata per effettuare un login dell’utente attraverso il Web è SPNEGO, già descritto nel paragrafo SPNEGO e l’autenticazione Web. Grazie allo sforzo della comunità OpenSource, è possibile utilizzare SPENGO anche su Unix, sia come client che come server Web. In questo capitolo spiegheremo come sia possibile realizzare con Apache l’autenticazione attraverso SPNEGO e Mozilla come client di autenticazione, oltre a vedere più da vicino l’utilizzo di Microsoft Internet Explorer. Continua a leggere

Posta elettronica e Kerberos

L’ultimo passo della nostra dimostrazione è relativo alla posta elettronica: anche in questo caso dobbiamo essere in grado di collegarci con il server di posta elettronica senza dover immettere le credenziali utente. Nel modello Microsoft il mail server Exchange usa un protocollo proprietario incapsulato su NetBIOS ed utilizza un sistema di autenticazione differente, che si basa sempre sul framework di SPNEGO. Il nostro scopo è quello di usare tecnologia Open, basata su standard quali SMTP e IMAP, ma in particolare si è deciso di focalizzarsi sull’autenticazione relativa ad IMAP. È possibile abilitare l’autenticazione GSSAPI anche per alcuni server SMTP, però a causa della scarsa disponibilità di client che supportano questo tipo di autenticazione, si è deciso di implementare la policy relativa all’invio di posta tramite il controllo degli IP address sorgenti. La mancanza di client, soprattutto in ambiente Windows, ha creato numerosi problemi durante la creazione del laboratorio. Esistono infatti numerosi client Unix e MacOS X, ma pochi sono quelli per Windows, probabilmente perchè alcuni sviluppatori Windows considerano Kerberos un qualcosa di troppo “nuovo” e ancora poco conosciuto, mentre altri lo considerano “troppo vecchio”, ignorando che l’intera architettura di Active Directory è basata proprio sul “vecchio” Kerberos. Continua a leggere

SPNEGO

Come abbiamo accennato precedentemente, le GSSAPI foriniscono un set di API generiche che si astraggono dal meccanismo di autenticazione sottostante. Quando due applicazioni parlano tra loro attraverso le GSSAPI e sfruttano lo stesso meccanismo di autenticazione, si dice che hanno stabilito un contesto di sicurezza (security context). Il problema di questo meccanismo è che le due entità devono sapere a priori quale meccanismo di autenticazione hanno a disposizione e quindi quale possono usare: GSSAPI non prevede un meccanismo di “handshake” tra i due peer per sapere quale meccanismo di sicurezza hanno in comune e stabilire quindi un security context.

Il Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) è stato creato appositamente per determinare, durante una connessione tra due peer, quali sono i meccanismi di autenticazione disponibili e selezionare il miglior meccanismo comune. SPNEGO viene usato in Windows 2000 per negoziare quali sono i meccanismi di Continua a leggere