Durante el año 2013 se ha generalizado el uso de protocolos distintos al tradicional DNS a la hora de realizar ataques de denegación de tráfico, el ultimo protocolo que se esta usando es Network Time Protocol (NTP), empleado para que los equipos estén sincronizados a nivel horario.
Ya se comentó anteriormente est tipo de ataques, que se basan en dos situaciones bastante frecuentes, una normal y otra debida sobre todo a malas configuraciones.
Es habitual y normal que haya muchas peticiones de tráfico que no sean balanceadas (se reciba más información que la que se solicita),esto ocurre en la mayoria de las situaciones (ver un video por internet, acceder a una página WWW, etc), por lo general somos «consumidores» de información y recibimos más información de internet que la que enviamos hacia fuera.
Para la mayoría de los protocolos esta situación no genera problemas de amplificación de tráfico ya que emplean un protocolo orientado a conexión como es TCP, en el cual se establece una negociación entre los equipos antes de enviar información, pero hay otros protocolos como ICMP o UDP que no son orientados a conexión .
Aquí interviene después la segunda situación que es la posibilidad de que un equipo genere tráfico con una dirección IP que no le corresponde (falsificación de direcciones, Spoofing, etc), y que este tráfico llegue hasta Internet.
Como comentábamos el documento de buenas prácticas BCP 38 , http://tools.ietf.org/html/bcp38 comentaba hace casí 15 años la necesidad de que las organizaciones filtraran el tráfico en origen , de forma que este trafico no deseado no llegue a internet. Este filtrado fue evolucionando de las tradicionales listas de acceso en los routers a técnicas como el «Reverse Path Forwarding», (RPF), implementado en los routers de la mayoria de los fabricantes, como Cisco, o Juniper , así en la mayoría de los sistemas operativos (Linux, *BSD*,etC) , cortafuegos (Fortinet, Paloalto, …).
Por lo general las instituciones conectadas a RedIRIS ya tienen aplicados estos filtros y además en el backbone se realizan comprobaciones adicionales pero se puede colaborar con proyectos como spoofer para comprobar si una red es susceptible de ser utilizada en ataques DDOS.
Estos ataques de denegación de servicio seguirán existiendo mientras haya redes que permitan la falsificación de tráfico ,aunque en el caso de NTP es algo más complicado y peligroso por diversos factores :
- NTP es usado por muchos sistemas a la hora de mantener una sincronización horaria, necesaria para diversos protocolos de enrutamiento , verificación de tiempos de espera y de vida de una conexión, etc. Por eso es crítico en muchos entornos.
- Muchos servidores de NTP, sobre todo los empleados en enrutadores y commutadores no tienen la posibilidad de filtrar las peticiones de consulta «privilegiadas» en la versión del sistema operativo que están corriendo, por lo que hay que aplicar filtros para impedir su uso desde el exterior.
- En muchas organizaciones como hardware para correr el servicio de NTP se utilizan enrutadores que disponen de varias direcciones IP (por los distintos interfaces) por lo que es necesario aplicar los filtros en todos los interfaces del equipo .
En el caso de NTP el problema es debido a que los servidores que permiten los paquetes en modo 7 (administrativo) desde otros hosts pueden recibir consultas para obtener una lista de los ultimos 600 servidores/clientes que han obtenido tiempo del servidor en cuestión. Esto puede realizarse mediante el comando monlist de la ultilidad ntpdc.
De esta forma un paquete comando de unos pocos bytes obtiene una respuesta de varios miles de bytes que pueden llegar a saturar el servidor y la red.
Existen 3 soluciones recomendadas a nivel de equipo que es servidor de NTP:
- Actualizar el servicio ntp a versiones posteriores a la 4.2.7p26.
- Deshabilitar el monitor. En el fichero de configuración añadir una linea «disable monitor»
- Añadir «noquery» en la lista de restricciones por defecto y despues permitirla a las maquinas que interese que reciban esa informacion.
restrict -4 default noquery
restrict -6 default noquery
Estas dos lineas anteriores evitaran que se ignoren los paquetes en modo 6 y 7 tanto para IPv4 como IPv6.
Referencias:
Por otro lado es aconsejable que aplique a nivel de red los filtros apropiados para evitar que se acceda desde el exterior de la organización a los servidores NTP que no sean públicos para evitar su uso en los ataques de denegación de servicio