Un serveur à l'heure (ntpd) §

Il est essentiel que votre serveur dispose d'une date et d'une heure justes. Normalement un système d'exploitation, et OpenBSD fait de même, récupère cette information depuis le matériel (carte mère).

Néanmoins, dans certains cas cette donnée n'est pas fiable : matériel embarqué, machine virtuelle... Votre machine doit disposer d'une date et d'une heure précises avec peu de variation, sinon certaines données n'auront plus de valeur et vous devrez faire face à de nombreux problèmes : fichiers de logs inutiles, agenda fou, bases de données corrompues...

Afin de maintenir à l'heure votre beau serveur, nous allons utiliser OpenNTPD qui permet de synchroniser notre horloge à intervalles réguliers sur des serveurs de temps de confiance. Pas d'inquiétude, là encore c'est très simple.

OpenNTPD développé par l'équipe OpenBSD est déjà présent sur votre machine 😁. Nous devons juste préciser à notre serveur de lancer OpenNTPD au démarrage (c'est normalement déjà le cas par défaut).

# rcctl enable ntpd

Nous allons maintenant passer à l'étape de configuration. Tout se passe dans le seul fichier /etc/ntpd.conf. Vous pouvez copier l'exemple depuis /etc/examples/ntpd.conf.

# See ntpd.conf(5) and /etc/examples/ntpd.conf

# http://support.ntp.org/bin/view/Servers/WebHome#Finding_A_Time_Server

# Serveurs de backup
servers fr.pool.ntp.org
servers pool.ntp.org
server time.cloudflare.com

# use all detected timedelta sensors
sensor *

# constraint without requiring DNS resolution
constraint from "9.9.9.9" 
constraint from "2620:fe::fe"
# get the time constraint from a well-known HTTPS site
constraints from "www.openbsd.org"

On liste plusieurs serveurs de temps utilisés et on termine avec une contrainte relative à des sites disponibles via https (de confiance) pour éviter les attaques "Man in the middle".

Gardez "#listen on *" commenté puisque vous n'êtes que clients : ce n'est pas vous qui indiquez aux autres serveur quelle est la bonne heure.

Terminez par relancer ntpd pour prendre les changements en compte :

# rcctl restart ntpd

Et voilà 😊


Table des matières

Donate