ataque de inundación SYN que causa una alta CPU en el firewall de hardware

3

Tengo un firewall ZyWall USG 200. Hace unos días hubo un ataque de inundación SYN que causó un 100% de carga de CPU. Después de investigar, resultó que este fue un ataque desde una sola dirección IP y mientras el ataque se estaba ejecutando, el puerto WAN se estaba descargando a 30 Mbit / s. El enlace ascendente en el servidor de seguridad es de 1 Gbit y el ataque no afectó a nada más en la red.

El bloqueo de la dirección IP del atacante en el firewall no hizo nada.

Yo mismo hice una prueba de inundación SYN y muestra que el firewall es muy sensible a la inundación SYN. Tengo todos los servicios de escaneo de contenido deshabilitados porque causan una alta carga de CPU, por lo que solo estoy usando el servicio de firewall.

Me puse en contacto con ZyXel y respondieron que no había nada que pudiera hacer, excepto esperar a que el atacante se rindiera. Eso es inaceptable porque aparentemente cualquier persona con una conexión de red decente puede interrumpirla.

¿Este problema es normal y común en los firewalls de gama baja? ¿Hay algo que pueda hacer para evitar esto?

    
pregunta sarge 14.09.2013 - 01:14
fuente

5 respuestas

4

Si tiene un enrutador en frente de su firewall, configúrelo para que abandone los paquetes que se originan para la dirección IP. Su enrutador debería estar mejor equipado (espero ...) para lidiar con ese nivel de actividad de la red en comparación con el firewall.

    
respondido por el Ayrx 14.09.2013 - 05:11
fuente
4

Si su firewall está rastreando una nueva conexión para cada paquete SYN entrante, esto es lo que esperaría. De hecho, es exactamente el punto de un ataque de inundación SYN.

Si su firewall no tiene estado (no hay seguimiento de conexión), no esperaría ningún efecto pronunciado de las inundaciones SYN, ya que los paquetes SYN no se tratan de manera diferente a cualquier otro.

    
respondido por el tylerl 14.09.2013 - 05:21
fuente
4

La interfaz física puede ser de 1 Gbps, pero eso no significa necesariamente que el hardware en sí pueda procesar tanto. Observando las especificaciones en su dispositivo, veo algunos elementos que pueden ser de particular interés para usted.

  • Rendimiento del Firewall SPI: 250 Mbps
  • Rendimiento UTM (AV + IDP): 40 Mbps
  • Sesiones máximas: 40,000

Lo que nos dice es que no importa cuál sea el rendimiento de su enlace ascendente, la mayoría del tráfico que su dispositivo nunca pasará es de 250 Mbps. Probablemente, este no sea un límite estricto, ya que es posible que pueda infiltrarse un poco más alto, pero es todo lo que el fabricante garantizará. La limitación es probablemente el hardware, probablemente el backplane IO pero posiblemente la CPU.

A medida que habilite funciones adicionales, este rendimiento solo se reducirá, podemos ver que si habilita la detección y prevención de intrusos y antivirus, solo tiene una capacidad nominal de 40 Mbps. Esto está ciertamente relacionado con el procesador y está bastante cerca de lo que dices que viste en tu pico.

Otro límite difícil es el número máximo de sesiones. Este es el número total de conexiones abiertas que su dispositivo puede manejar. En general, una vez que se alcanza este límite, cualquier nueva conexión simplemente será denegada. Esto suele ser una limitación de la memoria, ya que la tabla de seguimiento de la conexión se almacena en la memoria.

En cualquier caso, realmente necesita comprender el impacto total de la ejecución de los servicios y de lo que es capaz su dispositivo. Esta es realmente la única forma de saber qué sucede en situaciones como esta.

    
respondido por el Scott Pack 14.09.2013 - 05:22
fuente
1

He trabajado en firewalls de hardware y teníamos algo llamado Syn-cookie. El firewall no crea una conexión completa después de recibir solo el paquete Syn. Envía el syn-ack y espera el ack antes de crear una conexión.

Página de wiki de cookies de sincronización

Compruebe si este firewall tiene esta función. Hice una búsqueda rápida pero no pude encontrar ningún artículo.

Hay otras formas de manejar esto. Un método es similar a lo que Terry ha mencionado en una publicación anterior, para bloquear los paquetes de esa máquina con un dispositivo de filtrado de IP o configurar el enrutamiento de origen (si esa característica está presente en su dispositivo) para enviar todos los paquetes desde la IP problemática a una interfaz nula.

La mayoría de los firewalls tienen funciones de limitación de velocidad. Esto es si la cantidad de conexiones por segundo desde una única fuente-ip excede un límite en particular, luego comienza a eliminar las conexiones desde esa fuente-ip por un período de tiempo

Otro punto (mencionado por Scott) es sobre el motor de procesamiento de la sesión. Entiendo que este dispositivo es un firewall con estado. A veces veo que la función de inspección con estado está desactivada en algunos dispositivos (es una amenaza de seguridad y también puede provocar que se excedan las sesiones en el dispositivo y podría llevar a una mayor utilización de la CPU)

Otra forma de detener los problemas es una entrada de la tabla de sesión con una acción de denegación. Por lo tanto, cada paquete que envía la IP maliciosa está activando una búsqueda de políticas y se está rechazando. Las búsquedas de políticas pueden ser intensivas en la CPU. el cual, si un paquete es denegado por una política, se crea una entrada de tabla de sesión para ese paquete que almacena en caché la acción de denegación para que el siguiente paquete de la misma IP no llegue a la etapa de política / enrutamiento y se descarte en la sesión etapa de búsqueda en sí.

Todas las cosas mencionadas son formas generales que los firewalls pueden usar para prevenir estos ataques. Deberá consultar la documentación de su firewall para ver si alguna de estas técnicas es posible.

    
respondido por el aRun 14.09.2013 - 09:02
fuente
-3

Es posible limitar cada syn que no tiene respuesta. por ejemplo, el siguiente artículo puede comenzar a configurar su firewall para evitarlo para syn flood:

Iptables de Linux Limita el número de ataques entrantes de conexión / sincrutación tcp

    
respondido por el PersianGulf 14.09.2013 - 01:55
fuente

Lea otras preguntas en las etiquetas