Kerberos differisce dagli altri metodi di autenticazione. Al posto di attuare un'autenticazione tra ogni dispositivo del client e ogni server, Kerberos utilizza la cifratura simmetrica e un sistema fidato di terze parti — noto come Key Distribution Center o KDC — per autenticare gli utenti su una rete e consentire loro di accedere ai servizi desiderati. Avvenuta l'autenticazione, Kerberos immagazzina un ticket specifico per quella sessione sul computer dell'utente e tutti i servizi "kerberizzati", per effettuare l'autenticazione, invece di chiedere la password all'utente cercheranno direttamente quel ticket.
Quando un utente si collega alla propria workstation collegata a una rete Kerberos, il suo principal viene inviato al KDC sotto forma di richiesta TGT. Questa richiesta può essere inviata dal programma di login (in modo trasparente) o dal programma kinit una volta che l'utente si è collegato.
Il KDC controlla il principal nel suo database. Se viene trovato, crea un TGT, lo cifra usando la chiave dell'utente e lo invia come risposta all'utente.
Il programma di login sulla macchina client o kinit decifra il TGT utilizzando la chiave (che ricava dalla password dell'utente). La chive dell'utente é usata solo sul dispositivo del client e non é inviata attraverso la rete.
Il TGT scade dopo un determinato periodo (generalmente dieci ore) e immagazzinata in una cache del dispositivo del client. La data di "scadenza" viene impostata in modo che un TGT compromesso possa essere utilizzato solo per un periodo limitato. Una volta emesso il TGT, l'utente non dovrá inserire nuovamente la propria password nel KDC fino a quando non scadrá il TGT o quando l'utente si scollega per poi collegarsi nuovamente.
Quando un utente deve accedere a un servizio di rete, il client utilizza il TGT per richiedere un ticket per il servizio al Ticket Granting Service (TGS). Il ticket del servizio verrá emesso per autenticare l'utente in modo trasparente al servizio specifico stesso.
![]() | Attenzione |
|---|---|
Il sistema Kerberos può risultare compromesso ogni volta che l'autenticazione di un utente per un servizio che non utilizza Kerberos avviene per mezzo dell'invio di una password di testo. Pertanto, non è consigliato utilizzare servizi che non prevedono Kerberos, come per esempio telnet e FTP.. È invece accettabile l'utilizzo di protocolli sicuri, come SSH o SSL anche se non é ideale. |
Chiaramente, la spiegazione sopra riportata non è che una panoramica sul funzionamento del sistema Kerberos di autenticazione dei servizi di rete. Se desiderate approfondire l'argomento, consultate la Sezione 17.7.
![]() | Nota Bene |
|---|---|
Kerberos dipende da alcuni servizi di rete per poter funzionare correttamente. Prima di tutto è necessario che gli orologi dei dispositivi sulla rete siano sincronizzati. Si consiglia, pertanto, di impostare un programma di sincronizzazione per la rete, come per esempio ntpd. Per maggiori informazioni su come configurare ntpd, controllare /usr/share/doc/ntp-<version-number>/index.htm per l'impostazione dei server del Network Time Protocol. Inoltre, alcuni aspetti di Kerberos si basano sul servizio DNS (Domain Name Service), perciò accertatevi che il DNS sia configurato in modo corretto. Controllare la Guida degli amministratori di Kerberos V5 System, presente in formato PostScript e HTML nella directory /usr/share/doc/krb5-server-<version-number> per maggiori informazioni. |