4. Sincronizzazione del tempo

4.1. L'importanza della sincronia temporale

La sicurezza di Kerberos è basata anche sui time stamp dei ticket perciò è d'importanza critica che gli orologi dei sever kerberos siano regolati con accuratezza. Come è stato discusso nell'introduzione a kerberos, i ticket hanno una scadenza breve per prevenire attacchi di forza bruta e attacchi di replica.

Permettendo agli orologi di subire scostamenti si rende la rete vulnerabile a questi attacchi. A causa dell'importanza della sincronia degli orologi nella sicurezza del protocollo Kerberos, se gli orologi non sono sincronizzati entro un ragionevole intervallo Kerberos presenta errori fatali e smette di funzionare. I client che tentino di autenticarsi da una macchina con un orologio non accurato falliranno il tentativo di autenticazione presso il KDC a causa della differenza di ora con il suo orologio.

4.2. Introduzione a NTP

Per sincronizzare l'orario fra i server è disponibile il protocollo NTP (Network Time Protocol); esistono molti server NTP pubblici utilizzabili per la sincronizzazione. NTP può sincronizzare gli orologi dei client al millisecondo sulla LAN ed entro decine di millisecondi attraverso una WAN. I server NTP sono divisi in strati (stratum). I server NTP primari sono classificati come stratum 1; essi non devono essere usati per sincronizzare le macchine perché sono in numero esiguo. I server pubblici dello stratum 2 sono disponibili per la sinconizzazione dei client e a loro volta si sincronizzano con i server pubblici stratum 1. Si imposteranno i server Kerberos per interrogare tre server stratum 2 usando NTP. Questa è una lista di server pubblici dello stratum 2 [aggiornato dal traduttore].

4.3. Installazione e configurazione di NTP

Per abilitare NTP in GNU Linux è necessario installare il pacchetto NTP ed editare il file di configurazione, che per impostazione predefinita è /etc/ntp.conf. I valori della configurazione di default sono accettabili; bisogna soltanto aggiungere i server che si intende usare per sincronizzare l'orario. Non è necessario usare l'autenticazione ma si può farlo per aumentare la sicurezza; andrà usata se si utilizzano i server NTP della LAN. Quì c'è un esempio di file di configurazione per l'Università GNU di Dublino: ntp.conf.

Per ottenere l'effettiva sincronizzazione si imposta un job di cron:


30 * * * * /usr/sbin/ntpdate -s

Se i sistemi si trovano dietro un firewall si userà -su invece che soltanto -s. L'argomento -u indica a ntpdate di usare porte non privilegiate per la connessione in uscita ai server stratum 2.