02.95384218     [email protected]

NTP

Le Best Practice per il servizio NTP

Le Best Practice per il servizio NTP

E alcune considerazioni sulla sicurezza del servizio

Il protocollo NTP (Network Time Protocol) sincronizza l'ora di un client o server con un altro server entro pochi millisecondi da Coordinated Universal Time (UTC). I server NTP, da tempo considerati un servizio di base di Internet, sono stati recentemente utilizzati per amplificare attacchi DDoS (Distributed Denial of Service) su larga scala.
Mentre il 2016 non ha visto un notevole aumento della frequenza degli attacchi DDoS, gli ultimi anni hanno assistito ad alcuni dei maggiori attacchi DDoS, secondo il rapporto sullo stato della sicurezza Internet di Akamai. Un problema che gli aggressori hanno sfruttato sono i server NTP abusabili. Nel 2014, c'erano oltre sette milioni di server NTP abusabili. A seguito di aggiornamenti software, file di configurazione errati o del semplice fatto che ISP e IXP hanno deciso di bloccare il traffico NTP, il numero di server utilizzabili è diminuito di quasi il 99 percento in pochi mesi, secondo un articolo di gennaio 2015 nella coda ACM. Ma c'è ancora del lavoro da fare. Ci vogliono solo 5.000 server NTP abusabili per generare un attacco DDoS nell'intervallo 50-400 Gbps. In questo post del blog, verranno presentate alcune sfide legate ad  NTP e le best practice per garantire un tempo preciso con questo protocollo.

A man with a watch knows what time it is. A man with two watches is never sure.

Legge di Segal
ntp-server
Lo scienziato informatico David L. Mills ha creato NTP nei primi anni '80 per sincronizzare gli orologi per computer con un riferimento temporale standard. Sin dalla nascita di NTP, un gruppo di volontari con il progetto del pool NTP ha mantenuto un "cluster virtuale" di server di servizi virtuali di grandi dimensioni, disponibile al pubblico, che fornisce un servizio NTP affidabile e facile da usare per milioni di clienti in tutto il mondo per molte distribuzioni Linux e dispositivi di rete.
Il protocollo standard per NTP è User Datagram Protocol (UDP). Questa decisione progettuale ha creato opportunità di abuso. UDP, che è privo di connessione, è un protocollo più sensibile allo spoofing e alla perdita di pacchetti rispetto a TCP (Transmission Control Protocol). Mentre i volontari del progetto di pool NTP hanno continuato a far progredire NTP, la motivazione di molti amministratori di rete e titolari di aziende a rattoppare le proprie attrezzature non è così forte. Fin dalla sua istituzione, il protocollo di rete NTP è stato integrato in innumerevoli sistemi, molti dei quali non sono stati corretti e potrebbero eseguire codice vecchio di 20 revisioni o più.

Attacks Related to NTP Vulnerabilities

NTP is how virtually every computer you interact with keeps its clock accurate, which is a function so fundamental to the functioning of the Internet that it can't be overstated... What's more, vulnerabilities in NTP had turned the Internet's many time-servers into force-multipliers for Denial of Service attacks, making merely punishing attacks into nearly unstoppable ones.

Cory Doctorow ha scritto recentemente riguardo al potenziale rischio di NTP non aggiorati
Il metodo utilizzato per i recenti attacchi DDoS non si basa su vulnerabilità ma su una configurazione errata. Una singola piccola richiesta con una fonte falsificata può generare un elenco di 600 server ed essere inviata a una destinazione. Anche se non vi è alcuna vulnerabilità, quando centinaia o migliaia di questi server vengono reindirizzati a un obiettivo inconsapevole, sicuramente l'impatto è considerevole.

La sincronizzazione temporale sui sistemi, o la loro mancanza, può essere un fattore che contribuisce in modo significativo alle vulnerabilità che possono compromettere le funzioni di base di un sistema. Oltre all'abuso di NTP che contribuisce agli attacchi DDoS, la mancanza di sincronizzazione del tempo su una rete crea un'opportunità per gli attacchi di replay (vale a dire, gli attacchi playback).

Ad esempio, un attacco di playback può verificarsi quando un utente tenta di autenticarsi nei confronti di un altro utente. Un malintenzionato nel mezzo intercetta il messaggio e gli impedisce di raggiungere il bersaglio. L'utente malintenzionato invia quindi una richiesta di conferma dell'identità e se il tempo non è sincronizzato, la finestra che consente questo scambio può essere aumentata. Di conseguenza, gli utenti validi possono essere indotti a pensare di aver confermato con successo l'identità di un impostore che si propone come un utente legittimo. In tutta onestà, questo tipo di attacco replay è raro ed estremamente impegnativo da eseguire con successo senza accesso alla rete, al percorso di comunicazione e a una macchina compromessa in quel percorso.

Molti esperti di sicurezza, come Shaun Kelly, hanno notato che NTP è stato utilizzato per manipolare i registri e modificare il tempo su un sistema informatico, alterando la sequenza degli eventi. Quando i clock non sono sincronizzati, gli analisti di rete hanno difficoltà a eseguire la correlazione dei registri tra sistemi diversi. La manipolazione di NTP può rendere l'identificazione delle attività di rete e la sequenza di eventi che portano a un attacco molto più difficile da individuare.

Altre applicazioni che potrebbero essere a rischio perché il tempo non funziona correttamente includono il trading ad alta velocità e le telecamere di sicurezza. Molti algoritmi di crittografia sensibili al tempo che coinvolgono scambi di chiavi e token sono anche a rischio a causa delle debolezze di NTP.

Ora continuiamo con le best practice per la configurazione del proprio server NTP e l'utilizzo di un server NTP pubblico.

La maggior parte dei server NTP pubblici specifica regole di ingaggio. Se un'azienda ha più dispositivi all'interno dell'impresa che utilizzeranno il servizio NTP, sarebbe logico impostare la una gerarchia per la sincronizzazione invece di competere per l'accesso ai server disponibili al pubblico.

È possibile acquistare dispositivi NTP Stratum 1 da utilizzare internamente a un costo inferiore rispetto a un tipico server. È anche possibile configurare un server NTP privato a un costo molto basso.

NTP Best Practices

  • Standardizzare ora UTC. All'interno di un'azienda, standardizzare tutti i sistemi a tempo universale coordinato (UTC). La standardizzazione con UTC semplifica la correlazione dei log all'interno dell'organizzazione e con parti esterne, indipendentemente dal fuso orario in cui si trova il dispositivo da sincronizzare.
  • Protezione del servizio orario di rete. Limitare i comandi che possono essere utilizzati sui server stratum 1. Non consentire query pubbliche. Consentire solo a reti / host noti di comunicare con i rispettivi server NTP stratum 1.
  • Considera l'utilizzo di crittografia. Molti amministratori cercano di proteggere le proprie reti con comunicazioni crittografate e autenticazione crittografata. Vorrei introdurre una nota di cautela qui perché sebbene ci siano servizi crittografici associati a NTP per proteggere le comunicazioni NTP, l'uso della crittografia introduce più fonti di problemi, come la necessità di gestire le chiavi, e richiede anche un sovraccarico computazionale più elevato.
  • Ricorda la legge di Segal. Idealmente, hai bisogno di almeno 4 Stratum 1 e utilizzare tali server come master primari. Ricorda la legge di Segal: avere due server NTP rende difficile sapere quale sia accurato.
  • Distribuisci il carico. Le posizioni che hanno più dispositivi che necessitano di sincronizzare il proprio clock possono aggiungere ulteriori server Stratum 2 o Stratum 3 e fare in modo che facciano affidamento sia sui master secondari per distribuire ulteriormente il carico.
  • Mantieni aggiornati i sistemi. Basare un servizio NTP interno sull'ultima revisione del codice stabile riduce la possibilità di attacchi. Per le forze dell'ordine e altre agenzie investigative, accurati servizi NTP possono essere molto importanti nella valutazione delle prove e nella sequenza di una catena di eventi.

Prodotti correlati

Meinberg M1000

Il LANTIME M1000 è un apparato modulare aggiornabile sul campo ed estremamente flessibile che copre le esigenze di sincronizzazione di oggi e di domani.

Meinberg microSync

microSync è un Timeserver / PTP Grandmaster che all'interno di mezza unità rack dispone di svariate uscite e garantisce delle performance elevate.

Categorie

I più letti