Recherche de site Web

Comment installer et configurer le serveur et le client NTP sur Debian


Le Network Time Protocol (NTP) offre aux entreprises une capacité unique de synchroniser les horloges de tous les systèmes de l'entreprise. La synchronisation de l'heure est importante pour de nombreuses raisons, allant de l'horodatage des applications à la sécurité en passant par les entrées de journal appropriées.

Lorsque les systèmes d’une organisation maintiennent tous des heures d’horloge différentes, il devient très difficile, du point de vue du dépannage, de déterminer quand et dans quelles conditions un événement particulier peut se produire.

NTP fournit un moyen simple de garantir que tous les systèmes maintiennent l'heure correcte, ce qui peut grandement simplifier la charge des administrateurs/support technique.

NTP fonctionne sur le principe de la synchronisation avec des horloges de référence, également connues sous le nom de serveurs « strate 0 ». Tous les autres serveurs NTP deviennent alors un serveur de strates de niveau inférieur en fonction de leur distance par rapport à un serveur de référence.

Le début de la chaîne NTP est un serveur strate 1 qui est toujours directement connecté à une horloge de référence strate 0. À partir de là, les serveurs de strate de niveau inférieur sont connectés via une connexion réseau à un serveur de niveau de strate supérieur.

Reportez-vous au schéma ci-dessous pour un concept plus clair.

Bien que la configuration d'un serveur strate 0 ou strate 1 puisse être effectuée, cela coûte cher et en tant que tel, ce guide se concentrera sur la configuration du serveur de strate inférieure.

Tecmint a une configuration d'hôte de base de NTP sur le lien suivant :

  1. Comment synchroniser l'heure avec le serveur NTP

Là où ce guide sera différent, plutôt que d'avoir tous les hôtes du réseau interrogeant les serveurs NTP publics, un (ou une meilleure pratique, plusieurs) serveur(s) contactera le système NTP public et fournira ensuite du temps à tous les hôtes dans le réseau local.

Un serveur NTP interne est souvent idéal pour conserver la bande passante du réseau et pour assurer une sécurité accrue grâce aux restrictions NTP et à la cryptographie. Pour voir en quoi cela diffère du premier diagramme, veuillez consulter le deuxième diagramme ci-dessous.

Étape 1 : Installation du serveur NTP

1. La première étape pour configurer une structure NTP interne consiste à installer le logiciel serveur NTP. Le progiciel de Debian appelé « NTP » contient actuellement tous les utilitaires serveur nécessaires pour configurer une hiérarchie NTP. Comme pour tous les didacticiels sur la configuration du système, un accès Root ou sudo est supposé.

apt-get install ntp
dpkg --get-selections ntp          [Can be used to confirm NTP is installed]
dpkg -s ntp                        [Can also be used to confirm NTP is installed]

Étape 1 : Configuration du serveur NTP

2. Une fois NTP installé, il est temps de configurer les serveurs de strate supérieure à interroger pour l'heure. Le fichier de configuration pour NTP est stocké dans « /etc/ntp.conf » et peut être modifié avec n'importe quel éditeur de texte. Ce fichier contiendra les noms de domaine complets des serveurs de niveau supérieur, les restrictions définies pour ce serveur NTP et tout autre paramètre spécial pour les hôtes interrogeant ce serveur NTP.

Pour démarrer le processus de configuration, les serveurs de niveau supérieur doivent être configurés. Par défaut, Debian placera le pool NTP Debian dans le fichier de configuration. Celles-ci conviennent dans la plupart des cas, mais un administrateur peut visiter le NIST pour spécifier certains serveurs ou pour utiliser tous les serveurs du NIST de manière circulaire (méthode suggérée par le NIST).

Pour ce tutoriel, des serveurs spécifiques seront configurés. Le fichier de configuration est divisé en plusieurs sections principales et est configuré par défaut pour IPv4 et IPv6 (si vous souhaitez désactiver IPv6, nous en parlerons plus tard). Pour démarrer le processus de configuration, le fichier de configuration doit être ouvert avec un éditeur de texte.

nano /etc/ntp.conf

Les premières sections (driftfile, statsdir et statistics) sont définies sur les valeurs par défaut. La section suivante contient les serveurs de niveau supérieur via lesquels ce serveur doit demander du temps. La syntaxe de chaque entrée du serveur est très simple :

server <fully qualified domain name> <options>
server time.nist.gov iburst â     [sample entry]

En règle générale, c'est une bonne idée de choisir parmi plusieurs serveurs de strate supérieure dans cette liste. Ce serveur interrogera tous les serveurs de la liste pour déterminer lequel est le plus fiable. Les serveurs de cet exemple ont été obtenus à partir de : http://tf.nist.gov/tf-cgi/servers.cgi.

Étape 3 : Configuration des restrictions NTP

3. L'étape suivante consiste à configurer les restrictions NTP. Ceux-ci sont utilisés pour autoriser ou interdire aux hôtes d'interagir avec le serveur NTP. La valeur par défaut pour NTP est de servir le temps à n'importe qui, mais n'autorise pas la configuration sur les connexions IPv4 et IPv6.

Ce serveur n'est actuellement utilisé que sur un réseau IPv4, IPv6 a donc été désactivé de deux manières. La première chose faite pour désactiver IPv6 sur le serveur NTP a été de modifier les valeurs par défaut que le démon démarre. Cela a été accompli en modifiant la ligne dans '/etc/default/ntp'.

nano /etc/default/ntp
NTPD_OPTS='-4 -g' [Add the ' -4 ' to this line to tell NTPD to only listen to IPv4]

De retour dans le fichier de configuration principal (/etc/ntp.conf), le démon NTP sera automatiquement configuré pour partager le temps avec tous les hôtes IPv4/6 mais n'autorisera pas la configuration. Cela peut être vu par les deux lignes suivantes :

Le NTPD fonctionne sur une base autorisée, sauf refus. Depuis qu'IPv6 a été désactivé, la ligne 'restrict -6' peut être supprimée ou commentée avec un ' #

Cela modifie le comportement par défaut de NTP pour ignorer tous les messages. Cela peut sembler étrange, mais continuez à lire car des clauses de restriction seront utilisées pour affiner l'accès à ce serveur NTP pour les hôtes qui ont besoin d'y accéder.

Le serveur doit désormais savoir qui est autorisé à lui demander l'heure et ce qu'il est autorisé à faire d'autre avec le serveur NTP. Pour ce serveur, un réseau privé de 172.27.0.0/16 sera utilisé pour créer la strophe de restriction.

Cette ligne informe le serveur d'autoriser n'importe quel hôte du réseau 172.27.0.0/16 à accéder au serveur pendant un certain temps. Les paramètres après le masque aident à contrôler ce que l'un des hôtes de ce réseau peut faire lors de l'interrogation du serveur. Prenons un moment pour comprendre chacune de ces options de restriction :

  1. Limité : indique que si un client abuse du contrôle du débit du nombre de paquets, les paquets seront rejetés par le serveur. Si le paquet Kiss of Death est activé, il sera renvoyé à l'hôte abusif. Les tarifs sont configurables par un administrateur mais les valeurs par défaut sont supposées ici.
  2. KOD : Baiser de la mort. Si un hôte ne respecte pas la limite de paquets envoyés au serveur, le serveur répondra avec un paquet s KoD à l'hôte en infraction.
  3. Notrap : Refuser les messages de contrôle du mode 6. Ces messages de contrôle sont utilisés pour les programmes de journalisation à distance.
  4. Nomodify : empêche les requêtes ntpq et ntpdc qui modifieraient la configuration du serveur, mais les requêtes d'information sont toujours autorisées.
  5. Noquery : cette option empêche les hôtes d'interroger le serveur pour obtenir des informations. Par exemple, sans cette option, les hôtes peuvent utiliser ntpdc ou ntpq pour déterminer d'où un serveur de temps particulier obtient son heure ou d'autres serveurs de temps homologues avec lesquels il peut communiquer.