OpenNTPD (también conocido como OpenBSD NTP Daemon ) es un demonio Unix que implementa el Protocolo de tiempo de red para sincronizar el reloj local de un sistema informático con servidores NTP remotos. También puede actuar como servidor NTP para clientes compatibles con NTP.
Desarrollador (es) | El proyecto OpenBSD |
---|---|
Lanzamiento estable | 6.8p1 / 7 de diciembre de 2020 [1] |
Repositorio | https://github.com/openntpd-portable |
Escrito en | C |
Sistema operativo | OpenBSD , FreeBSD , NetBSD , Linux , macOS , Solaris [2] |
Estándar (s) | RFC 1305, RFC 5905 |
Tipo | Sincronizacion de tiempo |
Licencia | ISC |
Sitio web | www |
A partir de | Octubre de 2017 |
OpenBSD NTP Daemon es desarrollado principalmente por Henning Brauer como parte del proyecto OpenBSD . Sus objetivos de diseño incluyen ser seguro ( no explotable ), fácil de configurar y lo suficientemente preciso para la mayoría de los propósitos. Su versión portátil , como la de OpenSSH , [3] se desarrolla como un proyecto hijo que agrega el código de portabilidad a la versión de OpenBSD y lo libera por separado. La versión portátil está desarrollada por Brent Cook. [4] La versión portátil más reciente se lanzó en 2017 [actualizar]. Los desarrolladores del proyecto reciben algunos fondos de la Fundación OpenBSD .
Historia
El desarrollo de OpenNTPD fue motivado por una combinación de problemas con los demonios NTP actuales: configuración difícil, código complicado y difícil de auditar y licencias inadecuadas. [5] OpenNTPD fue diseñado para resolver estos problemas y hacer que la sincronización de tiempo sea accesible a una base de usuarios más amplia. Después de un período de desarrollo, OpenNTPD apareció por primera vez en OpenBSD 3.6. [6] Su primer lanzamiento se anunció el 2 de noviembre de 2004. [7]
Metas
OpenNTPD es un intento del equipo de OpenBSD de producir una implementación de demonio NTP que sea segura, fácil de auditar , trivial de configurar y administrar, razonablemente precisa y ligera en los recursos del sistema. Como tal, los objetivos de diseño de OpenNTPD son: seguridad, facilidad de uso y rendimiento. [8] La seguridad en OpenNTPD se logra mediante una sólida verificación de validez en la ruta de entrada de la red, el uso de operaciones de búfer limitado a través de strlcpy y la separación de privilegios para mitigar los efectos de posibles errores de seguridad que explotan el demonio mediante la escalada de privilegios . Con el fin de simplificar el uso de NTP, OpenNTPD implementa un conjunto más pequeño de funcionalidades que las disponibles en otros demonios NTP, como el proporcionado por Network Time Protocol Project. El objetivo es proporcionar suficientes funciones para satisfacer el uso típico con el riesgo de que no sea adecuado para requisitos esotéricos o de nicho. OpenNTPD se configura a través del archivo de configuración, ntpd.conf . [9] Se ofrece un número mínimo de opciones: dirección IP o nombre de host en el que OpenNTPD debería escuchar, un dispositivo sensor timedelta que se utilizará y el conjunto de servidores desde los que se sincronizará la hora. La precisión de OpenNTPD es el mejor esfuerzo; el demonio intenta ser lo más preciso posible, pero no se garantiza una precisión específica.
Ejemplo
OpenNTPD ajusta gradualmente el reloj del sistema, como se ve aquí en la salida de OpenNTPD ejecutándose en un sistema Linux :
$ grep ntpd /var/log/daemon.log | ajuste grep4 de agosto 03:32:20 nikolai ntpd [4784]: ajuste del reloj local en -1.162333s4 de agosto 03:36:08 nikolai ntpd [4784]: ajuste del reloj local en -1.023899s4 de agosto 03:40:02 nikolai ntpd [4784]: ajuste del reloj local en -0,902637 s4 de agosto 03:43:43 nikolai ntpd [4784]: ajuste del reloj local en -0,789431 s4 de agosto 03:47:35 nikolai ntpd [4784]: ajuste del reloj local en -0,679320 s4 de agosto 03:50:45 nikolai ntpd [4784]: ajuste del reloj local en -0.605858s4 de agosto 03:53:31 nikolai ntpd [4784]: ajuste del reloj local en -0.529821s
Crítica
OpenNTPD ha sido criticado por ser menos preciso que el demonio NTP producido por el Proyecto NTP (ntp.org). [10] Internamente, OpenNTPD no mantiene una precisión de milisegundos y puede variar de 50 a 200 ms desde el tiempo "real" porque omite una variedad de algoritmos que aumentan la precisión a favor de la simplicidad del código. El proyecto OpenNTPD reconoció las críticas, pero afirmó que la falta de precisión de microsegundos era una compensación de diseño que beneficiaba la simplicidad y la seguridad. [10] Los objetivos de diseño de OpenNTPD establecen que la intención del proyecto es "[r] cada uno con una precisión razonable" sin sacrificar el "diseño seguro para obtener ese último nanosegundo o un caso de borde oscuro". [11]
En septiembre de 2004, poco después del lanzamiento de OpenNTPD 3.6, el colaborador de ntp.org Brad Knowles publicó un artículo titulado OpenNTPd Considered Harmful [12] criticando varios aspectos de la implementación de OpenNTPD del protocolo NTP, así como el modelo de desarrollo dividido que emplea el proyecto. , que también se utiliza en el desarrollo de OpenSSH y OpenBGPD . En diciembre de 2004, Darren Tucker, el desarrollador principal de la rama portátil de OpenNTPD, escribió una respuesta detallada a Knowles, reconociendo algunos problemas como válidos, rechazando varios otros como injustificados y considerando otros como engañosos. [13] Entre los problemas más serios planteados por Knowles estaba que los servidores OpenNTPD afirmaban ser servidores de estrato 1. Sin embargo, el problema ya se había solucionado en el momento de la respuesta de Tucker. En marzo de 2005, Knowles reconoció la respuesta de Tucker y declaró que "iba a hacer todo [lo posible] para trabajar con [Tucker] para resolver los problemas restantes". [14] Además, las preguntas frecuentes sobre redes de OpenBSD se ampliaron con una respuesta a las críticas iniciales de Knowles. [15]
Segundos bisiestos
OpenNTPD (y el kernel de OpenBSD ) ignoran los segundos intercalares . [16] Se debe tener cuidado al usar OpenNTPD como una fuente de estrato superior para otros servidores ntpd, o con requisitos de tiempo de alta resolución que hacen referencia al tiempo universal coordinado . Los segundos intercalares se utilizan en el tiempo universal coordinado, pero no en las señales de tiempo del tiempo atómico internacional o del sistema de posicionamiento global .
El Observatorio Naval de los Estados Unidos y el Bureau International des Poids et Mesures recomiendan que los sistemas que no implementan segundos intercalares se referencian al Tiempo Atómico Internacional o directamente a las señales de tiempo del GPS. [17]
Referencias
- ^ "OpenNTPD" . Consultado el 9 de diciembre de 2020 .
- ^ "Versión portátil OpenNTPD" . OpenBSD . Consultado el 3 de abril de 2016 .
- ^ "openssh / openssh-portable" . GitHub . Consultado el 13 de mayo de 2016 .
- ^ "openntpd-portable / openntpd-portable" . GitHub . Consultado el 13 de mayo de 2016 .
- ^ El proyecto OpenNTPD. "Objetivos de OpenNTPD" . El proyecto OpenNTPD . Consultado el 3 de abril de 2016 .
- ^ The OpenBSD Project (1 de noviembre de 2004). "OpenBSD 3.6" . El proyecto OpenBSD . Consultado el 3 de abril de 2016 .
- ^ Brauer, Henning (2 de noviembre de 2004). "OpenNTPD 3.6 lanzado" . openbsd-publish (lista de correo). MARC . Consultado el 7 de junio de 2014 .
- ^ Brauer, Henning (septiembre de 2004). "Página 3: OpenNTPD - Objetivos de diseño" . El proyecto OpenBSD . Consultado el 16 de septiembre de 2006 .
- ^ - Manual de formatos de archivo OpenBSD . 26 de mayo de 2006. Consultado el 16 de septiembre de 2006.
- ^ a b El proyecto OpenBSD (21 de agosto de 2006). "FAQ 6.12.1: '¡Pero OpenNTPD no es tan preciso como el demonio ntp.org! ' " . El proyecto OpenBSD . Archivado desde el original el 5 de febrero de 2016 . Consultado el 14 de mayo de 2020 .
- ^ Autores de OpenNTPD (2004), "Objetivos" , OpenNTPD , proyecto OpenNTPD.
- ^ Knowles, Brad (22 de septiembre de 2004). "OpenNTPd considerado nocivo" . Considerado nocivo . Archivado desde el original el 4 de marzo de 2005 . Consultado el 16 de septiembre de 2006 .
- ^ Tucker, Darren (12 de diciembre de 2004). "Respuesta a OpenNTPd considerada perjudicial" . Advogato: Blog para dtucker . Consultado el 16 de septiembre de 2006 .
- ^ Knowles, Brad (12 de marzo de 2005). "Actualización: OpenNTPd ..." Considerado perjudicial . Archivado desde el original el 25 de mayo de 2006 . Consultado el 16 de septiembre de 2006 .
- ^ El proyecto OpenBSD (21 de agosto de 2006). "FAQ: 6.12.2: '¡Alguien ha afirmado que OpenNTPD es' dañino '! ' " . El proyecto OpenBSD . Archivado desde el original el 24 de septiembre de 2006 . Consultado el 16 de septiembre de 2006 .
- ^ "Manejo de Leap Seconds al estilo OpenBSD" . Diario de OpenBSD . 28 de junio de 2015 . Consultado el 9 de octubre de 2018 .
- ^ "Leap Seconds" . Observatorio Naval de Estados Unidos . Archivado desde el original el 24 de diciembre de 2017 . Consultado el 27 de febrero de 2019 .
enlaces externos
- - Manual del administrador del sistema OpenBSD
- Un artículo que explica OpenNTPD por Henning Brauer
- Preguntas frecuentes de OpenBSD: uso de OpenNTPD