Linux Adictos Darkcrizt  

NTPsec, una implementación mejorada de NTP

ntpsec

logo de ntpsec

NTPsec es un proyecto de código abierto que se centra en el desarrollo de una implementación segura y mejorada del Protocolo de Tiempo de Red (NTP), el cual es ampliamente utilizado para sincronizar los relojes de los sistemas informáticos en una red, asegurando una medición precisa y consistente del tiempo.

Este tipo de componentes, suelen ser los que la mayoría de los usuarios ignoramos (y me incluyo porque hasta hace algunos meses no había comprendido la importancia de este pequeño protocolo), ya que al ser algo que está detrás de nuestro día a día, es algo que pasa desapercibido.

En mi caso descubrí la importancia de NTP al querer realizar una «simple actualización» de mi sistema (Arco Linux) que deje durante varios meses sin abrir. Para no hacer el cuento largo, después de que se descargaron todas las actualizaciones y en teoría se debían instalar, simplemente no se instalaron, pues me aparecían un problema con las claves OpenPGP de los paquetes y por obvias razones de haber dejado el sistema durante meses, esto hiba a generar un grave problema.

Después de haber hecho 101 y una cosas e intentar de todo e incluso exorcizar a mi equipo, simplemente no podía resolver mi problema y la solución más próxima era volver a instalar el sistema desde cero, algo que no era de mi agrado.

Algo que note durante todo el proceso de intentar solucionar el problema, es que la hora de mi sistema era diferente a la de mi localidad e investigando un poco ese pequeño cambio horario generaba un problema al intentar importar las claves nuevas (tal y como lo menciona la bendita wiki de arch). Al leer esto, una palmada en mi frente fue lo primero que genero y procedí a intentar cambiar la hora e inmediatamente procedí a reiniciar para verificar si la fecha y hora del BIOS eran correctos, lo cual asi era. Posterior a ello volví a iniciar el sistema a disponerme a realizar el cambio como si de un proceso común en Windows o Android se tratara, y lo cual fue grave error de tener las costumbres antes de analizar.

Por más que intente resolver el problema de una forma u otra, lo que generaba el problema en mi sistema era el paquete ntp de mi instalación, por alguna razón que nunca pude resolver el paquete simplemente me estaba causando problemas. Aquí es donde encontré NTPsec la cual fue mi solución después de varias ahora de intentar solucionar mi problemática.

NTPsec es una implementación mejorada de NTP que cuenta con muchas mejoras de seguridad, pues cuenta con la implementación del estándar Network Time Security de IETF para una autenticación criptográfica sólida del servicio horario. En total, más del 74% del código base de NTP Classic se ha eliminado por completo, y se ha agregado menos del 5% de código nuevo al núcleo crítico para la seguridad y también hay un uso más consistente de la precisión de nanosegundos.

Entre las mejoras de seguridad, se eliminaron modos y funciones obsoletas, se adoptó el estándar RFC de Minimización de datos del cliente NTP y se incorporó la seguridad de tiempo de red. Además, se realizaron cambios en la sincronización horaria y mejoras en las herramientas del cliente, con nuevas utilidades como ntpmon y ntpviz para monitoreo en tiempo real y visualización de datos, respectivamente.

Explicando un poco esto, podemos entender un poco más la importancia de este «pequeño» componente que, para un usuario normal le dio varios dolores de cabeza y en entornos críticos no quiero imaginar el desastre que puede generar.

Dada una «no tan extensa» explicación de la importancia de NTP, la razón de contar mi pequeña “aventura” es porque hace poco fue lanzada la nueva versión de NTPsec 1.2.3 :

Entre las mejoras en la nueva versión se incluyen:

  • Alineación modificada de los paquetes del protocolo de control Mode 6, lo que podría afectar la compatibilidad con NTP clásico. El Mode 6 se utiliza para transmitir información sobre el estado del servidor y cambiar el comportamiento en tiempo real.
  • Se ha implementado el algoritmo de cifrado AES de forma predeterminada en ntpq.
  • Utilización del mecanismo Seccomp para bloquear nombres de llamadas al sistema incorrectas.
  • Se ha habilitado la recopilación de estadísticas con reinicio cada hora, con registros adicionales para NTS, NTS-KE y ms-sntp.
  • Inclusión de la opción «update» en buildprep.
  • Mejoras en la presentación de datos de retardo de paquetes en la salida JSON de ntpdig.
  • Se añadio soporte para la lista ecdhcurves.
  • Se corrigió la compilación en plataformas que -fstack-protector dependen de libssp, como musl.
  • Se corrigió el fallo de ntpdig al utilizar 2.ntp.pool.org con un host sin soporte IPv6.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.