Service de Temps : Différence entre versions
(→Les strates) |
(→ID de référence) |
||
| (100 révisions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
{| style="color: black; background-color: #ffffcc; width: 100%;" | {| style="color: black; background-color: #ffffcc; width: 100%;" | ||
| style="width: 30%; background-color: white; text-align: center;"| | | style="width: 30%; background-color: white; text-align: center;"| | ||
| − | [[Fichier: | + | [[Fichier: DocapostCyberdefense.logo15.textlong.green.png|200px|center]] |
| style="width: 70%; background-color: white;"| | | style="width: 70%; background-color: white;"| | ||
<div style="text-align: right">'''Service de Temps : NTP / PTP'''<br> | <div style="text-align: right">'''Service de Temps : NTP / PTP'''<br> | ||
Diffusion du temps sur les services de confiance<br> | Diffusion du temps sur les services de confiance<br> | ||
| + | '''DRAFT''' | ||
</div> | </div> | ||
|} | |} | ||
| Ligne 19 : | Ligne 20 : | ||
Date de la dernière version : | Date de la dernière version : | ||
| style="width: 70%; background-color: white;"| | | style="width: 70%; background-color: white;"| | ||
| − | + | 22/05/2018 | |
|- | |- | ||
| style="width: 30%; background-color: white; text-align: left;"| | | style="width: 30%; background-color: white; text-align: left;"| | ||
Version : | Version : | ||
| style="width: 70%; background-color: white;"| | | style="width: 70%; background-color: white;"| | ||
| − | 1. | + | 1.1 RC01 |
|- | |- | ||
| style="width: 30%; background-color: white; text-align: left;"| | | style="width: 30%; background-color: white; text-align: left;"| | ||
Source : | Source : | ||
| style="width: 70%; background-color: white;"| | | style="width: 70%; background-color: white;"| | ||
| − | + | '''COSC : Centre Opérationnel de Sécurité et de Cyberdéfense'''<br> | |
|} | |} | ||
| Ligne 84 : | Ligne 85 : | ||
système comprenant au moins deux sources indépendantes de temps. | système comprenant au moins deux sources indépendantes de temps. | ||
| − | + | *les services de signature opérés par '''''Seres France''''' et '''''Seres Espagne''''' | |
| + | *les coffres à valeur probatoire (Digiposte, Okoro...) | ||
*les transactions journalisées des bases de données ; | *les transactions journalisées des bases de données ; | ||
*les logs des systèmes informatiques ; | *les logs des systèmes informatiques ; | ||
*la diffusion de contenu multimédia en temps-réel, comme pour des vidéoconférences ; | *la diffusion de contenu multimédia en temps-réel, comme pour des vidéoconférences ; | ||
*etc. | *etc. | ||
| + | |||
Sans une bonne synchronisation des horloges de tous les systèmes communicants entre eux, certains services ne sont pas utilisables correctement. C'est ainsi que rapidement, il a été nécessaire de définir des méthodes permettant de synchroniser les horloges sur une heure de référence. Dans le cas de NTP, ce dernier utilise le temps universel coordonné (UTC). | Sans une bonne synchronisation des horloges de tous les systèmes communicants entre eux, certains services ne sont pas utilisables correctement. C'est ainsi que rapidement, il a été nécessaire de définir des méthodes permettant de synchroniser les horloges sur une heure de référence. Dans le cas de NTP, ce dernier utilise le temps universel coordonné (UTC). | ||
| + | |||
| + | ==== <div style="background-color: #81BEF7">'''Process de mise à jour de l'horloge'''</div> ==== | ||
| + | |||
| + | ..................................................................... | ||
| + | . Remote . Peer/Poll . System . Clock . | ||
| + | . Servers . Processes . Process .Discipline. | ||
| + | . . . . Process . | ||
| + | .+--------+. +-----------+. +------------+ . . | ||
| + | .| |->| |. | | . . | ||
| + | .|Server 1| |Peer/Poll 1|->| | . . | ||
| + | .| |<-| |. | | . . | ||
| + | .+--------+. +-----------+. | | . . | ||
| + | . . ^ . | | . . | ||
| + | . . | . | | . . | ||
| + | .+--------+. +-----------+. | | +-----------+. . | ||
| + | .| |->| |. | Selection |->| |. +------+ . | ||
| + | .|Server 2| |Peer/Poll 2|->| and | | Combine |->| Loop | . | ||
| + | .| |<-| |. | Cluster | | Algorithm |. |Filter| . | ||
| + | .+--------+. +-----------+. | Algorithms |->| |. +------+ . | ||
| + | . . ^ . | | +-----------+. | . | ||
| + | . . | . | | . | . | ||
| + | .+--------+. +-----------+. | | . | . | ||
| + | .| |->| |. | | . | . | ||
| + | .|Server 3| |Peer/Poll 3|->| | . | . | ||
| + | .| |<-| |. | | . | . | ||
| + | .+--------+. +-----------+. +------------+ . | . | ||
| + | ....................^.........................................|...... | ||
| + | | . V . | ||
| + | | . +-----+ . | ||
| + | +--------------------------------------| VFO | . | ||
| + | . +-----+ . | ||
| + | . Clock . | ||
| + | . Adjust . | ||
| + | . Process . | ||
| + | ............ | ||
==== <div style="background-color: #81BEF7">'''ID de référence'''</div> ==== | ==== <div style="background-color: #81BEF7">'''ID de référence'''</div> ==== | ||
| + | |||
| + | +------+------------------------------------------------------------------+ | ||
| + | | ID | Clock Source | | ||
| + | +------+------------------------------------------------------------------+ | ||
| + | | GOES | Geosynchronous Orbit Environment Satellite | | ||
| + | | GPS | Global Position System | | ||
| + | | GAL | Galileo Positioning System | | ||
| + | | PPS | Generic pulse-per-second | | ||
| + | | IRIG | Inter-Range Instrumentation Group | | ||
| + | | WWVB | LF Radio WWVB Ft. Collins, CO 60 kHz | | ||
| + | | DCF | LF Radio DCF77 Mainflingen, DE 77.5 kHz | | ||
| + | | HBG | LF Radio HBG Prangins, HB 75 kHz | | ||
| + | | MSF | LF Radio MSF Anthorn, UK 60 kHz | | ||
| + | | JJY | LF Radio JJY Fukushima, JP 40 kHz, Saga, JP 60 kHz | | ||
| + | | LORC | MF Radio LORAN C station, 100 kHz | | ||
| + | | TDF | MF Radio Allouis, FR 162 kHz | | ||
| + | | CHU | HF Radio CHU Ottawa, Ontario | | ||
| + | | WWV | HF Radio WWV Ft. Collins, CO | | ||
| + | | WWVH | HF Radio WWVH Kauai, HI | | ||
| + | | NIST | NIST telephone modem | | ||
| + | | ACTS | NIST telephone modem | | ||
| + | | USNO | USNO telephone modem | | ||
| + | | PTB | European telephone modem | | ||
| + | | '''DOCC''' | Docapost Direction des Systèmes d'Information Confiance | | ||
| + | | '''DOCN''' | Docapost Direction des Systèmes d'Information Solution Numérique | | ||
| + | +------+------------------------------------------------------------------+ | ||
==== <div style="background-color: #81BEF7">'''Les strates'''</div> ==== | ==== <div style="background-color: #81BEF7">'''Les strates'''</div> ==== | ||
| Ligne 102 : | Ligne 166 : | ||
! scope=col width="400" | Description | ! scope=col width="400" | Description | ||
|- | |- | ||
| − | | align= | + | | align=center | 0 || align=left | Non spécifié ou invalide |
|- | |- | ||
| − | | align= | + | | align=center | 1 || align=left | Serveur primaire équipé d'un raccordement direct |
|- | |- | ||
| − | | align= | + | | align=center | 2-15 || align=left | Serveur secondaire |
|- | |- | ||
| − | | align= | + | | align=center | 16 || align=left | Non synchronisé avec le Peer distant |
|- | |- | ||
| − | | align= | + | | align=center | 17-255 || align=left | Réservé |
|} | |} | ||
| − | ==== <div style="background-color: #81BEF7">'''Architecture des services de temps | + | ==== <div style="background-color: #81BEF7">'''Architecture des services de temps'''</div> ==== |
| − | [[Fichier: Architecture NTP labels fr.png]] | + | [[Fichier: Architecture NTP labels fr.png|750px]] |
| + | |||
| + | ==== <div style="background-color: #81BEF7">'''Architecture DOCAPOST'''</div> ==== | ||
| + | |||
| + | [[Fichier: NTP Docapost.png|750px]] | ||
| + | |||
| + | ==== <div style="background-color: #81BEF7">'''Liste des sources de Strate 1 Docapost'''</div> ==== | ||
| + | |||
| + | {| class="wikitable" style="text-align:left" | ||
| + | |- | ||
| + | ! scope=col width="200" | Localisation | ||
| + | ! scope=col width="400" | Description | ||
| + | |- | ||
| + | | align=left | Docapost DSI-C DATA 4 || align=center | [[:Fichier:Info_lantime-m300.pdf | Meinberg LANTIME M300]] / [[:Fichier: Info aw02.pdf | DCF77]] (RG58) / [[:Fichier: Info gpsant.pdf |GPS]] (RG58) | ||
| + | |- | ||
| + | | align=left | Docapost DSI-C PA4 || align=center | [[:Fichier:Info_lantime-m300.pdf | Meinberg LANTIME M300]] / [[:Fichier: Info aw02.pdf | DCF77]] (RG58) / [[:Fichier: Info gpsant.pdf |GPS]] (RG58) | ||
| + | |- | ||
| + | | align=left | Docapost DSI-SN XXXXX || align=center | XXXX | ||
| + | |- | ||
| + | | align=left | Docapost DSI-SN XXXXX || align=center | XXXXX | ||
| + | |} | ||
| − | + | *[[:Fichier: Cable RG58.PDF | Câble de raccordement RG58]] | |
| + | *[[:Fichier: Data Sheet RG58.pdf | Spécification du câble RG58]] | ||
==== <div style="background-color: #81BEF7">'''Liste des sources de Strate 1 distantes'''</div> ==== | ==== <div style="background-color: #81BEF7">'''Liste des sources de Strate 1 distantes'''</div> ==== | ||
| + | |||
| + | Cette liste doit être implémentée sur des instances de '''Strate 2'''. | ||
| + | |||
{| class="wikitable" style="text-align:left" | {| class="wikitable" style="text-align:left" | ||
|- | |- | ||
| Ligne 195 : | Ligne 283 : | ||
|- | |- | ||
| align=left | chime3.surfnet.nl || align=center | | | align=left | chime3.surfnet.nl || align=center | | ||
| − | |||
| − | |||
|- | |- | ||
| align=left | chime5.surfnet.nl || align=center | | | align=left | chime5.surfnet.nl || align=center | | ||
| − | |||
| − | |||
|- | |- | ||
| align=left | ntp-p1.obspm.fr || align=center | | | align=left | ntp-p1.obspm.fr || align=center | | ||
| Ligne 243 : | Ligne 327 : | ||
|- | |- | ||
| align=left | bonehed.lcs.mit.edu || align=center | Massachusetts Institute of Technology, Cambridge, MA | | align=left | bonehed.lcs.mit.edu || align=center | Massachusetts Institute of Technology, Cambridge, MA | ||
| + | |- | ||
| + | | align=left | ntp1.inrim.it || align=center | Laboratory, Cesium, IT | ||
| + | |- | ||
| + | | align=left | ntp2.inrim.it || align=center | Laboratory, Cesium, IT | ||
|} | |} | ||
| − | ==== <div style="background-color: #81BEF7">'''Liste | + | ==== <div style="background-color: #81BEF7">'''Liste des sources de Strate 2 locales & distantes'''</div> ==== |
| + | |||
| + | Cette liste doit être implémentée sur des instances de '''Strate 3'''. | ||
{| class="wikitable" style="text-align:left" | {| class="wikitable" style="text-align:left" | ||
| Ligne 251 : | Ligne 341 : | ||
! scope=col width="200" | End Point | ! scope=col width="200" | End Point | ||
! scope=col width="400" | Description | ! scope=col width="400" | Description | ||
| + | |- | ||
| + | | align=left | '''ntp-01s2.secure-ops.center''' || align=center | Centre Opérationnel de Sécurité et de Cyberdéfense | ||
| + | |- | ||
| + | | align=left | '''ntp-02s2.secure-ops.center''' || align=center |Centre Opérationnel de Sécurité et de Cyberdéfense | ||
|- | |- | ||
| align=left | ntp.sophia.cnrs.fr || align=center | | | align=left | ntp.sophia.cnrs.fr || align=center | | ||
| Ligne 263 : | Ligne 357 : | ||
|} | |} | ||
| − | ==== <div style="background-color: #81BEF7">'''Liste de source de | + | ==== <div style="background-color: #81BEF7">'''Liste des sources déclarées DOCAPOST'''</div> ==== |
| + | |||
| + | ==== <div style="background-color: #81BEF7">'''Configuration d'un serveur NTP de Strate 3'''</div> ==== | ||
| + | |||
| + | ===== '''Installation Linux''' ===== | ||
| + | |||
| + | |||
| + | ===== '''Configuration de base''' ===== | ||
| + | |||
| + | driftfile /var/lib/ntp/ntp.drift | ||
| + | leapfile /usr/share/zoneinfo/leap-seconds.list | ||
| + | |||
| + | #statsdir /var/log/ntpstats/ | ||
| + | |||
| + | statistics loopstats peerstats clockstats | ||
| + | filegen loopstats file loopstats type day enable | ||
| + | filegen peerstats file peerstats type day enable | ||
| + | filegen clockstats file clockstats type day enable | ||
| + | |||
| + | server ntp.sophia.cnrs.fr burst iburst | ||
| + | server ntp.internet-fr.net burst iburst | ||
| + | server ntp1.jussieu.fr burst iburst | ||
| + | server ntp.univ-angers.fr burst iburst | ||
| + | server clock.isc.org | ||
| + | |||
| + | server 127.127.1.0 | ||
| + | fudge 127.127.1.0 stratum 10 | ||
| + | |||
| + | restrict -4 default kod notrap nomodify nopeer noquery limited | ||
| + | restrict -6 default kod notrap nomodify nopeer noquery limited | ||
| + | restrict 127.0.0.1 | ||
| + | restrict ::1 | ||
| + | restrict source notrap nomodify noquery | ||
| + | |||
| + | ===== '''Authentification''' ===== | ||
| + | |||
| + | Les connexions aux services NTP du Groupe doivent se faire via un mécanisme d'authentification. | ||
| + | Les méthodes d'authentification expliquées seront les suivantes : | ||
| + | *MD5 | ||
| + | *RSA | ||
| + | |||
| + | ===== '''Authentification MD5''' ===== | ||
| + | |||
| + | <div class="panel-group" id="accordion"> | ||
| + | <accordion parent="accordion" heading="'''Description'''"> | ||
| + | Les clés MD5 sont utilisées uniquement pour l'authentification et pas pour le chiffrement. Le but de ces clés est de garantir que le client reçoit les marquages temporels NTP du SEUL serveur devant acceptant la clé spécifiée. Les clés MD5 doivent être aux format ASCII et peuvent comporter jusqu'à 15 caractères. Il n'y a pas d'exigences minimales pour la complexité de la clé. | ||
| + | </accordion> | ||
| + | </div> | ||
| + | |||
| + | '''1. Client''' | ||
| + | |||
| + | Création du répertoire qui va contenir le fichier les clés | ||
| + | |||
| + | # mkdir /etc/ntp | ||
| + | # touch keys | ||
| + | # chmod 660 keys | ||
| + | # vi /etc/ntp/keys | ||
| + | |||
| + | 1 M password | ||
| + | 2 M MyPassword | ||
| + | 10 M AccesServeurNTP | ||
| + | |||
| + | Activation de l'authentification dans le fichier de configuration : /etc/ntp.conf | ||
| + | |||
| + | # vi /etc/ntp.conf | ||
| + | |||
| + | keys /etc/ntp/keys | ||
| + | trustedkey 1 | ||
| + | controlkey 1 | ||
| + | requestkey 1 | ||
| + | |||
| + | ... | ||
| + | server ntp-01s2.secure-ops.center burst iburst key 1 preempt prefer | ||
| + | server ntp-02s2.secure-ops.center burst ibusrt key 2 prefer | ||
| + | ... | ||
| + | <div class="panel-group" id="accordion"> | ||
| + | <accordion parent="accordion" heading="'''''Vérification'''''"> | ||
| + | |||
| + | * Binaire '''ntpdate''' | ||
| + | |||
| + | # '''''ntpdate -d -a 1 -k /etc/ntp/keys ntp-01s2.secure-ops.center''''' | ||
| + | |||
| + | 22 May 23:34:16 ntpdate[25538]: ntpdate 4.2.8p10@1.3728-o (1) | ||
| + | Looking for host ntp-01s2.secure-ops.center and service ntp | ||
| + | 192.168.1.61 reversed to ntp-01s2.secure-ops.center | ||
| + | host found : ntp-01s2.secure-ops.center | ||
| + | authreadkeys: full access list <NULL> | ||
| + | authreadkeys: full access list <NULL> | ||
| + | authreadkeys: full access list <NULL> | ||
| + | transmit(192.168.1.61) | ||
| + | receive(192.168.1.61) | ||
| + | receive: '''''authentication passed''''' | ||
| + | ... | ||
| + | '''''server 192.168.1.61, port 123''''' | ||
| + | stratum '''''2''''', '''''precision -24'''''', '''''leap 00''''', trust 000 | ||
| + | refid [192.168.1.61], delay 0.02975, dispersion 0.00009 | ||
| + | transmitted 4, in filter 4 | ||
| + | reference time: deaf0aae.e2b30a6f Tue, May 22 2018 23:31:26.885 | ||
| + | originate timestamp: deaf0b5e.b75345ff Tue, May 22 2018 23:34:22.716 | ||
| + | transmit timestamp: deaf0b5e.b6d7d98a Tue, May 22 2018 23:34:22.714 | ||
| + | filter delay: 0.02989 0.03001 0.02975 0.03047 | ||
| + | 0.00000 0.00000 0.00000 0.00000 | ||
| + | filter offset: -0.00091 -0.00075 -0.00095 -0.00061 | ||
| + | 0.000000 0.000000 0.000000 0.000000 | ||
| + | delay 0.02975, dispersion 0.00009 | ||
| + | offset -0.000954 | ||
| + | |||
| + | 22 May 23:34:22 ntpdate[25538]: adjust time server 192.168.1.61 offset -0.000954 sec | ||
| + | |||
| + | * '''ntpd''' | ||
| + | |||
| + | # service ntp restart | ||
| + | # ntpq -c ass | ||
| + | |||
| + | ind assid status conf reach auth condition last_event cnt | ||
| + | =========================================================== | ||
| + | 1 55641 9014 yes yes none reject reachable 1 | ||
| + | 2 55642 f61a yes '''''yes''''' '''''ok''''' sys.peer sys_peer 1 | ||
| + | 3 55642 b31a yes '''''yes''''' '''''ok''''' sys.peer sys_peer 1 | ||
| + | 4 55643 9414 yes yes none candidate reachable 1 | ||
| + | 5 55644 9314 yes yes none outlier reachable 1 | ||
| + | 6 55645 941a yes yes none candidate sys_peer 1 | ||
| + | 7 55646 9414 yes yes none candidate reachable 1 | ||
| + | 8 55647 9014 yes yes none reject reachable 1 | ||
| + | |||
| + | |||
| + | # ntpq -c lpeers | ||
| + | |||
| + | remote refid st t when poll reach delay offset jitter | ||
| + | ============================================================================== | ||
| + | LOCAL(0) .LOCL. 10 l 404 64 100 0.000 0.000 0.000 | ||
| + | *'''''ntp-01s2.secure''''' 216.239.35.12 2 u 63 64 77 0.936 1.552 1.445 | ||
| + | +'''''ntp-02s2.secure''''' 216.239.35.13 2 u 63 64 77 0.932 1.364 1.376 | ||
| + | +azur.sophia.cnr 195.220.94.163 2 u 68 64 77 42.883 -1.722 8.583 | ||
| + | -ntp.internet-fr 83.169.64.116 3 u 60 64 77 31.064 -2.176 9.211 | ||
| + | +horlogegps.rese 10.3.128.189 2 u 3 64 177 34.379 -4.447 2.697 | ||
| + | +ntp.univ-angers 195.220.94.163 2 u 64 64 77 41.496 -3.181 7.481 | ||
| + | clock.isc.org 192.5.41.40 2 u 6 64 21 172.491 -0.633 6.706 | ||
| + | |||
| + | </accordion> | ||
| + | </div> | ||
| + | |||
| + | <div class="panel-group" id="accordion"> | ||
| + | <accordion parent="accordion" heading="'''Description du fichier keys'''"> | ||
| + | |||
| + | KEY_ID KEY_TYPE KEY | ||
| + | |||
| + | * KEY_ID : Valeur comprise entre 1 et 65535 (Plusieurs clés peuvent être utilisée pour le même serveur | ||
| + | * KEY_TYPE : M = Condensat MD5 ou format ASCII (20 Caractères maximum ou 40 Caractères au format HEX) | ||
| + | * KEY : Valeur | ||
| + | </accordion> | ||
| + | </div> | ||
| + | |||
| + | ===== '''Authentification RSA''' ===== | ||
| + | |||
| + | ===== '''Supervision''' ===== | ||
| + | |||
| + | Voir l'installation de NetData : [[Netdata_Install]] | ||
| + | |||
| + | [[Fichier: SupervisionNTP1.png|750px]] | ||
| + | |||
| + | [[Fichier: SupervisionNTP2.png|750px]] | ||
| + | |||
| + | ===== '''Hardening''' ===== | ||
| + | |||
| + | 1. Ajout des ACL pour les connxions clientes | ||
| + | |||
| + | ... | ||
| + | restrict 10.8.0.0 mask 255.255.255.0 nomodify notrap | ||
| + | restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap | ||
| + | ... | ||
| + | |||
| + | ===== '''Troobleshooting''' ===== | ||
| + | |||
| + | |||
| + | [[Fichier: CodeNTP.png|750px]] | ||
==== <div style="background-color: #81BEF7">'''Gestion détaillée du document'''</div> ==== | ==== <div style="background-color: #81BEF7">'''Gestion détaillée du document'''</div> ==== | ||
| − | * 18/05/2018 : Serge Carpentier : 1.0 : Création | + | * 18/05/2018 : Serge Carpentier : 1.0 ALPHA : Création |
| + | * 22/05/2018 : Serge Carpentier : 1.1 RC01 : Mise à jour | ||
| + | **Informations diverses | ||
| + | **Mise en page | ||
Version actuelle datée du 31 mai 2018 à 18:58
|
Service de Temps : NTP / PTP
Diffusion du temps sur les services de confiance |
Sommaire
- 1 Gestion du document
- 2 Introduction
- 3 Pourquoi synchroniser les horloges
- 4 Process de mise à jour de l'horloge
- 5 ID de référence
- 6 Les strates
- 7 Architecture des services de temps
- 8 Architecture DOCAPOST
- 9 Liste des sources de Strate 1 Docapost
- 10 Liste des sources de Strate 1 distantes
- 11 Liste des sources de Strate 2 locales & distantes
- 12 Liste des sources déclarées DOCAPOST
- 13 Configuration d'un serveur NTP de Strate 3
- 14 Gestion détaillée du document
Gestion du document
|
Date de la première version : |
19/05/2018 |
|
Date de la dernière version : |
22/05/2018 |
|
Version : |
1.1 RC01 |
|
Source : |
COSC : Centre Opérationnel de Sécurité et de Cyberdéfense |
Introduction
Network Time Protocol (« protocole d'heure réseau ») ou NTP est un protocole qui permet de synchroniser, via un réseau informatique, l'horloge locale d'ordinateurs sur une référence d'heure.
Precision Time Protocol (PTP) est un protocole Ethernet de synchronisation d'horloge, normalisé sous le nom IEEE 1588 en 2001 et en juin 2008 pour la version 2. En 2005 il a aussi été standardisé sous le nom IEC 61588. Il est également appelé "horloges distribuées" ou Distributed Clocks (DCs).
| date | version | RFC | statut |
|---|---|---|---|
| septembre 1985 | v0 | RFC 958 | rendu obsolète par RFC 1059 |
| juillet 1988 | v1 | RFC 1059 | rendu obsolète par RFC 1119 |
| octobre 1989 | v2 | RFC 1119 | rendu obsolète par RFC 1305 |
| mars 1992 | v3 | RFC 1305 | rendu obsolète par RFC 5905 |
| juin 2010 | v4 | RFC 5905 | Standard proposé |
Pourquoi synchroniser les horloges
Bien que chaque ordinateur calcule son horloge à partir d'un oscillateur à quartz, il ne peut atteindre la précision des horloges de référence. Leurs horloges internes ont tendance à dériver jusqu'à plusieurs secondes par jour, par rapport à l'heure officielle. Ceci rend nécessaire de synchroniser régulièrement l'horloge interne avec une horloge de référence.
Avec le développement des réseaux informatiques, la synchronisation des horloges des systèmes informatiques communicants entre eux est devenue nécessaire. Certains domaines ont absolument besoin d'avoir un temps de référence, on peut citer notamment :
- Les services d'Horodatage (Service Horodatage de La Poste ) ;
UTC(k) - Temps de référence réalisé par le laboratoire "k" et synchronisé avec précision avec le temps UTC, dans le but d'atteindre une précision de ±100 ns, selon la recommandation S5 (1993) du Comité Consultatif pour la définition de la Seconde . (Rec. ITU-R TF.536-1 [TF.536-1]).
- Les autorités de Certification (Certinomis);
Plusieurs exigences de la présente PC Type nécessitent la datation par les différentes composantes de l'IGC d'évènements liés aux activités de l'IGC (2-0_A3.pdf cf. chapitre V.4). Pour dater ces évènements, les différentes composantes de l'IGC peuvent recourir : * soit à une autorité d'horodatage, interne ou externe à l'IGC, conforme à la politique d'horodatage RGS_A5 ; * soit en utilisant l'heure système de l'IGC en assurant une synchronisation des horloges des systèmes de l'IGC entre elles, au minimum à la minute près, et par rapport à une source fiable de temps UTC, au minimum à la seconde près. Pour les opérations faites hors ligne (ex: administration d'une AC Racine), cette précision de synchronisation par rapport au temps UTC n'est pas requise. Le système devra toutefois pouvoir ordonner les évènements avec une précision suffisante. Pour la synchronisation par rapport au temps UTC, il est recommandé de se référer à un système comprenant au moins deux sources indépendantes de temps.
- les services de signature opérés par Seres France et Seres Espagne
- les coffres à valeur probatoire (Digiposte, Okoro...)
- les transactions journalisées des bases de données ;
- les logs des systèmes informatiques ;
- la diffusion de contenu multimédia en temps-réel, comme pour des vidéoconférences ;
- etc.
Sans une bonne synchronisation des horloges de tous les systèmes communicants entre eux, certains services ne sont pas utilisables correctement. C'est ainsi que rapidement, il a été nécessaire de définir des méthodes permettant de synchroniser les horloges sur une heure de référence. Dans le cas de NTP, ce dernier utilise le temps universel coordonné (UTC).
Process de mise à jour de l'horloge
.....................................................................
. Remote . Peer/Poll . System . Clock .
. Servers . Processes . Process .Discipline.
. . . . Process .
.+--------+. +-----------+. +------------+ . .
.| |->| |. | | . .
.|Server 1| |Peer/Poll 1|->| | . .
.| |<-| |. | | . .
.+--------+. +-----------+. | | . .
. . ^ . | | . .
. . | . | | . .
.+--------+. +-----------+. | | +-----------+. .
.| |->| |. | Selection |->| |. +------+ .
.|Server 2| |Peer/Poll 2|->| and | | Combine |->| Loop | .
.| |<-| |. | Cluster | | Algorithm |. |Filter| .
.+--------+. +-----------+. | Algorithms |->| |. +------+ .
. . ^ . | | +-----------+. | .
. . | . | | . | .
.+--------+. +-----------+. | | . | .
.| |->| |. | | . | .
.|Server 3| |Peer/Poll 3|->| | . | .
.| |<-| |. | | . | .
.+--------+. +-----------+. +------------+ . | .
....................^.........................................|......
| . V .
| . +-----+ .
+--------------------------------------| VFO | .
. +-----+ .
. Clock .
. Adjust .
. Process .
............
ID de référence
+------+------------------------------------------------------------------+
| ID | Clock Source |
+------+------------------------------------------------------------------+
| GOES | Geosynchronous Orbit Environment Satellite |
| GPS | Global Position System |
| GAL | Galileo Positioning System |
| PPS | Generic pulse-per-second |
| IRIG | Inter-Range Instrumentation Group |
| WWVB | LF Radio WWVB Ft. Collins, CO 60 kHz |
| DCF | LF Radio DCF77 Mainflingen, DE 77.5 kHz |
| HBG | LF Radio HBG Prangins, HB 75 kHz |
| MSF | LF Radio MSF Anthorn, UK 60 kHz |
| JJY | LF Radio JJY Fukushima, JP 40 kHz, Saga, JP 60 kHz |
| LORC | MF Radio LORAN C station, 100 kHz |
| TDF | MF Radio Allouis, FR 162 kHz |
| CHU | HF Radio CHU Ottawa, Ontario |
| WWV | HF Radio WWV Ft. Collins, CO |
| WWVH | HF Radio WWVH Kauai, HI |
| NIST | NIST telephone modem |
| ACTS | NIST telephone modem |
| USNO | USNO telephone modem |
| PTB | European telephone modem |
| DOCC | Docapost Direction des Systèmes d'Information Confiance |
| DOCN | Docapost Direction des Systèmes d'Information Solution Numérique |
+------+------------------------------------------------------------------+
Les strates
Stratum (stratum): Entier de 8 bits représentant la strate, avec les valeurs définies dans le tableau ci-dessous :
| Valeur | Description |
|---|---|
| 0 | Non spécifié ou invalide |
| 1 | Serveur primaire équipé d'un raccordement direct |
| 2-15 | Serveur secondaire |
| 16 | Non synchronisé avec le Peer distant |
| 17-255 | Réservé |
Architecture des services de temps
Architecture DOCAPOST
Liste des sources de Strate 1 Docapost
| Localisation | Description |
|---|---|
| Docapost DSI-C DATA 4 | Meinberg LANTIME M300 / DCF77 (RG58) / GPS (RG58) |
| Docapost DSI-C PA4 | Meinberg LANTIME M300 / DCF77 (RG58) / GPS (RG58) |
| Docapost DSI-SN XXXXX | XXXX |
| Docapost DSI-SN XXXXX | XXXXX |
Liste des sources de Strate 1 distantes
Cette liste doit être implémentée sur des instances de Strate 2.
| End Point | Description |
|---|---|
| ntps1-0.cs.tu-berlin.de | (FRG, Berlin, Technische Universitaet Berlin) |
| ntps1-0.uni-erlangen.de | (FRG, Erlangen, University Erlangen-Nuernberg) |
| ntps1-1.cs.tu-berlin.de | (FRG, Berlin, Technische Universitaet Berlin) |
| ntps1-1.uni-erlangen.de | (FRG, Erlangen, University Erlangen-Nuernberg) |
| ntps1-2.uni-erlangen.de | (FRG, Erlangen, University Erlangen-Nuernberg) |
| clock1.unc.edu | (USA, NC, Chapel Hill, University of North Carolina) |
| wwvb.isi.edu | (USA, CA, Marina del Rey, USC Information Sciences Institute) |
| tick.usask.ca | (Canada, SK, Saskatoon, University of Saskatchewan) |
| tock.usask.ca | (Canada, SK, Saskatoon, University of Saskatchewan) |
| ntp0.uk.uu.net | |
| ntp2.uk.uu.net | |
| gps1.tns.its.psu.edu | |
| time4.google.com | |
| time1.google.com | |
| time2.google.com | |
| time3.google.com | |
| time-a-g.nist.gov | NIST, Gaithersburg, Maryland All services available |
| time-b-g.nist.gov | NIST, Gaithersburg, Maryland All services available |
| time-c-g.nist.gov | NIST, Gaithersburg, Maryland All services available |
| time-d-g.nist.gov | NIST, Gaithersburg, Maryland All services available |
| time-a-wwv.nist.gov | WWV, Fort Collins, Colorado All services available |
| time-b-wwv.nist.gov | WWV, Fort Collins, Colorado All services avaiable |
| time-c-wwv.nist.gov | WWV, Fort Collins, Colorado All services available |
| time-d-wwv.nist.gov | WWV, Fort Collins, Colorado All services available |
| time-a-b.nist.gov | NIST, Boulder, Colorado All services available |
| time-b-b.nist.gov | NIST, Boulder, Colorado All services available |
| time-c-b.nist.gov | NIST, Boulder, Colorado All services available |
| time-d-b.nist.gov | NIST, Boulder, Colorado all services available |
| utcnist.colorado.edu | University of Colorado, Boulder All services available |
| utcnist2.colorado.edu | JILA Laboratory, University of Colorado |
| utcnist.colorado.edu | JILA Laboratory, University of Colorado |
| ntp1.oma.be | |
| ntp2.oma.be | |
| chime1.surfnet.nl | |
| chime2.surfnet.nl | |
| chime3.surfnet.nl | |
| chime5.surfnet.nl | |
| ntp-p1.obspm.fr | |
| canon.inria.fr | (France, Rocquencourt, INRIA) |
| chime1.surfnet.nl | (Netherlands, Utrecht, SURFnet bv) |
| clepsydra.dec.com | (USA, CA, Palo Alto, DEC Western Research Laboratory) |
| time.nist.gov | (USA, CO, Boulder, National Center for Atmospheric Research) |
| ntp0.nl.net | (Netherlands, Amsterdam, NLnet) |
| ntp1.nl.net | (Netherlands, Amsterdam, NLnet) |
| ntp2.nl.net | (Netherlands, Amsterdam, NLnet) |
| ntp.amnic.net | AM AMNIC DC, Yerevan, Armenia |
| ntps1.pads.ufrj.br | Laboratory for the Processing of Analog and Digital Signals (PADS), Federal University of Rio de Janeiro (UFRJ), Rio de Janeiro, Brazil |
| ntp.i2t.ehu.eus | Laboratory of I2T Research Group, Faculty of Engineering, University of the Basque Country UPV/EHU, Bilbao, Basque Country, Spain. |
| ntp.neel.ch | NIT, Trappes, Ile de France, France |
| ntp-sop.inria.fr | FR INRIA, Sophia Antipolis (French Riviera, near Nice), France |
| chronos.cru.fr | FR University of Rennes 1, Britany, France |
| ntp-galway.hea.net | IE Dept. of Information Technology, National University of Ireland, Galway, Ireland |
| usno.hpl.hp.com | Hewlett-Packard Corp., Palo Alto, CA |
| clock.fmt.he.net | Hurricane Electric, Fremont, California |
| clock.sjc.he.net | Hurricane Electric, San Jose, California |
| clepsydra.dec.com | HP Western Research Laboratory, Palo Alto, CA |
| ntp1.conectiv.com | PEPCO Holdings Inc., 500 N Wakefield Dr., Newark DE |
| bonehed.lcs.mit.edu | Massachusetts Institute of Technology, Cambridge, MA |
| ntp1.inrim.it | Laboratory, Cesium, IT |
| ntp2.inrim.it | Laboratory, Cesium, IT |
Liste des sources de Strate 2 locales & distantes
Cette liste doit être implémentée sur des instances de Strate 3.
| End Point | Description |
|---|---|
| ntp-01s2.secure-ops.center | Centre Opérationnel de Sécurité et de Cyberdéfense |
| ntp-02s2.secure-ops.center | Centre Opérationnel de Sécurité et de Cyberdéfense |
| ntp.sophia.cnrs.fr | |
| ntp.internet-fr.net | |
| ntp1.jussieu.fr | |
| ntp.univ-angers.fr | |
| clock.isc.org | Internet Software Consortium, Palo Alto, CA |
Liste des sources déclarées DOCAPOST
Configuration d'un serveur NTP de Strate 3
Installation Linux
Configuration de base
driftfile /var/lib/ntp/ntp.drift leapfile /usr/share/zoneinfo/leap-seconds.list #statsdir /var/log/ntpstats/ statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable server ntp.sophia.cnrs.fr burst iburst server ntp.internet-fr.net burst iburst server ntp1.jussieu.fr burst iburst server ntp.univ-angers.fr burst iburst server clock.isc.org server 127.127.1.0 fudge 127.127.1.0 stratum 10 restrict -4 default kod notrap nomodify nopeer noquery limited restrict -6 default kod notrap nomodify nopeer noquery limited restrict 127.0.0.1 restrict ::1 restrict source notrap nomodify noquery
Authentification
Les connexions aux services NTP du Groupe doivent se faire via un mécanisme d'authentification. Les méthodes d'authentification expliquées seront les suivantes :
- MD5
- RSA
Authentification MD5
Les clés MD5 sont utilisées uniquement pour l'authentification et pas pour le chiffrement. Le but de ces clés est de garantir que le client reçoit les marquages temporels NTP du SEUL serveur devant acceptant la clé spécifiée. Les clés MD5 doivent être aux format ASCII et peuvent comporter jusqu'à 15 caractères. Il n'y a pas d'exigences minimales pour la complexité de la clé.
1. Client
Création du répertoire qui va contenir le fichier les clés
# mkdir /etc/ntp # touch keys # chmod 660 keys # vi /etc/ntp/keys
1 M password 2 M MyPassword 10 M AccesServeurNTP
Activation de l'authentification dans le fichier de configuration : /etc/ntp.conf
# vi /etc/ntp.conf
keys /etc/ntp/keys trustedkey 1 controlkey 1 requestkey 1 ... server ntp-01s2.secure-ops.center burst iburst key 1 preempt prefer server ntp-02s2.secure-ops.center burst ibusrt key 2 prefer ...
- Binaire ntpdate
# ntpdate -d -a 1 -k /etc/ntp/keys ntp-01s2.secure-ops.center
22 May 23:34:16 ntpdate[25538]: ntpdate 4.2.8p10@1.3728-o (1)
Looking for host ntp-01s2.secure-ops.center and service ntp
192.168.1.61 reversed to ntp-01s2.secure-ops.center
host found : ntp-01s2.secure-ops.center
authreadkeys: full access list <NULL>
authreadkeys: full access list <NULL>
authreadkeys: full access list <NULL>
transmit(192.168.1.61)
receive(192.168.1.61)
receive: authentication passed
...
server 192.168.1.61, port 123
stratum 2, precision -24', leap 00, trust 000
refid [192.168.1.61], delay 0.02975, dispersion 0.00009
transmitted 4, in filter 4
reference time: deaf0aae.e2b30a6f Tue, May 22 2018 23:31:26.885
originate timestamp: deaf0b5e.b75345ff Tue, May 22 2018 23:34:22.716
transmit timestamp: deaf0b5e.b6d7d98a Tue, May 22 2018 23:34:22.714
filter delay: 0.02989 0.03001 0.02975 0.03047
0.00000 0.00000 0.00000 0.00000
filter offset: -0.00091 -0.00075 -0.00095 -0.00061
0.000000 0.000000 0.000000 0.000000
delay 0.02975, dispersion 0.00009
offset -0.000954
22 May 23:34:22 ntpdate[25538]: adjust time server 192.168.1.61 offset -0.000954 sec
- ntpd
# service ntp restart # ntpq -c ass
ind assid status conf reach auth condition last_event cnt =========================================================== 1 55641 9014 yes yes none reject reachable 1 2 55642 f61a yes yes ok sys.peer sys_peer 1 3 55642 b31a yes yes ok sys.peer sys_peer 1 4 55643 9414 yes yes none candidate reachable 1 5 55644 9314 yes yes none outlier reachable 1 6 55645 941a yes yes none candidate sys_peer 1 7 55646 9414 yes yes none candidate reachable 1 8 55647 9014 yes yes none reject reachable 1
# ntpq -c lpeers
remote refid st t when poll reach delay offset jitter ============================================================================== LOCAL(0) .LOCL. 10 l 404 64 100 0.000 0.000 0.000 *ntp-01s2.secure 216.239.35.12 2 u 63 64 77 0.936 1.552 1.445 +ntp-02s2.secure 216.239.35.13 2 u 63 64 77 0.932 1.364 1.376 +azur.sophia.cnr 195.220.94.163 2 u 68 64 77 42.883 -1.722 8.583 -ntp.internet-fr 83.169.64.116 3 u 60 64 77 31.064 -2.176 9.211 +horlogegps.rese 10.3.128.189 2 u 3 64 177 34.379 -4.447 2.697 +ntp.univ-angers 195.220.94.163 2 u 64 64 77 41.496 -3.181 7.481 clock.isc.org 192.5.41.40 2 u 6 64 21 172.491 -0.633 6.706
KEY_ID KEY_TYPE KEY
- KEY_ID : Valeur comprise entre 1 et 65535 (Plusieurs clés peuvent être utilisée pour le même serveur
- KEY_TYPE : M = Condensat MD5 ou format ASCII (20 Caractères maximum ou 40 Caractères au format HEX)
- KEY : Valeur
Authentification RSA
Supervision
Voir l'installation de NetData : Netdata_Install
Hardening
1. Ajout des ACL pour les connxions clientes
... restrict 10.8.0.0 mask 255.255.255.0 nomodify notrap restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap ...
Troobleshooting
Gestion détaillée du document
- 18/05/2018 : Serge Carpentier : 1.0 ALPHA : Création
- 22/05/2018 : Serge Carpentier : 1.1 RC01 : Mise à jour
- Informations diverses
- Mise en page
