Dans un domaine il est important que les horloges de l’ensemble des machines soient synchronisées. En effet le protocole d’authentification Kerberos requiert par défaut une différence maximale de 5 minutes entres les horloges afin de prévenir les attaques.
Si l’authentification se basait uniquement sur un nom d’utilisateur et un mot de passe il serait théoriquement possible pour une personne mal intentionnée d’enregistrer le trafic réseau, d’en extraire ces données et de les rejouer au serveur. Les clés de sessions Kerberos sont uniques et basées sur l’heure du client, ce qui permet d’éviter ces attaques si la différence maximale tolérée est relativement faible.
Afin d’être certain que les horloges sont toutes synchronisées entre elles il est nécessaire de définir une source de temps faisant autorité. Il est ainsi possible de configurer le contrôleur de domaine maître d’opération PDC afin qu’il devienne une source de temps de strate 2 se synchronisant sur une source de temps de strate 1 (en général un serveur de temps basé sur une horloge atomique).
Sur le contrôleur de domaine PDC, il suffit d’ouvrir une console et de taper net time /setsntp:fr.pool.ntp.org ce qui modifiera certaines clés dans la base de registre :
HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type passera de NT5DS à NTP
HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags passera de 10 à 5 en décimal
HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer sera créée au besoin et contiendra le nom du serveur NTP utilisé pour la synchronisation, ici fr.pool.ntp.org (pool de serveurs de temps français).
Il faut ensuite redémarrer le serveur de temps en tapant successivement net stop w32time puis net start w32time. Taper ensuite w32tm /resync /rediscover pour forcer la synchronisation.
Sur les autres contrôleurs de domaine on peut commencer par taper net time /setsntp afin d’effacer toute configuration antérieure puis w32tm /resync /rediscover. A noter que par défaut les ordinateurs et serveurs du domaine se synchroniseront avec l’heure du PDC.
En tapant ensuite w32tm /monitor on obtient par exemple le résultat suivant pour trois contrôleurs de domaine :
OLDDC.corp.local [192.168.1.1]:
ICMP: 0ms delay.
NTP: -0.0216955s offset from dc01.corp.local
RefID: dc01.corp.local [192.168.1.2]dc01.corp.local *** PDC *** [192.168.1.2]:
ICMP: 0ms delay.
NTP: +0.0000000s offset from dc01.corp.local
RefID: edony.tuxfamily.net [212.85.158.10]DC02.corp.local [192.168.1.5]:
ICMP: 0ms delay.
NTP: -0.0000669s offset from dc01.corp.local
RefID: dc01.corp.local [192.168.1.2]
On voit ici que les différences entre les horloges de OLDDC (-0.0216955s) et de DC02 (-0.0000669s) avec le PDC DC01 sont extrêmement faibles. On peut aussi remarquer le RefID des deux DCs qui pointe bien sur DC01 tandis que celle de DC01 indique un serveur local et donc une différence d’horloge de +0.0000000s, ce qui est rassurant ! A noter aussi que le serveur NTP automatiquement choisi dans le pool français est ici edony.tuxfamily.net.
De la même manière les ordinateurs clients se synchroniseront à présent avec le PDC ce qui assurera une harmonisation presque parfaite des horloges.
Tags : Contrôleur de domaine, Kerberos, NTP, Windows 2003









