Le protocole NTP permet de diffuser une information temporelle au sein d’un réseau, pour s’assurer que toutes les horloges d’un réseau sont synchronisées avec un décalage acceptable. Ce protocole fait partie des premiers à être apparu et à rencontrer un très grand succès. NTP est facile à mettre en place puisqu’il fonctionne sur le réseau Internet et qu’il existe des serveurs publics pour récupérer l’heure.
Cette utilisation d’Internet comme réseau support pour le protocole, présente beaucoup d’avantages mais aussi des inconvénients, comme le fait d’exposer les serveurs à des attaques extérieures type attaque par déni de service distribué (DDoS). Ce type d’attaque peut paralyser entièrement un réseau et avoir un impact majeur sur l’activité d’une entreprise.
Il est essentiel de bien connaître les possibilités du protocole NTP pour configurer son réseau de manière optimale. Une configuration adéquate permet non seulement d’exploiter au maximum les avantages du NTP, mais aussi de se prémunir contre les attaques potentielles.
Les différents modes de fonctionnement du Network Time Protocol
Pour se protéger au mieux, il est important de ne pas se reposer sur des serveurs NTP publics, mais de plutôt de concevoir son réseau de manière autonome en se synchronisant sur un serveur de temps fiable avec une source de référence comme le GPS.
NTP peut-être opéré de plusieurs manières :
- Unicast : Ce mode de fonctionnement est le mode de fonctionnement standard de NTP dans lequel le client envoie périodiquement une demande d’horodatage, aux serveurs auxquels il est connecté, pour synchroniser son horloge.
- Broadcast : Ici la synchronisation n’est pas initiée par les clients mais par les serveurs qui publient périodiquement leur horodatage sur le réseau. Les clients abonnés aux serveurs peuvent utiliser les horodatages reçus pour synchroniser leur horloge.
- Multicast : Le mode multicast est une variante du broadcast où les serveurs n’envoient pas leur horodatage à tout le réseau mais à une adresse multicast spécifique. Ce mode réduit légèrement la charge réseau mais nécessite des équipements réseaux capables de prendre en compte le multicast.
- Manycast : Ce nouveau mode est apparu avec NTPv4. C’est une variante du multicast dans lequel les clients trouvent les serveurs les plus proches grâce à un mécanisme dédié. Une fois les serveurs trouvés, les clients vont entamer des connexions unicast avec ces derniers. En répartissant stratégiquement les serveurs dans le réseau il est possible de répartir la charge de chaque serveur pour optimiser le réseau.
Ce dernier mode de diffusion est le plus récent et est pensé pour être le plus efficace. C’est le mode de diffusion à privilégier lorsque l’on est équipé du matériel pour le mettre en place. Il faut que tous les équipements puissent opérer NTPv4.
Quel que soit le mode de diffusion des horodatages retenu, il est important de prendre le temps de sécuriser son réseau pour se prémunir contre les attaques.
Une faille bien connue et largement documentée concerne les messages de contrôle NTP, le fameux mode 6. En effet, si les communications sur le réseau ne sont pas authentifiées, il est possible de récupérer de nombreuses informations ou d’initier une attaque par amplification au sein du réseau NTP. Il faut mettre à jour les serveurs NTP vers une version corrigée permettant de se protéger ou plus simplement désactiver les messages de contrôle pour être certain d’être immunisé contre cette faille.
Une bonne pratique fondamentale lorsque l’on configure un réseau NTP est de sécuriser les échanges en authentifiant les communications. Cela évite que les attaquants se fassent passer pour une machine du réseau. L’authentification des messages NTP sur le réseau permet de se protéger contre une large gamme d’attaques. Sur les équipements récents, elle est activée par défaut.
Afin de se protéger contre la corruption éventuelle de certains serveurs, il est possible d’appairer les serveurs NTP. Ce type de fonctionnement en « peer-to-peer » permet aux équipements NTP d’agir en tant que client et serveur en même temps. Cela peut être utile pour détecter le décalage d’un serveur.
Quel que soit le mode de fonctionnement retenu, et les mesures mises en place pour contrer les attaques, il est important de bien superviser son réseau pour être averti en cas de comportement suspect et pouvoir réagir au plus vite. Plusieurs solutions existent pour superviser son réseau temporel. L’important est d’être capable de détecter au plus tôt le dérèglement d’une ou plusieurs horloges de manière significative. Monitorer le trafic NTP de son réseau permet de repérer aisément tout trafic anormal avant que celui-ci puisse avoir un impact négatif.
De manière générale, il est prudent de suivre les Best Current Practice (BCP 38, présenté dans la RFC2827) pour se prémunir contre les attaques de type DDoS. La RFC 8633, quant à elle, présente les meilleures pratiques à mettre en place pour le protocole NTP, que ce soit au niveau de la sécurité ou autre.
Penser en amont la configuration de son réseau NTP est nécessaire afin de tirer le meilleur parti de ce protocole et d’avoir une synchronisation temporelle efficace et sécurisée. Si l’on respecte certaines précautions et que l’on prend le temps de mettre en place les mesures de sécurité adéquates, il est alors possible de se prémunir contre la majeure partie des attaques dont les attaques par déni de service distribué et d’avoir une synchronisation temporelle de qualité avec un coût en ressources optimisé.
Avec plus de 150 ans d’expertise en gestion des temps et présent dans plus de 140 pays, l’activité Time du groupe Bodet est un acteur majeur de la synchronisation horaire et du temps fréquence. L’installation en local d’un serveur de temps NTP Netsilon assure une synchronisation temporelle fiable et renforce la sécurité d’un réseau informatique.