iptables | Tipos de ICMP: ¿cuáles son (potencialmente) dañinos?

8

Leí que ciertos tipos de paquetes ICMP pueden ser dañinos. Preguntas:

  • ¿Cuáles y por qué?
  • ¿Cómo debo diseñar un conjunto de reglas de iptables para manejar cada tipo de paquete ICMP?
  • ¿Debería limitar la velocidad de cualquiera de estos tipos de paquetes ICMP? ¿Y cómo?

[¹] Los tipos sobre los que leí: Redirección (5), Marca de tiempo (13) y Solicitud de máscara de dirección (17). Por favor, no considere solo estos en su respuesta.

Más información
Es un servidor web en un VPS con Ubuntu Server.

El objetivo
que estoy tratando de hacer que el sistema sea más seguro, mitigar el riesgo de algunos ataques D / DoS y abuso general.

Relacionado
¿Es seguro mi firewall de Linux?
¿Por qué no bloquear ICMP?

ML--
fuente

Respuestas:

10

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.

  • Echolos 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 Unreachablepuede 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 advertisementy las router solicitationsolicitudes se pueden utilizar para crear topologías de tráfico "interesantes" (y facilitar los ataques MITM) si sus hosts realmente les prestan atención.

  • tracerouteestá 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. :-)

voretaq7
fuente
Pero ... pero ... ¡ se debe temer al Ping de la Muerte , a niveles irracionales! (¿es malo que
Shane Madden
De hecho, ICMP es útil. Si fuera víctima de "ICMP es malo", preferiría bloquear todo y no abrir esta pregunta :) Todo lo que quiero es ayuda para tomar una decisión informada. Puede estar seguro de que no los bloquearé a todos :)
ML--
@ Shane Madden: ¿Caerá --state INVALIDPing of Death?
ML--
77
@ ML-- No te preocupes por el ping de la muerte. Ningún sistema operativo de este milenio es vulnerable.
Shane Madden
2
@ ML: el único vector que me preocupa es 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).
voretaq7
4

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.

el wabbit
fuente