A propos de NTP

Le NTP gère la synchronisation du temps pour l’ensemble des appareils membres du réseau. L’exactitude de l’heure est nécessaire au bon fonctionnement des systèmes informatiques. Le protocole NTP permet de garantir que l’ensemble du parc reste à l’heure.

Ports utilisé par NTP

Port

Usage

123

TCP et UDP

Pour éviter les attaques par rejeu, le protocole Kerberos impose de time-stamper (mettre l’heure) sur l’ensemble des paquets échangés. Par défaut, le protocole Kerberos accepte un décalage maximal (clock-skew en anglais) de 5 minutes entre le client et le serveur. Au delà de ce décalage, le serveur et le client refuserons les paquets échangés.

Dans le cas de systèmes Windows, le client et le serveur peuvent renégocier un autre protocole moins sécurisé, le NTLM, si l’authentification Kerbéros échouerait à cause d’un décalage de temps. Ainsi on peut avoir des postes avec un soucis de NTP sur un réseau sans pour autant s’en rendre compte. De même un des serveurs peut avoir un décalage de temps et refuser les paquets des clients qui eux sont à l’heure.

Vu que le temps est important pour la sécurité (cf. par exemple la remarque ci-dessus), Microsoft a choisi de signer les paquets NTP dans le mode NT5DS. Les postes Windows hors domaine sont configurés par défaut en mode NTP sur les serveurs public de Microsoft. Quand on intègre un poste au domaine, le poste bascule automatiquement en mode NT5DS.

Au niveau des serveurs Linux, le serveur NTP historique est ntpd, mais il est progressivement remplacé par des implémentations plus modernes, comme chrony.