Cuando la hora del equipo se desvía de la referencia de tiempo definida por Active Directory o por la infraestructura NTP, Windows Server 2022 bloquea el inicio de sesión porque Kerberos considera inseguros los sellos de tiempo. Este artículo muestra por qué sucede, cómo detectarlo y todos los caminos para solucionarlo de forma definitiva.
Causas habituales de la desincronización
El servicio Windows Time (w32time) mantiene el reloj del sistema alineado con la “raíz de confianza” de Active Directory. Si alguno de los componentes rompe esa cadena, la tolerancia máxima de 300 s de Kerberos se supera y el ticket de servicio se descarta. Entre las causas más reportadas se encuentran:
- El PDC Emulator perdió su referencia externa de NTP y se desvió gradualmente.
- La zona horaria del servidor miembro se cambió por error después de aplicar una plantilla de imagen o durante la migración a otra región.
- Equipos virtuales con la integración de hora de Hyper‑V activada y un host mal configurado.
- Sistemas que emplean servidores NTP heredados con NTP v3 incompatibles con los modos de autenticación modernos.
- Políticas de grupo que reducen la directiva “Maximum tolerance for computer clock synchronization” a menos de 5 minutos en un intento de endurecer la seguridad.
Comprobaciones iniciales rápidas
Antes de aplicar cambios, confirme el origen del problema:
# Hora local y desviación percibida
Get-Date
w32tm /query /status
Busque estos indicadores:
Indicador | Valor saludable | Señal de problema |
---|---|---|
Source | PDC Emulator o NTP fiable | (Local CMOS Clock) o 127.127.1.0 |
Offset | < 100 ms | > 5 min |
Stratum | < 6 | > 10 o “Unknown” |
Verificar hora y zona horaria en el servidor
Un error de zona horaria puede añadir o restar horas completas al reloj, situándolo muy lejos del umbral Kerberos.
- Ejecute
time /t
ydate /t
para ver la hora actual. - Abra PDC: Panel de control ► Fecha y hora ► Cambiar zona horaria y corrija cualquier valor incorrecto.
- Reinicie el servicio de tiempo para aplicar los cambios:
net stop w32time && net start w32time
Sincronizar con el controlador de dominio
En dominios, cada servidor miembro toma al PDC Emulator como única referencia válida. Use:
w32tm /resync /nowait
w32tm /query /configuration
Si AnnounceFlags
del PDC Emulator no muestra 0x5
, establezca la jerarquía con:
# En el PDC Emulator
w32tm /config /syncfromflags:manual /manualpeerlist:"time.windows.com,0x9" /reliable:yes /update
net stop w32time && net start w32time
Los parámetros ,0x9
fuerzan modo client y specialpoll, evitando que el DC actúe como servidor NTP para terceros.
Reglas de firewall imprescindibles
- Permita UDP 123 entrante en el PDC Emulator desde internet sólo si lo necesita como nodo de borde.
- Permita UDP 123 en sentido lateral entre controladores de dominio si opera varios sites.
Sincronizar los equipos cliente
Aunque el servidor se haya corregido, los clientes almacenan aún el viejo offset. Ejecute:
# En cada PC afectado (o vía GPO startup script)
w32tm /resync
klist purge
Alternativamente, reinicie w32time para forzar el modo de resintonización (fast resync) en lugar de la suave (slew):
net stop w32time
net start w32time
Comprobación de políticas Kerberos
La directiva “Maximum tolerance for computer clock synchronization” (GPMC ► Computer Configuration ► Policies ► Windows Settings ► Security Settings ► Account Policies ► Kerberos Policy) debe permanecer en 300 s. Valores menores aumentan el riesgo de fallos esporádicos por latencia de red.
# Auditoría rápida en PowerShell
(Get-ADDefaultDomainPasswordPolicy).MaxClockSkew
Entornos sin Active Directory
En grupos de trabajo o en DMZ, ningún DC distribuye la hora. Configure cada nodo con el mismo par de servidores NTP públicos o internos:
w32tm /config /manualpeerlist:"0.europe.pool.ntp.org 1.europe.pool.ntp.org" `
/syncfromflags:manual /update
net start w32time
w32tm /resync
Desactivar la integración de hora en máquinas virtuales
Si su host Hyper‑V consume una fuente NTP distinta (p. ej. hardware PTP), la VM puede recibir dos señales contradictorias. Desactive sólo la integración de hora y mantenga las demás:
Get-VMIntegrationService -VMName "MiServidor" |
Where-Object {$_.Name -eq "Time Synchronization"} |
Disable-VMIntegrationService
Después, configure la VM con el procedimiento estándar de NTP o con el PDC Emulator.
Registro de eventos clave
Windows escribe advertencias directamente relacionadas con Kerberos y tiempo. Mantenga un dashboard con los siguientes IDs:
Log | ID | Descripción | Acción recomendada |
---|---|---|---|
System | 36 | W32Time detectó una desviación superior a X segundos | Forzar w32tm /resync |
System | 47 | Time‑Provider NtpClient: no hay origen de tiempo | Verificar firewall/PDP |
Kerberos | 5 | Clock skew too great | Sincronizar reloj local |
Security | 4771 | TGT pre‑authentication failed (0x25) | Revisar hora del solicitante |
Scripts de remediación masiva
# Reinicia w32time y vuelve a sincronizar en todos los servidores
$servers = Get-ADComputer -Filter {OperatingSystem -like "Server"} | Select-Object -Expand Name
Invoke-Command -ComputerName $servers -ScriptBlock {
net stop w32time
net start w32time
w32tm /resync /nowait
}
Buenas prácticas preventivas
- Monitorización continua del drift — Integre consultas SNMP o WMI en su solución de monitoring y dispare alertas cuando el offset > 1000 ms.
- Mantenga el BIOS / UEFI actualizado — Algunas versiones presentan bugs que aceleran o frenan el cristal de cuarzo.
- Documente reglas de cambio — Impida modificaciones manuales de zona horaria en servidores productivos.
- Implemente servidores NTP internos redundantes — Dos o tres fuentes ofrecen detección automática de falsos positivos (falsetickers).
- Revise la pila de red virtual — Latencias de más de 10 ms entre VM y host pueden causar reintentos y saltos de tiempo aparentes.
Flujo de decisión para el administrador
- ¿Hora local y zona correctas? Sí → Paso 2. No → Corrija y reintente.
- ¿Origen de tiempo “PDC” o “NTP” fiable? Sí → Paso 3. No → Reconfigurar w32time.
- ¿Offset < 5 min en servidor y clientes? Sí → Paso 4. No →
w32tm /resync
. - ¿Sigue fallando Kerberos? Purgar tickets y revisar directivas GPO.
- ¿Infraestructura virtual? Verificar integración de hora del hipervisor.
Preguntas frecuentes
¿Puedo aumentar la tolerancia de Kerberos? Es posible, pero no recomendable; extender la ventana abre oportunidades a ataques de “replay”. Corrija la hora en su lugar.“` Mi PDC es una VM. ¿Debo marcarlo como fuente reliable? Sí, siempre que esta VM sincronice con un NTP de alta calidad. De lo contrario, promocione un DC físico. ¿Cómo pruebo la resolución? Ejecute klist get kdc
. Si devuelve un TGT sin error, la autenticación ya funciona. “`
Conclusión
La hora exacta es un pilar de la seguridad en Windows Server 2022. Alineando la zona horaria, configurando correctamente el servicio w32time y supervisando los eventos críticos, resolverá los fallos de inicio de sesión y añadirá resiliencia a su bosque de Active Directory.