Guía para resolver problemas de seguridad de Multicast DNS (mDNS)

¿Que es multicast DNS (mDNS)?

El protocolo mDNS esta creado para resolver nombres de host en direcciones IP dentro de redes pequeñas que no incluyen un servidor de nombres local. El servicio mDNS puede ser contactado mediante consultas al puerto UDP 5353.
Este protocolo fue publicado en la RFC6762 y es implementado por los servicios Apple Bonjour y avahi-daemon.


Vulnerabilidades:

Si su servicio mDNS está expuesto al Internet, la realización de consultas al mismo podría permitir a hackers obtener información de su servidor (Ejemplo: información de la dirección MAC del dispositivo o servicios en ejecución) que podría ser utilizada para preparar un ataque.

También, desde que mDNS está basado en UDP, la consultas realizada al mismo pueden ser explotadas para realizar ataques de amplificación (el atacante puede falsificar su dirección IP de destino para saturarla con respuestas mDNS de su servidor):
(Inglés) https://www.us-cert.gov/ncas/alerts/TA14-017A

¿Como verificar si su servidor es vulnerable?

Utilice el siguiente comando desde un equipo remoto como root, para realizar la consulta al mDNS:
# nmap -Pn -sU -p5353 --script=dns-service-discovery <IP-de-su-servidor>

Podría obtener un resultado como el siguiente:

PORT STATE SERVICE
5353/udp open zeroconf
| dns-service-discovery:
| 9/tcp workstation
| Address=xx.xx.xx.xx
| 22/tcp udisks-ssh
|_ Address=xx.xx.xx.xx


Si la consulta expira (time-out), es posible que el servicio ya este filtrado.


Solución:

El Multicast DNS está diseñado para ser usado dentro de una red local. Por lo tanto, no es buena idea exponer este servicio al Internet de forma directa o, en general, a un entorno donde clientes no deseados puedan acceder directamente el servicio.

Existen distintas opciones para mitigar este inconveniente y proteger su servidor:
- Desactivar el servicio mDNS (Apple Bonjour o avahi-daemon) sino se está utilizando. Esta es la solución más sencilla.
- Configurar el firewall para filtrar conexiones entrantes al servidor a través del puerto UDP 5353 y solo permitir que direcciones IP o hosts confiables puedan contactar y tener acceso al servicio mDNS.

Referencias Externas:

https://en.wikipedia.org/wiki/Multicast_DNS
https://tools.ietf.org/html/rfc6762
https://www.akamai.com/us/en/about/our-thinking/threat-advisories/akamai-mdns-reflection-ddos-threat-advisory.jsp

¿Tiene más preguntas? Enviar una solicitud

0 Comentarios

El artículo está cerrado para comentarios.
Tecnología de Zendesk