NTP — Synchronisation horaire réseau

UDP 123 Ampli DDoS

Qu'est-ce que NTP ?

NTP (Network Time Protocol) synchronise l'horloge des machines sur un réseau via une hiérarchie de serveurs organisés en strates (stratum 0 = horloge atomique/GPS, stratum 1 = serveurs directement synchronisés, etc.). Une horloge précise est critique pour Kerberos (tolérance de 5 minutes par défaut), les logs, et la validité des certificats TLS.

Fonctionnement et stratums

Stratum 0 : horloge de référence (atomique, GPS)
Stratum 1 : serveur synchronisé directement sur stratum 0
Stratum 2 : serveur synchronisé sur un stratum 1
...

# Interroger un serveur NTP
ntpdate -q pool.ntp.org
ntpq -p target          # afficher les pairs (peers)
chronyc sources -v      # avec chrony (systèmes récents)

Amplification DDoS via monlist

La commande historique monlist (NTP control queries, mode 7) renvoie la liste des 600 dernières machines ayant interrogé le serveur. Une requête minuscule peut déclencher une réponse jusqu'à 556 fois plus volumineuse — exploité massivement entre 2013 et 2015 pour des DDoS volumétriques record.

# Identifier les serveurs NTP vulnérables au monlist
nmap -sU -p 123 --script ntp-monlist target

# Requête monlist brute (ntpdc, obsolète sur versions patchées)
ntpdc -n -c monlist target

Énumération de version et infos

# Récupérer la version et les infos système (ntpd leak)
nmap -sU -p 123 --script ntp-info target

# Avec ntpq en mode readvar
ntpq -c readvar target

Défenses

Mettre à jour vers NTP 4.2.7p26+ (monlist désactivé par défaut) · Restreindre les requêtes de contrôle avec restrict default noquery dans ntp.conf · Limiter NTP aux serveurs internes de confiance (pas de service NTP ouvert sur Internet) · Filtrage BCP38 anti-spoofing pour empêcher l'usurpation d'IP source utilisée dans l'amplification · Préférer NTS (Network Time Security) ou au minimum l'authentification par clé symbolique.