16.17. Configurer NTP

Pour modifier la configuration par défaut du service NTP, veuillez utiliser un éditeur de texte exécuté en tant qu'utilisateur root pour modifier le fichier /etc/ntp.conf. Ce fichier est installé avec ntpd et est configuré pour utiliser des serveurs de temps du pool Red Hat par défaut. La page man ntp.conf(5) décrit les options de commande pouvant être utilisées dans le fichier de configuration, mises à part les commandes d'accès et de limitation du taux, qui sont expliquées dans la page man de ntp_acc(5).

16.17.1. Configurer le contrôle d'accès à un service NTP

Pour limiter ou contrôler l'accès au service NTP exécuté sur un système, veuillez utiliser la commande restrict dans le fichier ntp.conf. Voir l'exemple en commentaire :
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
La commande restrict prend la forme suivante :
restrict option
option représente soit :
  • ignore — Tous les paquets seront ignorés, y compris les requêtes ntpq ou ntpdc ou une combinaison de ces options.
  • kod — un paquet « Kiss-o'-death » » (KoD) sera envoyé pour réduire les requêtes indésirables.
  • limited — ne pas répondre aux requêtes de service de temps si le paquet transgresse les valeurs par défaut de la limite de taux ou les valeurs spécifiées par la commande discard. Les requêtes ntpq et ntpdc ne sont pas affectées. Pour obtenir davantage d'informations sur la commande discard et sur les valeurs par défaut, veuillez consulter la Section 16.17.2, « Configurer le taux limite d'accès à un service NTP ».
  • lowpriotrap — interruptions définies comme étant de basse priorité par les hôtes correspondants.
  • nomodify — empêche tout changement de configuration.
  • noquery — empêche de répondre aux requêtes ntpq et ntpdc, mais n'empêche pas de répondre aux requêtes de temps.
  • nopeer — empêche la formation d'association de pairs.
  • noserve — refuse tous les paquets, sauf les requêtes ntpq et ntpdc.
  • notrap — empêche les interruptions de protocole de messages de contrôle ntpdc.
  • notrust — refuse les paquets dont le chiffrement n'est pas authentifié.
  • ntpport — modifie l'algorithme de correspondance pour appliquer la restriction uniquement si le port source est le port standard NTP UDP 123.
  • version — refuse les paquets qui ne correspondent pas à la version NTP actuelle.
Pour configurer l'accès limitant le taux pour ne pas dutout répondre à une requête, la commande restrict respective doit inclure l'option limited. Si ntpd doit répondre avec un paquet KoD, la commande restrict devra inclure les options limited et kod.
Les requêtes ntpq et ntpdc peuvent être utilisées dans les attaques d'amplification (consultez CVE-2013-5211 pour plus de détails), veuillez donc ne pas supprimer l'option noquery de la commande restrict default sur des systèmes accessibles publiquement.

16.17.2. Configurer le taux limite d'accès à un service NTP

Pour activer le taux limite d'accès à un service NTP exécuté sur un système, veuillez ajouter l'option limited à la commande restrict comme expliqué dans Section 16.17.1, « Configurer le contrôle d'accès à un service NTP ». Si vous ne souhaitez pas utiliser les paramètres d'abandon par défaut, alors veuillez également utiliser la commande discard, comme décrit ici.
La commande discard prend la forme suivante :
discard [average value] [minimum value] [monitor value]
  • average — spécifie l'espacement de paquets moyen minimum autorisé, un argument est également accepté en log2 secondes. La valeur par défaut est de 3 (23 équivaut à 8 secondes).
  • minimum — spécifie l'espacement de paquets minimum autorisé, un argument est accepté en log2 secondes. La valeur par défaut est de 1 (21 équivaut à 2 secondes).
  • monitor — spécifie la probabilité d'abandon de paquet une fois que les limites de taux autorisées ont été dépassées. La valeur par défaut est de 3000 secondes. Cette option est conçue pour les serveurs recevant 1000 requêtes ou plus par seconde.
Examples of the discard command are as follows:
discard average 4
discard average 4 minimum 2

16.17.3. Ajouter l'adresse d'un pair

Pour ajouter l'adresse d'un pair, c'est-à-dire l'adresse d'un serveur exécutant un service NTP du même stratum, veuillez utiliser la commande peer dans le fichier ntp.conf.
La commande peer prend la forme suivante :
peer address
address est une adresse de monodiffusion IP ou un nom DNS résolvable. L'adresse doit uniquement être celle d'un système connu comme étant membre du même stratum. Les homologues (peer) doivent avoir au moins une source de temps différente l'un par rapport à l'autre. Habituellement, les homologues sont des systèmes sous le même contrôle administratif.

16.17.4. Ajouter une adresse de serveur

Pour ajouter l'adresse d'un serveur, c'est-à-dire l'adresse d'un serveur exécutant un service NTP d'un stratum plus élevé, veuillez utiliser la commande server dans le fichier ntp.conf.
La commande server prend la forme suivante :
server address
address est une adresse de monodiffusion IP ou un nom DNS résolvable. Adresse d'un serveur de référence distant ou d'une horloge de référence locale à partir de laquelle les paquets seront reçus.

16.17.5. Ajouter une adresse de serveur de diffusion ou de multidiffusion

Pour ajouter une adresse de diffusion ou de multidiffusion sur laquelle envoyer les paquets NTP de diffusion ou de multidiffusion, utilisez la commande broadcast dans le fichier ntp.conf.
Les modes de diffusion et de multidiffusion requièrent une authentification par défaut. Veuillez consulter la Section 16.6, « Options d'authentification NTP ».
La commande broadcast prend la forme suivante :
broadcast address
address est une adresse de diffusion ou de multidiffusion IP sur laquelle les paquets sont envoyés.
Cette commande configure un système pour agir en tant que serveur de diffusion NTP. L'adresse utilisée doit être une adresse de diffusion ou de multidiffusion. Une adresse de diffusion implique l'adresse IPv4 255.255.255.255. Par défaut, les routeurs ne transmettent pas de messages de diffusion. L'adresse de multidiffusion peut être une adresse IPv4 de class D, ou une adresse IPv6. L'IANA a assigné l'adresse de multidiffusion IPv4 224.0.1.1 et l'adresse IPv6 FF05::101 (locale au site) à NTP. Les adresses de multidiffusion IPv4 dans un cadre administratif peuvent également être utilisées, comme décrit dans la page RFC 2365 Administratively Scoped IP Multicast.

16.17.6. Ajouter une adresse de client Manycast

Pour ajouter une adresse de client manycast, autrement dit, pour configurer une adresse de multidiffusion pour une utilisation de type découverte de serveur NTP, utiliser la commande manycastclient dans le fichier ntp.conf.
La commande manycastclient prend la forme suivante :
manycastclient address
address est une adresse de multidiffusion IP à partir de laquelle les paquets seront reçus. Le client enverra une requête à l'adresse et sélectionnera les meilleurs serveurs à partir des réponses et ignorera les autres serveurs. La communication NTP utilise ensuite des associations de monodiffusion, comme si les serveurs NTP découverts étaient répertoriés dans ntp.conf.
Cette commande configure un système pour agir en tant que client NTP. Les systèmes peuvent être client et serveur à la fois.

16.17.7. Ajouter une adresse de client de diffusion

Pour ajouter une adresse de client de diffusion, autrement dit, pour configurer une adresse de diffusion pour que les paquets de diffusion NTP y soient vérifiés, assurez-vous de bien utiliser la commande broadcastclient dans le fichier ntp.conf.
La commande broadcastclient prend la forme suivante :
broadcastclient
Autorise la réception de messages de diffusion. Requiert une authentification par défaut. Veuillez consulter la Section 16.6, « Options d'authentification NTP ».
Cette commande configure un système pour agir en tant que client NTP. Les systèmes peuvent être client et serveur à la fois.

16.17.8. Ajouter une adresse de serveur Manycast

Pour ajouter une adresse de serveur Manycast, autrement dit, pour configurer une adresse afin d'autoriser les clients à découvrir le serveur en effectuant une multidiffusion de paquets NTP, utiliser la commande manycastserver dans le fichier ntp.conf.
La commande manycastserver prend la forme suivante :
manycastserver address
Autorise l'envoi de messages de multidiffusion. Où address est l'adresse sur laquelle effectuer la multidiffusion. Ceci devrait être utilisé en conjonction avec l'authentification afin d'empêcher toute perturbation du service.
Cette commande configure un système pour agir en tant que serveur NTP. Les systèmes peuvent être client et serveur à la fois.

16.17.9. Ajouter une adresse de client de multidiffusion

Pour ajouter une adresse de client de multidiffusion, autrement dit, pour configurer une adresse de multidiffusion pour que les paquets de multidiffusion NTP y soient vérifiés, assurez-vous de bien utiliser la commande multicastclient dans le fichier ntp.conf.
La commande multicastclient prend la forme suivante :
multicastclient address
Autorise la réception de messages de multidiffusion. Où address est l'adresse à laquelle souscrire. Ceci devrait être utilisé en conjonction avec l'authentification afin d'empêcher toute perturbation du service.
Cette commande configure un système pour agir en tant que client NTP. Les systèmes peuvent être client et serveur à la fois.

16.17.10. Configurer l'option Burst

Utiliser l'option burst sur un serveur public est considéré comme un abus. N'utilisez pas cette option sur des serveurs NTP publics. Ne l'utilisez que pour les applications qui appartiennent à votre organisation.
Pour améliorer la qualité moyenne des statistiques de décalage horaire, veuillez ajouter l'option suivante à la fin d'une commande serveur :
burst
À chaque intervalle d'interrogation, lorsque le serveur répond, le système enverra une rafale allant jusqu'à huit paquets au lieu d'un seul paquet habituel. À utiliser avec la commande server pour améliorer la qualité moyenne des calculs de décalage horaire.

16.17.11. Configurer l'option iburst

Pour améliorer le temps pris pour la synchronisation initiale, veuillez ajouter l'option suivante à la fin d'une commande serveur :
iburst
Lorsque le serveur ne répond pas, on envoie une rafale de huit paquets au lieu d'un habituel. Les paquets sont normalement envoyés à intervalles de 2 s ; mais l'espacement peut être changé entre l'envoi du premier et du second paquet par la commande calldelay pour permettre un temps supplémentaire pour l'appel ISDN ou modem. À utiliser avec la commande server pour réduire le temps pris pour une synchronisation initiale. Celle-ci est désormais une option par défaut dans le fichier de configuration.

16.17.12. Configurer l'authentification symétrique en utilisant une clé

Pour configurer l'authentification symétrique en utilisant une clé, veuillez ajouter l'option suivante à la fin d'une commande serveur ou pair :
key number
où le nombre se trouve dans une plage de 1 à 65534 inclus. Cette option autorise l'utilisation d'un code d'authentification de message (message authentication code, ou MAC) dans les paquets. Cette option est conçue pour une utilisation avec les commandes peer, server, broadcast, et manycastclient.
L'option peut être utilisée dans le fichier /etc/ntp.conf comme suit :
server 192.168.1.1 key 10
broadcast 192.168.1.255 key 20
manycastclient 239.255.254.254 key 30
Veuillez également consulter la Section 16.6, « Options d'authentification NTP ».

16.17.13. Configurer l'intervalle d'interrogation

Pour modifier l'intervalle d'interrogation par défaut, veuillez ajouter les options suivantes à la fin d'une commande serveur ou pair :
minpoll value and maxpoll value
Options pour changer l'intervalle d'interrogation par défaut, où l'intervalle en secondes sera calculé en utilisant 2 à la puissance valeur, autrement dit, l'intervalle est exprimé en log2 secondes. La valeur minpoll par défaut est 6, 26 équivaut à 64s. La valeur par défaut de maxpoll est de 10, ce qui équivaut à 1024s. Les valeurs autorisées se trouvent entre 3 et 17 inclus, ce qui signifie entre 8s et 36.4h respectivement. Ces options sont pour une utilisation avec la commande peer ou server. Définir une valeur maxpoll plus basse peut améliorer la précision de l'horloge.

16.17.14. Configurer les préférences du serveur

Pour spécifier qu'un serveur en particulier est préférable à d'autres possédant des qualités statistiques similaires, veuillez ajouter l'option suivante à la fin d'une commande serveur ou pair :
prefer
Veuillez utiliser ce serveur pour une synchronisation préférable à d'autres serveurs possédant des qualités statistiques similaires. Cette option est conçue pour une utilisation avec les commandes peer ou server.

16.17.15. Configurer la valeur de durée de vie (« Time-to-Live ») des paquets NTP

Pour spécifier une valeur de durée de vie particulière (« time-to-live », ou TTL) plutôt qu'utiliser celle par défaut, ajoutez l'option suivante à la fin d'une commande serveur ou pair :
ttl value
Spécifiez la valeur TTL à utiliser dans les paquets envoyés par les serveurs de diffusion et de multidiffusion NTP. Spécifiez la valeur TTL maximale à utiliser pour la recherche « « expanding ring search » » par un client Manycast. La valeur par défaut est de 127.

16.17.16. Configurer la version NTP à utiliser

Pour spécifier une version particulière de NTP à utiliser à la place de celle par défaut, veuillez ajouter l'option suivante à la fin d'une commande serveur ou pair :
version value
Spécifiez la version de NTP définie dans les paquets NTP créés. La valeur peut se trouver dans une gamme allant de 1 à 4. La valeur par défaut est 4.