Outils pour utilisateurs

Outils du site


network:service:ntpd

NTPD : Serveur de temps

OpenNTPD est intégré nativement dans OpenBSD.

Documentation

⇒ les différents manpage :

Serveurs NTP

Les adresses de serveurs NTP sont visibles depuis la page pour trouver un serveur.

Les serveurs de pool NTP sont par zones mondiales comportant plusieurs pays.

Configuration

Le fichier de configuration est /etc/ntpd.conf.

Il est apparu dans OpenBSD 3.6.

Des différentes options :

  • listen on address [rtable table-id] : spécifie l'adresse ip locale ou le nom d'hôte que doit écouter le service ntpd(8). Si l'option est spécifiée plusieurs fois, le service écoutera chacune des adresses données. Si le symbole * est donné, ntpd écoutera toutes les adresses locales où est spécifiée la table de routage. Le mot-clé rtable indique quelle table de routage écouter. Par défault, ntpd écoute la table de routage en cours.
  • query from address : spécifie l'adresse IP locale que le démon ntpd(8) doit utiliser pour les requêtes sortantes vers des serveurs spécifiés ultérieurement.
  • sensor device : spécifie un périphérique d'écoute de temps que ntpd(8) doit écouter. S'ils sont spécifiés plusieurs fois, ntpd utilisera chaque capteur donné en référence qui existe vraiment ; ceux qui sont inexistants sont ignorés. Si le symbole * est donné, ntpd essaiera d'écouter tous les capteurs qu'il trouvera. Par défaut, ntpd n'utilise aucun capteur.
  • server address [weight weight-value] : spécifie l'adresse IP ou le nom d'hôte d'un serveur NTP à synchroniser. ntpd essaiera de se synchroniser sur tous les serveurs spécifiés, si cette option est utilisée plusieurs fois. Si un nom d'hôte fonctionne sur la double couche réseau IPv4|6, ntpd utilisera la première adresse réseau. Si ntpd n'a pas de réponse d'une adresse, il utilisera la suivante jusqu'à ce qu'une réponde. Il est recommandé de configurer plusieurs serveurs, de préférence des serveurs à faible latence, afin d'obtenir une meilleure précision
  • servers address [weight weight-value] : identique à l'option server, à la différence que si les serveurs ont plusieurs adresses IP, ntpd essaiera de se synchroniser sur toutes ces adresses.
  • constraint from url : spécifie une URL, l'adresse IP ou le nom d'hôte d'un serveur HTTPS pour fournir une contrainte. Si la contrainte donnée est utilisée plus d'une fois, ntpd(8) calculera une contrainte médiane à partir de tous les serveurs spécifiés.
  • constraints from url : identique à l'option constraint from, à la différence que si le nom d'hôte est résolu sur plusieurs adresses IP, ntpd(8) calculera une contrainte médiane à partir de toutes ces adresses.

À-propos des options de contraintes :
ntpd(8) peut être configuré pour interroger la 'Date' des serveurs HTTPS de confiance via TLS. Cette information de temps n'est pas utilisée pour la précision mais agit comme une contrainte authentifiée, réduisant ainsi l'impact des attaques NTP non authentifiées de l'homme au milieu. Les paquets NTP reçus dont les informations temporelles se situent en dehors d'une plage proche de la contrainte seront rejetés et ces serveurs NTP seront marqués comme invalides.


Dans ce mail, Theo de Raadt explique pourquoi il n'est pas désirable de personnaliser les paramètres de contraintes autrement que ceux que l'équipe fixe. Où l'on apprend aussi que le domaine www.openbsd.org ne doit pas être invoqué, non plus…

Exemple

/etc/examples/ntpd.conf
# $OpenBSD: ntpd.conf,v 1.5 2019/11/11 16:44:37 deraadt Exp $
# sample ntpd configuration file, see ntpd.conf(5)
 
# Addresses to listen on (ntpd does not listen by default)
#listen on *
 
# sync to a single server
#server ntp.example.org
 
# use a random selection of NTP Pool Time Servers
# see http://support.ntp.org/bin/view/Servers/NTPPoolServers
servers pool.ntp.org
 
# time server with excellent global adjacency
server time.cloudflare.com
 
# use a specific local timedelta sensor (radio clock, etc)
sensor nmea0 trusted
 
# use all detected timedelta sensors
#sensor *
 
# get the time constraint from a well-known HTTPS site
constraint from "9.9.9.9"		# quad9 v4 without DNS
constraint from "2620:fe::fe"		# quad9 v6 without DNS
constraints from "www.google.com"	# intentionally not 8.8.8.8

Retrouvez un exemple de configuration de serveur NTPD.

Service NTPD

Le démon ntpd synchronise l'horloge locale sur un ou plusieurs serveurs NTP distants ou capteurs timedelta locaux. ntpd peut également agir comme un serveur NTP lui-même, redistribuant l'heure locale. Il implémente la version 4 de Simple Network Time Protocol, telle que décrite dans la RFC 5905, et la version 3 de Network Time Protocol, telle que décrite dans la RFC 1305. Le temps peut également être récupéré depuis les serveurs HTTPS pour réduire l'impact des attaques NTP dites “man-in-the-middle” (l'homme au milieu) non authentifiées.

Le service ntpd est apparu la première fois dans OpenBSD 3.6.

Les options possibles au service sont :

  • -d : ne pas mettre en service. ntpd fonctionnera alors en arrière plan, et journalisera vers la sortie stderr.
  • -f fichier : utilisera le fichier de configuration spécifié au lieu du fichier de configuration par défaut.
  • -n : test la validité du fichier de configuration. À n'utiliser que pour cela.
  • -S : annule les effets de l'option -s.
  • -s : essaye toujours de régler l'heure au démarrage de la machine. Par défaut, ntpd essaye de régler l'heure au démarrage, uniquement si les contraintes sont configurées et satisfaites. ntpd restera au premier plan jusqu'à 15 secondes en attendant la réponse d'un des serveurs NTP configurés.

Pour gérer le service… il faut activer le drapeau -s pour que le serveur ntpd essaye de modifier l'heure locale, immédiatement au moment du (re)démarrage du serveur.

Le Contrôleur ntpctl

Le contrôleur ntpctl est un programme qui affiche les informations liées au service ntpd(8).

Les options possibles sont :

  • -s all | peers | Sensors | status :
    • all : affiche toutes les informations possibles
    • peers : affiche les informations relatives à chaque pair
    • Sensors : affiche les informations relatives à chaque capteur.
    • status : indique l'état des pairs et des capteurs, et si l'horloge du système est synchronisée.

Le contrôleur est apparu la première fois dans OpenBSD 5.5.


Contribut(rice|eur)s :

pengouinpdt
network/service/ntpd.txt · Dernière modification: 2020/05/25 00:29 par pengouinpdt