Network Time Protocol (NTP) is a network protocol that synchronizes computer system clocks across networked environments by establishing hierarchical time sources and using timestamped message exchanges to estimate and correct clock offsets, as specified in RFC 5905. Accurate timekeeping is critical for log correlation during incident response, security functions like TLS certificate validation and Kerberos authentication, and DNS/DHCP operations; clock drift can break authentication, cause name resolution failures, and render audit evidence unreliable. Proper NTP deployment requires using multiple trusted internal sources, restricting query access, monitoring clock offset, securing against UDP-based amplification attacks, and carefully managing virtual machine clock synchronization to prevent operational outages and security control failures.
Cómo funciona el NTP
Los clientes NTP calculan la diferencia entre su reloj local y uno o varios servidores de referencia, y luego ajustan el reloj gradualmente. Los servidores se organizan en niveles denominados «estratos», en los que los servidores de estrato 1 se conectan directamente a un reloj de referencia, como el GPS.
- El cliente envía una solicitud: el cliente envía un paquete UDP a un servidor NTP en el puerto 123, registrando en el paquete su propia marca de tiempo de transmisión.
- Respuestas del servidor: El servidor registra cuándo recibió la solicitud y cuándo envió la respuesta, y devuelve ambas marcas de tiempo junto con la marca de tiempo original del cliente.
- El cliente registra la llegada: el cliente anota la hora en que llegó la respuesta, lo que le proporciona cuatro marcas de tiempo para el intercambio.
- Cálculo del desfase y el retraso: a partir de las cuatro marcas de tiempo, el cliente calcula el retraso de ida y vuelta y el desfase de su reloj respecto al del servidor.
- Selección y filtrado: cuando hay varios servidores configurados, el cliente compara las muestras, descarta las fuentes poco fiables y elige las mejores candidatas.
- Disciplina de reloj: el cliente ajusta su reloj gradualmente para eliminar la desviación. Solo realiza un ajuste brusco del reloj cuando el error es grande.
El intercambio se repite continuamente, y el intervalo de sondeo se alarga a medida que el reloj se estabiliza. NTP no autentica los servidores de forma predeterminada, por lo que se utilizan mecanismos opcionales, como claves simétricas o seguridad de tiempo de red, cuando es importante la fiabilidad de la fuente.
Problemas habituales con NTP
Un demonio NTP puede negarse a corregir un reloj que se desvíe más allá de su umbral de pánico, que por defecto es de 1000 segundos en la implementación de referencia. Un dispositivo con la batería agotada o con una fecha incorrecta seguirá mostrando la hora errónea hasta que un administrador ajuste la hora manualmente o inicie el demonio con una opción de ajuste.
Configurar un único servidor deja a los clientes sin forma de detectar una fuente defectuosa. Si ese servidor se desvía o es erróneo, todos los clientes lo siguen. El uso de varias fuentes independientes permite que el algoritmo de selección descarte un valor atípico.
Las reglas de cortafuegos que permiten el tráfico DNS y web, pero bloquean el puerto UDP 123, hacen que los clientes no se sincronicen sin que se produzca ningún error evidente. Los síntomas incluyen un desfase creciente, un estado de estrato 16 o un par al que nunca se puede acceder. Comprueba tanto las solicitudes salientes como el tráfico de retorno a través de dispositivos con seguimiento de estado.
Un servidor que responda a consultas de supervisión o control procedentes de cualquier dirección puede utilizarse en ataques de reflexión contra terceros. Restringe el acceso a las consultas y al control a redes de confianza y mantén el software actualizado con los parches correspondientes.
Las máquinas virtuales pueden sufrir desviaciones o saltos tras una pausa, una restauración de instantánea o una migración de host. Ejecutar un cliente NTP en una máquina virtual junto con la función de sincronización horaria del hipervisor puede provocar que ambos se disputen el control del reloj, por lo que conviene elegir un método de forma deliberada.