Protocoles NTP et SNTP : différences et fonctionnement

La NTP (Réseau Protocole horaire) et SNTP (Simple Network Time Protocol) sont deux protocoles fondamentaux pour le bon fonctionnement d'Internet. Les deux protocoles permettent à tous les appareils d'un réseau, tels que les ordinateurs, serveurs, commutateurs, routeurs, Smart TV ou tout autre appareil connecté à Internet, d'avoir l'heure correcte sur votre système, dans le but de ne pas avoir de problèmes lors de la navigation. en ligne ou effectuer n'importe quelle tâche. Aujourd'hui, dans cet article, nous allons expliquer en détail les deux protocoles temporels, les différences entre NTP et SNTP et aussi comment ils sont configurés dans les différents appareils.

Protocoles NTP et SNTP

Qu'est-ce que NTP (Network Time Protocol) et comment ça marche ?

Le protocole NTP est le premier protocole lancé pour synchroniser les horloges des différents systèmes informatiques , NTP ne fonctionne pas seulement sur les ordinateurs ou les serveurs, mais ils sont une partie fondamentale des routeurs, des commutateurs, WiFi points d'accès et tout type d'équipement réseau, comme les pare-feu. NTP a été l'un des premiers protocoles Internet né en 1981, et il est toujours utilisé pour synchroniser les horloges de différents systèmes informatiques. Le protocole NTP vous permet de synchroniser l'heure avec différents serveurs NTP déployés dans le monde entier et accessibles via Internet, de plus, le protocole NTP vous permet de synchroniser l'heure même si nous avons une latence très élevée ou variable , puisqu'il intègre des mécanismes pour éviter les décalages dus à cette latence.

Le protocole NTP utilise le Protocole de couche de transport UDP sur le port 123 pour communiquer avec les différents serveurs NTP dans le monde . Un détail très important est que ce protocole NTP utilise le port UDP 123 à la fois dans le port source et dans le port de destination, nous devons donc en tenir compte si nous avons des périphériques derrière un pare-feu ou s'il existe des listes de contrôle d'accès dans les différents commutateurs administrables du réseau local. Si vous avez un appareil qui utilise le protocole NTP et un commutateur gérable avec les différentes attaques réseau activées, vous devez désactiver le " Attaque Blat ” attaque pour que le protocole NTP fonctionne correctement. Cette « attaque Blat » consiste à bloquer les paquets TCP ou UDP qui ont les mêmes ports source et destination, exactement ce que fait NTP lorsqu'il utilise les ports source et destination UDP 123. Par conséquent, nous devons en tenir compte au moment de configurer notre réseau.

La version actuelle de NTP est la version 4, car, au fil du temps, cet important protocole a été mis à jour et amélioré. Le protocole NTP utilise l'échelle de temps UTC (Coordinated Universal Time), y compris la prise en charge des secondes intercalaires. De plus, la dernière version de NTP permet de rester synchronisé avec une différence maximale de 10 millisecondes via Internet, dans le cas d'être sur le réseau local, il est possible d'approcher jusqu'à 200 microsecondes de précision, bien que cela dépende de la configuration de votre réseau. Dans différents systèmes d'exploitation tels que Windows, Linux/Unix ou macOS, le protocole NTP est toujours en cours d'exécution pour se synchroniser correctement avec les serveurs de temps.

Au fil du temps, des problèmes de sécurité liés au protocole NTP ont été détectés, tant dans l'implémentation dans les différents systèmes d'exploitation, dans les clients NTP des différents ordinateurs, que dans la sécurité intrinsèque du protocole lui-même, qu'il n'utilise pas. tout type d'authentification ou de cryptage des données pour l'échange de messages. Les serveurs NTP sont sensibles aux attaques Man in the Middle, à moins que les paquets ne soient signés cryptographiquement, il en va de même pour les ordinateurs eux-mêmes, il pourrait effectuer des attaques MitM pour modifier l'heure sur les ordinateurs finaux. Le protocole NTP envoie toutes les informations en clair, il n'a aucun type de cryptage, l'authenticité ou l'intégrité des données est vérifiée. Pour éviter cela, l'heure du réseau Sécurité (NTS) a été conçu, qui est la version sécurisée de NTP utilisant TLS et AEAD pour protéger la communication, et que personne ne peut usurper l'identité d'un serveur NTP pour mal configurer l'heure sur notre système.

Que faire si je n'ai pas l'heure exacte sur mon système ?

Garder l'heure exacte sur un système informatique est très important, sinon certains logiciels pourraient ne pas fonctionner, et ils pourraient même mener des attaques informatiques sur nous. Si dans notre système d'exploitation nous n'avons pas l'heure correctement configurée, nous pourrions avoir les problèmes suivants :

  • Impossibilité de naviguer sur Internet avec n'importe quel navigateur Web, en fonction de l'heure configurée, il indiquera en permanence des erreurs dans les différents certificats SSL / TLS des sites Web.
  • Problèmes avec certains logiciels qui ont besoin de l'heure correcte pour fonctionner.
  • Nous pourrions avoir des problèmes avec les mises à jour Windows.

Dans les routeurs et les pare-feu, ne pas avoir l'heure correcte signifie également ne pas pouvoir établir VPN tunnels si des certificats numériques sont utilisés, car il est possible que l'heure soit en dehors de la date et de l'heure de création du certificat ou de son expiration, en plus, tous les enregistrements ils apparaîtront avec une heure incorrecte, nous devons donc également en tenir compte Compte. Dans le cas des commutateurs gérables par NTP, nous avons le même, nous ne pouvions pas voir les enregistrements correctement avec leur date et leur heure, et nous ne pouvions pas non plus programmer le PoE pour activer et désactiver les points d'accès. Enfin, un autre équipement réseau qui pourrait être endommagé sont les contrôleurs WiFi, nous n'avons pas pu voir à quelles heures il y a plus de trafic, car l'heure est mal configurée.

Comme vous pouvez le voir, nous avons de nombreux problèmes lorsqu'il s'agit de ne pas avoir l'heure correcte dans un certain système informatique.

Qu'est-ce que SNTP (Simple Network Time Protocol) et comment ça marche ?

La SNTP (Simple Network Time Protocol) est un implémentation moins complexe du protocole NTP , il utilise le même protocole et sert le même objectif. Ce protocole est largement utilisé dans les équipements embarqués tels que les routeurs domestiques ou les commutateurs domestiques, où la pleine capacité du protocole NTP n'est pas requise. Actuellement, le protocole utilisé est SNTPv4 et est défini dans la RFC4330.

SNTPv4 permet un accès simplifié pour les serveurs et les clients qui utilisent les versions actuelles et précédentes de NTP et SNTP lui-même, l'accès est identique au protocole UDP/TIME, donc l'adaptation doit être très simple. Ce protocole est conçu pour fonctionner dans une configuration de serveur dédié qui comprend un radio-réveil intégré, de plus, les latences ont été améliorées et contrôlées, l'heure exacte peut être saisie en plusieurs microsecondes sans aucun problème.

SNTP a évolué au fil du temps, améliorant ses performances ainsi que sa compatibilité avec les différents protocoles sous-jacents. Par exemple, le seul changement significatif de SNTPv4 par rapport aux versions précédentes sont les en-têtes pour s'adapter au protocole IPv6. Certaines extensions optionnelles ont également été ajoutées au NTP de base Actuellement, lorsque nous configurons le serveur NTP dans les différents clients NTP qui existent dans le monde, le fonctionnement et l'échange d'informations peuvent être effectués à la fois en utilisant les protocoles NTP et SNTP, le fonctionnement c'est le même puisque nous avons la compatibilité.

Différences entre NTP et SNTP

La principale différence entre NTP et SNTP est que ce dernier ne nécessite aucun type de stockage d'état pendant de très longues périodes, ce que fait le protocole NTP. Une différence très importante pour les administrateurs réseau est le fonctionnement des communications, pour autoriser ou refuser le trafic sur les pare-feu ou créer des listes de contrôle d'accès sur des commutateurs gérables.

Le protocole NTP fonctionne avec le protocole UDP sur le port 123, ce port UDP 123 est utilisé en communication aussi bien à la source qu'à la destination. Comme nous l'avons expliqué précédemment, si vous avez activé l'« attaque Blat » dans les switchs, et que vous avez un appareil qui utilise le protocole NTP pur, il bloque sûrement le trafic uniquement depuis le NTP à votre insu.

Le protocole SNTP fonctionne avec le protocole UDP sur le port 123, le utilise un port UDP aléatoire comme source , et le port UDP 123 comme destination. Selon la norme SNTP, le port source peut être tout sauf 0 afin d'effectuer le multiplexage, bien entendu, le serveur répond correctement sur le port source choisi par le client lors de la première communication afin de ne pas avoir de problèmes avec le NAT qu'il avoir les routeurs. L'objectif de ce changement important est de permettre l'identification d'un client spécifique, afin de ne pas avoir de problèmes avec le NAT, et d'éviter que les commutateurs avec Blat Attack activé ne bloquent les communications.

Comme vous l'avez vu, les protocoles NTP et SNTP sont deux protocoles fondamentaux et très importants pour les systèmes informatiques, il est essentiel d'avoir l'heure correctement configurée, que ce soit dans votre système d'exploitation de bureau ou dans les différents équipements réseau dont vous disposez.