Des connexions qui échouent soudainement sur Windows Server 2022 ? Dans la majorité des cas, un décalage d’horloge fait chuter Kerberos. Ce guide pratique explique comment diagnostiquer, corriger et prévenir durablement ces écarts.
Vue d’ensemble du problème
Lorsqu’un serveur membre d’un domaine Active Directory (AD) ou un serveur autonome dérive de plusieurs minutes par rapport aux clients ou au contrôleur de domaine (DC), le protocole Kerberos considère les tickets comme périmés et les rejette. Par défaut, la tolérance temporelle est d’environ 5 minutes. Au‑delà, l’ouverture de session, l’accès à des partages SMB, à IIS, à SQL Server ou à toute ressource sécurisée par Kerberos peut échouer, parfois de manière aléatoire selon l’hôte interrogé et la direction de la dérive.
Windows Server 2022 s’appuie sur le service W32Time pour la synchronisation : en domaine, les membres utilisent la chaîne hiérarchique AD (NT5DS) dont l’autorité ultime est le PDC Emulator de la forêt ; en environnement hors domaine, on configure des pairs NTP manuels. Windows Server 2022 peut en outre s’intégrer à des environnements exigeant une plus grande précision (PTP) lorsque le matériel réseau l’autorise.
Symptômes typiques
- Ouvertures de session impossibles sur des comptes de domaine (ou intermittentes).
- Accès aux partages réseau refusé ; messages indiquant un problème d’horodate ou d’authentification Kerberos.
- Applications d’entreprise (IIS, SharePoint, SQL Server, ERP) qui « perdent » l’authentification SSO.
- Événements de sécurité : échecs Kerberos/NTLM (ex. 4771, 4776) sur les DCs ; événements du service de temps (ex. 36, 47) côté serveur/clients.
- Commandes
w32tm
montrant des sources « inconnues », des déphasages élevés ou des synchronisations échouées.
Résumé des solutions et bonnes pratiques
Étape | Objectif | Commandes / actions clés |
---|---|---|
Vérifier l’heure et le fuseau horaire | Détecter tout écart immédiat. | time /t , date /t ou Get-Date ; vérifier Panneau de configuration > Date et heure > Fuseau horaire. |
Contrôler le service de temps (W32Time) | S’assurer qu’il démarre automatiquement et pointe vers la bonne source. | sc query w32time , w32tm /query /configuration . |
Resynchroniser manuellement | Corriger l’horloge sans redémarrer le serveur. | w32tm /resync /nowait ou w32tm /config /update puis net stop w32time && net start w32time . |
Vérifier la source de temps | Confirmer que le membre AD se synchronise avec le DC, et que le PDC se synchronise avec un NTP fiable. | w32tm /query /status , w32tm /query /source . |
Ajuster la liste NTP (non‑AD / DMZ) | Définir un ou plusieurs serveurs NTP autorisés. | w32tm /config /manualpeerlist:"0.pool.ntp.org 1.pool.ntp.org" /syncfromflags:manual /update (utiliser /reliable:yes uniquement si ce serveur doit servir de référence pour d’autres hôtes internes). |
Contrôler les clients | Un seul écart client ↔ serveur peut suffire à faire échouer Kerberos. | Sur chaque poste : w32tm /query /status puis w32tm /resync . |
Examiner les journaux | Identifier précisément le rejet Kerberos ou la dérive d’horloge. | Observateur d’événements : Applications et services > Microsoft > Windows > Time‑Service (IDs 36, 47…) et Journaux de sécurité (IDs 4771, 4776). |
Prévenir les dérives futures | Garantir la fiabilité à long terme. | Intégration temporelle Hyper‑V/VMware ; GPO Configuration Ordinateur > Modèles d’administration > Système > Service Temps Windows. |
Procédure express pour rétablir les connexions
- Comparer l’heure entre le serveur, un DC et un poste sain :
w32tm /stripchart /computer:DC01 /samples:5 /dataonly w32tm /stripchart /computer:poste-sain /samples:5 /dataonly
- Forcer une synchro sur le serveur affecté :
net stop w32time w32tm /config /update net start w32time w32tm /resync /nowait
- Vérifier la source et l’état :
w32tm /query /source w32tm /query /status
- Purgez les tickets côté client si la connexion échoue encore :
klist purge
- Contrôler les journaux pour confirmer la résolution (événements Kerberos OK, Time‑Service synchronisé).
Pas à pas détaillé
Vérifier rapidement l’heure et le fuseau
Un fuseau horaire inadapté (UTC vs locale, heure d’été mal appliquée) peut induire un décalage apparent de plusieurs heures. Contrôlez :
time /t && date /t
PowerShell> Get-TimeZone
PowerShell> Get-Date
Corrigez dans l’interface (Date et heure) ou via PowerShell :
Set-TimeZone -Name "Romance Standard Time"
Examiner le service W32Time
Assurez‑vous que le service est en démarrage automatique et opérationnel :
sc query w32time
w32tm /query /configuration
Les points clés à vérifier : le Type (NT5DS en domaine, NTP en autonome), la liste des pairs (NtpServer) et les intervalles de sondage.
Resynchroniser sans redémarrer
Redémarrer le service suffit souvent à relancer la synchro :
net stop w32time && net start w32time
w32tm /resync /nowait
Si la machine a pris trop d’avance/retard, un « pas » temporel sera appliqué. En cas de refus, examinez MaxPos/NegPhaseCorrection (voir section GPO) qui peuvent limiter les corrections trop importantes.
Vérifier la source de temps actuelle
w32tm /query /source
w32tm /query /status
w32tm /monitor
/source
doit indiquer un DC (en domaine) ou un pair NTP légitime. /status
révèle la dérive, le stratum, et la dernière synchronisation réussie.
Configurer des pairs NTP en environnement non‑AD ou DMZ
Sur un serveur autonome (ou en zone DMZ sans accès aux DC), définissez des pairs manuels fiables (idéalement deux à quatre hôtes) :
w32tm /config /manualpeerlist:"ntp1.exemple.net ntp2.exemple.net" /syncfromflags:manual /update
w32tm /resync
Ajoutez /reliable:yes
uniquement si ce serveur deviendra la référence de temps interne pour d’autres hôtes. Évitez de mélanger des sources publiques et privées sur un même serveur.
Contrôler et corriger les clients
Une dérive locale d’un poste suffit à briser Kerberos. Depuis le poste :
w32tm /query /status
w32tm /resync
Pour un lot de clients, exécutez côté administration (exemple simple) :
# Exemple : resynchroniser un groupe restreint
$computers = "PC01","PC02","PC03"
Invoke-Command -ComputerName $computers -ScriptBlock {
w32tm /resync
w32tm /query /status
}
Analyser les journaux d’événements
Ciblez deux emplacements :
- Applications et services > Microsoft > Windows > Time‑Service : synchronisation, dérive, bascule de source.
- Journaux de sécurité des DC : échecs Kerberos (pré‑authentification), tentatives NTLM, timestamps en erreur.
Journal | Event ID (exemples) | Interprétation |
---|---|---|
Time‑Service | 36, 47, 50 | Dérive détectée, changement de source, synchronisation rétablie. |
Sécurité (DC) | 4771, 4768, 4776 | Rejets Kerberos, demandes de TGT, validations d’identifiants. |
Comprendre la hiérarchie de temps Active Directory
En domaine, la synchronisation suit une logique hiérarchique :
- Postes et serveurs membres : se synchronisent avec leurs DCs du site.
- Contrôleurs de domaine : se synchronisent vers le PDC Emulator de leur domaine.
- PDC Emulator de la forêt racine : source ultime ; doit pointer vers un ou plusieurs NTP externes fiables et seul lui devrait être marqué fiable pour le domaine.
Vérifiez le rôle PDC Emulator et configurez ses pairs NTP externes. Tous les autres DCs et membres doivent rester en NT5DS (héritage de la hiérarchie AD) afin d’éviter des boucles ou des divergences.
Cas d’architecture fréquents et recommandations
Environnements virtualisés (Hyper‑V, VMware)
- DCs virtualisés : désactivez le service d’intégration « synchronisation de l’heure » de l’hyperviseur pour ces VMs et laissez AD gérer la hiérarchie.
- Hôtes hyperviseurs : synchronisez‑les via NTP externe ou PTP si disponible ; évitez d’imposer l’heure de l’hyperviseur aux DCs.
- Serveurs membres VM : conservez la synchro W32Time ; une co‑existence modérée avec l’intégration temporelle est tolérable si la source est cohérente.
DMZ et réseaux isolés
Sans accès au domaine, basculez en mode NTP avec des pairs autorisés (serveurs NTP de l’entreprise via pare‑feu), et n’ouvrez que UDP 123 vers ces hôtes. Centralisez la sortie NTP (proxy NTP interne) pour maîtriser la surface d’attaque.
Sites distants et liaisons WAN instables
Si la latence varie, privilégiez un DC local bien synchronisé au PDC. Ajustez prudemment l’intervalle de sondage (SpecialPollInterval) et surveillez la dérive via une tâche planifiée.
Serveurs autonomes (workgroup)
Choisissez 2 à 4 sources NTP de confiance, configurez NTP, et documentez la liste. Pour une cohérence inter‑serveurs, déclarez un serveur de référence interne si nécessaire (utiliser /reliable:yes
uniquement sur l’hôte de référence).
Commandes indispensables et lecture des résultats
Commande | Utilité | Lecture rapide |
---|---|---|
w32tm /query /status | État de la synchro, stratum, dernière réussite. | Synchronized doit être vrai ; Last Successful Sync Time récent. |
w32tm /query /source | Source actuelle (DC, NTP, Local CMOS). | Local CMOS Clock = mauvais signe (pas de source). |
w32tm /monitor | Comparer plusieurs hôtes (dérive, délai). | Écarts réguliers < 100 ms sur LAN sont sains (indicatif). |
w32tm /stripchart /computer:DC01 /samples:10 /dataonly | Graphique textuel de la dérive. | Écart stable et faible ; variations fortes = réseau ou source instables. |
w32tm /dumpreg /subkey:Parameters | Valeurs registres de configuration. | Vérifier Type, NtpServer, intervalles. |
Configurer proprement via GPO
Centralisez la configuration depuis une stratégie de groupe (Configuration Ordinateur > Modèles d’administration > Système > Service Temps Windows). Voici des paramètres de référence — adaptez‑les à votre contexte :
Paramètre GPO | Valeur type (domaine) | Valeur type (autonome/DMZ) | Commentaire |
---|---|---|---|
Configurer le client NTP Windows | Type : NT5DS | Type : NTP | NT5DS suit la hiérarchie AD ; NTP = pairs manuels. |
Serveur NTP | (non requis) | ntp1.exemple.net,0x9 ntp2.exemple.net,0x9 | 0x9 = sonde spéciale + mode client. |
SpecialPollInterval | 3600 | 900–3600 | En secondes ; réduire si réseau stable et précision critique. |
MaxPosPhaseCorrection | 172800 | 172800 | Correction maximale positive (jusqu’à 48 h). |
MaxNegPhaseCorrection | 172800 | 172800 | Correction maximale négative (jusqu’à 48 h). |
CrossSiteSyncFlags | 2 | (sans objet) | Favoriser un DC local au site AD lorsque possible. |
Surveillance proactive
Automatisez la détection des dérives avant qu’elles n’impactent Kerberos. Exemple de script de suivi (enregistre un CSV quotidien) :
$targets = "DC01","DC02","FS01","APP01"
$log = "C:\Logs\w32tm-monitor.csv"
$results = foreach ($t in $targets) {
$line = w32tm /stripchart /computer:$t /samples:3 /dataonly | Select-String "offset"
[pscustomobject]@{
Date = (Get-Date)
Host = $t
Offsets = ($line -join "; ").Trim()
}
}
$results | Export-Csv -NoTypeInformation -Append -Path $log
Planifiez‑le chaque semaine (ou heure) via le Planificateur de tâches et déclenchez une alerte si l’écart dépasse un seuil (par ex. > 60 s).
Précision et PTP avec Windows Server 2022
Pour des secteurs exigeant une précision inférieure à la milliseconde (finance, télémétrie), Windows Server 2022 peut tirer parti de PTP (IEEE 1588) lorsque la pile réseau et les cartes prennent en charge l’horodatage matériel. Dans ce cas, isolez les flux PTP, évitez les goulots d’étranglement (switchs intermédiaires non transparents) et testez bout‑à‑bout la chaîne de synchronisation.
Sécurité de la synchronisation
- N’ouvrez UDP 123 qu’en sortie vers des hôtes NTP de confiance (ou internes).
- Évitez de mixer des sources d’autorité différentes (publiques vs privées) sur un même serveur : la cohérence prime.
- Considérez l’authentification NTP par clés symétriques pour des segments sensibles (prise en charge par W32Time).
- Tracez la configuration (CMDB, documentation) : qui est source de qui ?
Questions fréquentes
Faut‑il augmenter la tolérance Kerberos au‑delà de 5 minutes ?
Non, sauf cas très particulier. Augmenter la tolérance masque le problème et affaiblit la sécurité. Corrigez la source de temps et la chaîne de synchronisation.
Quand utiliser /reliable:yes
?
Sur le PDC Emulator (ou le serveur de référence interne désigné) pour marquer la source comme fiable. Évitez de l’activer sur des membres ordinaires.
Dois‑je configurer manuellement tous les membres du domaine ?
Non. En domaine, laissez NT5DS afin que les membres héritent de la hiérarchie AD. Seul le PDC de la forêt doit pointer vers l’extérieur.
Comment tester sans perturber la production ?
Utilisez w32tm /stripchart
et /monitor
pour mesurer passivement. Pour une correction, commencez par un hôte non critique, validez, puis déployez via GPO.
Les BIOS/UEFI mal réglés peuvent‑ils provoquer des dérives ?
Oui. Des CMOS erronés ou des hôtes qui sortent d’un arrêt prolongé peuvent démarrer très en dehors du seuil ; W32Time doit alors effectuer un « pas » initial. Maintenez les firmwares à jour.
Checklist d’audit rapide
- Heure/fuseau corrects sur serveurs, DCs et postes.
- W32Time en démarrage automatique, état « running ».
- Type = NT5DS (domaine) ou NTP (autonome) selon le cas.
- PDC Emulator identifié et synchronisé avec des NTP externes fiables.
- Pairs NTP documentés, cohérents (pas de mélange public/privé).
- Hyperviseur : intégration temporelle ajustée (DCs exclus).
- GPO déployées et conformes (NtpServer, intervalles, corrections maxi).
- Surveillance automatisée (
w32tm /monitor
, journaux collectés). - Pare‑feu : UDP 123 autorisé uniquement vers les sources prévues.
Exemples prêts à l’emploi
PDC Emulator de la forêt : configuration de référence
# Sur le PDC Emulator (élevé)
w32tm /config /syncfromflags:manual /manualpeerlist:"ntp1.exemple.net,0x9 ntp2.exemple.net,0x9" /update
w32tm /config /reliable:yes
net stop w32time && net start w32time
w32tm /resync /nowait
w32tm /query /status
Membre du domaine : retour à la hiérarchie AD
w32tm /config /syncfromflags:DOMHIER /update
net stop w32time && net start w32time
w32tm /resync
Serveur autonome : NTP simple
w32tm /config /manualpeerlist:"0.pool.ntp.org,0x9 1.pool.ntp.org,0x9" /syncfromflags:manual /update
w32tm /resync
Bonnes pratiques complémentaires
- Ne multipliez pas les sources au hasard : deux ou trois NTP fiables suffisent.
- Documentez l’architecture du temps (diagramme simple : qui dépend de qui).
- Validez après correction :
w32tm /query /status
, test d’ouverture de session, accès SMB/IIS. - Formez le support N1 à reconnaître les signes d’un décalage d’horloge (messages Kerberos, offset anormal).
Conclusion
Les échecs de connexion Kerberos sur Windows Server 2022 sont, dans bien des cas, la conséquence directe d’une horloge hors tolérance. En appliquant la méthode décrite — vérification rapide, resynchronisation, contrôle de la source et durcissement via GPO — vous rétablissez la continuité d’accès tout en consolidant la santé globale du domaine. Couplée à une surveillance proactive (w32tm /monitor
) et à une architecture de temps claire (PDC Emulator → NTP externe, membres en NT5DS), cette approche empêche la réapparition du problème et garantit des authentifications fiables.
Informations complémentaires utiles (mémo)
- Tolérance Kerberos : ~5 minutes par défaut. Ne l’augmentez pas ; corrigez la source.
- Précision améliorée : PTP possible avec Windows Server 2022 si le matériel réseau l’autorise.
- Sécurité : n’ouvrez qu’UDP 123 vers des hôtes NTP de confiance. Pas de mélange de sources publiques/privées.
- Surveillance : planifiez
w32tm /monitor
et enregistrez la dérive pour agir avant que Kerberos ne soit impacté.