Sicurezza NTP con autenticazione e riferimenti temporali affidabili

NTP (Network Time Protocol) sincronizza le reti ad una sola fonte volta usando timestamp per rappresentare l'ora corrente del giorno, questo è essenziale per le transazioni sensibili di tempo e molte applicazioni di sistema come la posta elettronica.

L'NTP è quindi vulnerabile alle minacce alla sicurezza, da un hacker malintenzionato che vuole modificare il timestamp per commettere frodi o un attacco DDoS (Distributed Denial of Service - normalmente causato da malware dannoso che inonda un server con traffico) che blocca l'accesso al server.

Tuttavia, essendo uno dei protocolli più vecchi di Internet e sviluppato per oltre 25 anni, NTP è dotato di proprie misure di sicurezza sotto forma di autenticazione.

L'autenticazione verifica che ogni timestamp è venuto dal riferimento temporale previsto analizzando una serie di chiavi di crittografia concordati che vengono inviati insieme alle informazioni del tempo. NTP, utilizzando la crittografia Message Digest (MD5) a un-crittografare la chiave, analizza e conferma se è venuto dalla fonte tempo di fiducia attraverso la verifica contro una serie di chiavi di fiducia.

chiavi di autenticazione attendibili sono elencati nel file di configurazione del server NTP (ntp.conf) e sono normalmente memorizzati nel file ntp.keys. Il file chiave è normalmente molto grande ma le chiavi di fiducia dire al server NTP quale set di sottoinsieme di chiavi è attualmente attivo e che non sono. Diverse sottoinsiemi possono essere attivati ​​senza modificare il file utilizzando il comando ntp.keys trusted-keys config.

L'autenticazione è quindi molto importante per proteggere un server NTP da attacchi malevoli; tuttavia ci sono molti riferimenti temporali in cui l'autenticazione non può essere considerata attendibile.

Microsoft, che ha installato una versione di NTP nei propri sistemi operativi da Windows 2000, raccomanda vivamente di utilizzare una sorgente hardware come riferimento temporale, in quanto non è possibile autenticare le origini Internet.

L'NTP è fondamentale per mantenere sincronizzate le reti, ma è altrettanto importante mantenere i sistemi al sicuro. Mentre gli amministratori di rete spendono migliaia di software anti-virali / malware molti non riescono a individuare la vulnerabilità nei loro server di riferimento.

Molti amministratori di rete si affidano ancora a fonti Internet per il loro riferimento temporale. Mentre molti forniscono una buona fonte per il tempo UTC (Coordinated Universal Time - lo standard internazionale di tempo), come nist.gov, la mancanza di autenticazione significa che la rete è aperta all'abuso.

Altre fonti di tempo UTC sono più sicuri e possono essere utilizzati con apparecchiature costo relativamente basso. Il metodo più semplice è quello di utilizzare un time server NTP GPS specialista in grado di connettersi a un'antenna GPS e ricevere un timestamp autenticato via satellite.

I time server GPS possono fornire la precisione al tempo UTC entro pochi nanosecondi a condizione che l'antenna abbia una buona visione del cielo. Sono relativamente economici e il segnale è autenticato fornendo un riferimento temporale sicuro.

In alternativa ci sono diverse trasmissioni nazionali che trasmettono un riferimento temporale. Nel Regno Unito questo viene trasmesso dal Laboratorio di Fisica Nazionale (NPL) in Cumbria. Sistemi simili operano in Germania, Francia e Stati Uniti. Mentre questo segnale viene autenticato, queste trasmissioni radiofoniche sono vulnerabili alle interferenze e hanno una gamma limitata.

Autenticazione per NTP è stato sviluppato per evitare maligni manomissioni con la sincronizzazione del sistema così come i firewall sono stati sviluppati per proteggere le reti dagli attacchi ma come con qualsiasi sistema di sicurezza funziona solo se viene utilizzato.

Questo post è stato scritto da

Richard Williams N

Richard N Williams è un autore tecnico e specialista nel settore della sincronizzazione server NTP e ora. Richard Williams N su Google+