¿ De cuáles son las reglas de iptables para permitir ntp? :
iptables -A INPUT -p udp --dport 123 -j ACCEPT
iptables -A OUTPUT -p udp --sport 123 -j ACCEPT
Además, desde el sitio web de NTP :
... ntpd requiere acceso bidireccional completo al puerto UDP privilegiado 123. ...
Mi pregunta es, ¿por qué? Para alguien que no está familiarizado con NTP, esto parece un posible agujero de seguridad, especialmente cuando le pido a un cliente mío que abra ese puerto en su firewall para que mis servidores puedan mantener su hora sincronizada. ¿Alguien tiene una justificación decente que pueda darle a mi cliente para convencerlo de que necesito este acceso en el firewall? La ayuda es apreciada! :)
Respuestas:
Solo necesita permitir los puertos NTP de tráfico entrante si está actuando como un servidor, permitiendo que los clientes se sincronicen con usted.
De lo contrario, la existencia de un estado NTP determinará automáticamente si el paquete NTP entrante está bloqueado o permitido por un estado de firewall existente que iniciamos.
iptables -A OUTPUT -p udp --sport 123 --dport 123 -j ACCEPT
iptables -A ENTRADA -m estado --estado ESTABLECIDO, RELACIONADO -j ACEPTAR
Avíseme si las reglas de iptables son adecuadas. No tengo experiencia con iptables. Mi cliente NTP permanece sincronizado en mi enrutador pfSense con solo una regla de salida saliente porque pfSense es un firewall con estado.
fuente
NTP requiere acceso bidireccional en el puerto 123 porque el RFC de NTP especifica lo siguiente con respecto al puerto de origen del cliente:
Dado que el puerto de origen del cliente es 123, cuando el servidor devuelve la respuesta, la enviará al puerto 123. Naturalmente, para poder recibir esa respuesta, el cliente debe permitir las respuestas entrantes en el puerto 123. Normalmente, las respuestas volverían en algún rango de puerto efímero .
Como Ben Cook mencionó anteriormente, esto solo se requiere cuando se trata de un firewall sin estado ya que un firewall con estado permitiría que la respuesta regrese sin una regla explícita.
fuente
Creo que la mejor solución es habilitar el puerto 123 para la entrada, solo para las direcciones IP que se espera que le den a su servidor la señal ntp.
Dentro del archivo de configuración ntp, /etc/ntp.conf, están las direcciones de varios servidores ntp a los que debe apuntar su servidor. Puede usar el comando de búsqueda para encontrar la IP correspondiente para cada dirección.
host -t a 0.debian.pool.ntp.org
Luego puede agregar la regla al firewall del servidor:
iptables -I INPUT -p udp -s 94.177.187.22 -j ACCEPT
... y así sucesivamente.
Esto puede evitar que cualquier persona malintencionada dañe su servidor.
Creo que no sirve de nada restringir la salida.
fuente
La comunicación de servidor a servidor ntp es el puerto de origen y destino 123. Es más conveniente permitirlo explícitamente al menos a los hosts en los que está ejecutando un servicio ntp.
Puede considerar exponer un host externo a Internet para obtener tiempo de fuentes externas. Un servicio interno ntp que se sincronice con esto puede ser la fuente de todos los dispositivos. Si estos hosts están dedicados al propósito, la posible exposición es limitada: solo aceptan tráfico ntp y no almacenan otros datos.
Alternativamente, no use una red IP externa en absoluto. Use una fuente de radio como GPS por tiempo, por ejemplo.
http://www.diablotin.com/librairie/networking/firewall/ch08_13.htm http://support.ntp.org/bin/view/Support/TroubleshootingNTP
fuente