Parece que estás siendo víctima del mantra "ICMP IS EVIL".
ICMP NO es malo, simplemente malentendido. La triste realidad es que muchos administradores temen lo que no entienden, por lo que expulsan a ICMP de su universo de red, evitándolo en el nivel de firewall de borde y evitando que ocupe el lugar correcto y adecuado para el beneficio de su red.
Dicho esto, permítame abordar sus preguntas:
¿Qué tipos de mensajes ICMP pueden ser dañinos y por qué?
Casi todos ellos.
Echo
los paquetes se pueden usar para interrumpir los servicios (especialmente para sistemas con pilas de IP mal implementadas); Usados legítimamente, pueden brindar información sobre su red.
Destination Unreachable
puede ser inyectado maliciosamente; Usados legítimamente, pueden brindar información sobre * su firewall / estructura de enrutamiento, o sobre una máquina específica en su red.
Source Quench
puede enviarse maliciosamente para que su servidor se sienta efectivamente en una esquina y chupe su pulgar.
redirect
se puede usar como su nombre lo indica.
router advertisement
y las router solicitation
solicitudes se pueden utilizar para crear topologías de tráfico "interesantes" (y facilitar los ataques MITM) si sus hosts realmente les prestan atención.
traceroute
está diseñado para proporcionar información de topología de red.
... etc ...
Los nombres de los diversos mensajes ICMP detallan bastante lo que son capaces de hacer. Ejercita tu paranoia innata en soñar escenarios de pesadilla :-)
¿Cómo debo diseñar un conjunto de reglas de iptables para manejar cada tipo de paquete ICMP?
En ausencia de una buena razón para meterse con el tráfico ICMP, ¡ déjalo en paz!
Muckear con el tráfico ICMP impide el uso apropiado de los mensajes ICMP (gestión del tráfico y resolución de problemas): será más frustrante que útil.
¿Debería limitar la velocidad de cualquiera de estos tipos de paquetes ICMP? ¿Y cómo?
Esta puede ser la única excepción legítima a la filosofía de "dejarlo en paz": los mensajes ICMP que limitan la velocidad o el ancho de banda pueden ser útiles para ayudarlo a evadir los usos ilegítimos de los mensajes ICMP. FreeBSD viene con ICMP Bandwidth / Rate Limiting de forma predeterminada, y supongo que Linux tiene una funcionalidad similar.
La limitación de velocidad / ancho de banda es preferible a una regla general de firewall que elimine el tráfico ICMP: todavía permite que ICMP cumpla su propósito en la red, y también mitiga parcialmente los intentos de abusar de su servidor.
Lo anterior representa las opiniones de un administrador de sistemas, quien, por su parte, está MUY CANSADO DE TENER QUE SOLUCIONAR REDES PARA SOLUCIONAR PROBLEMAS DONDE SE DEJA TODO EL TRÁFICO DE ICMP : es molesto, frustrante y toma más tiempo encontrar y solucionar problemas. :-)
--state INVALID
Ping of Death?Source Quench
, y puede bloquearlo con relativa impunidad (el TCP eventualmente lo resolverá por sí mismo). Ping & Traceroute son definitivamente fugas de información, pero en la práctica no creo que agregue demasiada seguridad real a su entorno. Su kilometraje (y el nivel requerido de paranoia) puede variar (dependiendo de la sensibilidad de sus datos / entorno).No se trata tanto de tipos como de posibles vectores de ataque. Ha habido un vector de ataque DoS bastante efectivo utilizando el paquete de desactivación de fuente ICMP en las pilas TCP / IP de muchos hosts de Internet comunes durante años , y sin embargo no significa que los mensajes ICMP de desactivación de fuente deban filtrarse en general. Como con todo lo relacionado con la seguridad de la red, evalúe el beneficio de un determinado protocolo o servicio contra la posible superficie de ataque según sus prioridades personales . Si tiene hosts en sus redes que son susceptibles a un vector de ataque a través de ICMP, no puede repararlos y no necesita las características específicas, ciertamente debería considerar filtrarlo.
Para mis redes administradas v4, he encontrado seguro y conveniente permitir los tipos de ICMP 0, 8 (solicitud / respuesta de eco), 11 (TTL caducado), 3 (destino inalcanzable) y 12 (error de encabezado IP) y descartar todos el resto.
fuente