6. Synchronisation des horloges avec le protocole NTP

La mise en œuvre du protocole NTP suppose que l'on ait besoin d'un horodatage précis des évènements qui surviennent sur les équipements réseau. Classiquement, le serveur du périmètre de gestion exécute un démon ntpd qui sert de référence à tous les équipements. Le protocole ntp est décrit dans le document RFC1119 Network Time Protocol (version 2) specification and implementation.

6.1. Installation et configuration du service ntp

Comme indiqué dans la Section 1.3, « Logiciels utilisés », seuls les paquets de la distribution Debian GNU/Linux sont présentés ici. L'installation du paquet ntp se résume donc à l'instruction suivante :

# apt-get install ntp

L'avantage de ce paquet, c'est qu'il ne nécessite aucune configuration. On peut donc passer côté équipement. Voici un exemple de configuration type commun aux routeurs et aux commutateurs :

!
ntp server 192.168.2.1 source Vlan2
clock timezone CET +1
clock summer-time EDT recurring
!

6.2. Validation de la configuration ntp

La syntaxe IOS de contrôle de l'état du service sur l'équipement est la suivante :

sw1#sh ntp status
Clock is synchronized, stratum 4, reference is 192.168.2.1
nominal freq is 250.0000 Hz, actual freq is 249.9962 Hz, precision is 2**18
reference time is C5A12468.AFE91280 (21:02:48.687 CET Tue Jan 25 2005)
clock offset is 0.0817 msec, root delay is 78.25 msec
root dispersion is 122.21 msec, peer dispersion is 0.03 msec

sw1#sh ntp associations

      address         ref clock     st  when  poll reach  delay  offset    disp
*~192.168.2.1      213.161.8.44      3    33    64  377     2.0    0.08     0.0
* master (synced), # master (unsynced), + selected, - candidate, ~ configured

L'utilitaire ntpq fournit les mêmes information pour le système GNU/Linux :

# ntpq
ntpq> associations

ind assID status  conf reach auth condition  last_event cnt
===========================================================
  1 26588  9614   yes   yes  none  sys.peer   reachable  1
  2 26589  9014   yes   yes  none    reject   reachable  1
ntpq> peer
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*cpe1-8-44.cable 164.8.100.2      2 u  865 1024  377   79.463  -11.913  33.217
 LOCAL(0)        LOCAL(0)        13 l   39   64  377    0.000    0.000   0.004

6.3. Encore un soupçon de sécurité

Comme tftpd et syslogd, le service ntpd n'est pas un modèle en matière de sécurité. Il est donc souhaitable de bien encadrer son utilisation. On configure le contrôle d'accès avec une règle de filtrage réseau par équipement.

Voici encore un extrait du fichier /var/lib/iptables/active utilisé par le script d'initialisation du paquet iptables.

*filter
:INPUT DROP [0:0]
<snip/>
-A INPUT -s 192.168.2.2 -p udp --dport 123 -m conntrack --ctstate NEW -j ACCEPT
<snip/>

Pour un exemple complet, voir Annexe A, Configuration type du filtrage réseau.