Aller au contenu

NTP

NTP (Network Time Protocol) synchronise l’horloge d’une machine sur une source de temps de référence — un service qui semble anodin, mais dont dépendent silencieusement TLS (validité des certificats), Kerberos (les tickets expirent), les journaux d’audit (corréler des événements entre systèmes suppose des horloges synchronisées) et de nombreux mécanismes de sécurité.

NTP organise ses sources de temps en niveaux de confiance :

  • Stratum 0 : les références matérielles elles-mêmes (horloges atomiques, récepteurs GPS) — jamais directement sur le réseau.
  • Stratum 1 : des serveurs directement connectés à une référence stratum 0.
  • Stratum 2, 3… : des serveurs qui se synchronisent sur le niveau au-dessus, jusqu’à 15 strates.

Un client NTP interroge généralement plusieurs serveurs en parallèle, compare leurs réponses, écarte les valeurs aberrantes, et ajuste son horloge progressivement (plutôt que par un saut brutal) pour ne pas perturber les applications sensibles à la continuité du temps.

NTP fonctionne sur UDP/123. Le choix d’UDP privilégie la rapidité de réponse — la précision de la synchronisation dépend justement de mesurer un aller-retour aussi court et prévisible que possible, ce qu’une négociation TCP alourdirait.

Pourquoi un écart d’horloge casse des choses de façon peu évidente

Section intitulée « Pourquoi un écart d’horloge casse des choses de façon peu évidente »
  • Un certificat TLS valide “à partir du” et “jusqu’au” est jugé invalide si l’horloge du client est en dehors de cette fenêtre — un poste avec une horloge très décalée peut voir tous les sites HTTPS comme non sécurisés.
  • Kerberos rejette les tickets si l’écart d’horloge entre client et serveur dépasse une tolérance (5 minutes par défaut sous Active Directory) — une cause fréquente et déroutante d’échecs d’authentification en environnement virtualisé (une VM dont l’horloge dérive après une pause prolongée, par exemple).
  • Une corrélation de logs entre plusieurs serveurs pour reconstituer un incident de sécurité devient peu fiable si leurs horloges ne sont pas synchronisées.

NTP classique n’authentifie pas ses sources par défaut — un attaquant en position d’intercepter le trafic pourrait théoriquement fausser l’heure perçue par une machine. NTS (Network Time Security) ajoute une authentification chiffrée des échanges NTP, en déploiement progressif chez les fournisseurs de temps publics.