Consideraciones para el filtrado del protocolo ICMPv6

11/06/2025

Consideraciones para el filtrado del protocolo ICMPv6

Por Henri Alves de Godoy y Ernesto Sánchez

En el marco del evento LACNIC 43, que tuvo lugar en el Distrito de Anhembi, San Pablo, Brasil, del 5 al 9 de mayo, Henri Alves de Godoy y Ernesto Sánchez presentaron en el Foro Técnico el trabajo de investigación titulado “Consideraciones para el filtrado del protocolo ICMPv6”. A continuación, compartimos un resumen conjunto de esta presentación como una contribución para el Blog de LACNIC.

Introducción: Evolución histórica del ICMP

El protocolo ICMP (Internet Control Message Protocol) se definió en la RFC 792 (1981) como un mecanismo fundamental para que los dispositivos de red pudieran comunicar errores, anunciar problemas de conectividad y permitir el diagnóstico de la red. Fue creado junto con IPv4 para dar soporte durante la transmisión de los paquetes, los cuales viajan sin garantía de entrega en la capa de red. Se utiliza, por ejemplo, para notificar cuando un host no está disponible, para informar cuando se ha excedido un TTL y para indicar problemas de fragmentación.

Una de las herramientas más usadas y de fácil manejo incluso para usuarios no expertos son los comandos ping (Echo Request/Reply) y traceroute (Time Exceeded), que utilizan directamente el protocolo ICMP. Estas herramientas son muy usadas en nuestra vida cotidiana y son indispensables para verificar la conectividad de forma rápida y sencilla.

Con el crecimiento de Internet y la posibilidad de navegar por la Web (antes limitada a las universidades y los centros de investigación) y el surgimiento de los pequeños proveedores de acceso a Internet (ISP) regionales a mediados de los 90, cada usuario recibía una dirección IPv4 pública en su hogar. Los usuarios residenciales todavía no conocían NAT y tenían una conexión directa de extremo a extremo, sin traducción de direcciones y sin que una misma IP fuera compartida por muchas personas, como sucede hoy.

En esa época también comenzaban a surgir los ataques de denegación de servicio (Denial of Service o DoS), que explotaban dispositivos conectados, como los smurf attacks, con los que se enviaban paquetes ICMP Echo Request a direcciones broadcast. Este tipo de ataques se conocen como ataques de amplificación y su objetivo es paralizar una red local.

Otro incidente importante y con repercusión histórica fue el “ping de la muerte”, que explotaba fallas en la implementación del protocolo IP en diversos sistemas operativos, especialmente Windows 95, y el atacante creaba un paquete ICMP Echo Request de un tamaño mayor al permitido por el estándar IP (65.535 bytes).

(Acceso libre, no requiere suscripción)

Con el tiempo, se creó un movimiento que sostenía que “hacer ping es peligroso”. En este contexto, muchos comenzaron a aplicar un bloqueo generalizado de ICMP, algo que durante muchos años se consideró una buena práctica de seguridad.

Sin embargo, esta decisión se basó más en el pánico que en un análisis técnico. Como consecuencia de ello, ahora es difícil distinguir entre una falla de conectividad y el filtrado del tráfico ICMP, creándose así redes invisibles para dificultar el mapeo de la red interna, donde el diagnóstico se ha vuelto ineficiente.

Muchos scripts de firewall (iptables, ipchains) y tutoriales empezaron a promover la práctica de bloquear por completo el protocolo ICMP, sin explicar las consecuencias técnicas. La influencia de esta cultura fue tan grande que hasta el día de hoy, 30 años después, todavía hay muchos que bloquean completamente ICMP en sus redes, creando así una falsa sensación de seguridad.

Las opiniones expresadas por los autores de este blog son propias y no necesariamente reflejan las opiniones de LACNIC.

Subscribe
Notify of

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments