Combat Apache Killer

9

Hace tres días, KingCope lanzó un sencillo script en Perl para DoS Apache, llamado Apache Killer.

Esta secuencia de comandos inicia aproximadamente 50 subprocesos para solicitar Contenido parcial del servidor con codificación GZIP opcional. Esto consumirá demasiada memoria que el sistema operativo tiene para matar a todos los demás procesos, o demasiada CPU que el servidor está a su altura.

Apache Foundation aún no ha lanzado un parche.

¿Cuál es la mejor manera de combatir esto?

    
pregunta Nam Nguyen 23.08.2011 - 10:52
fuente

4 respuestas

7

Cinco soluciones operativas se discuten en la lista de correo de Apache. Ir a leer para obtener detalles sobre cada uno:

1) Use SetEnvIf o mod_rewrite para detectar un gran número de rangos y luego    ignorar el encabezado Rango: o rechazar la solicitud.

2) Limite el tamaño del campo de solicitud a unos pocos cientos de bytes.

3) Use mod_headers para deshabilitar completamente el uso de los encabezados de rango:

4) Implementar un módulo de recuento de encabezado de rango como una medida temporal provisional:

5) Aplique cualquiera de los parches actuales en discusión

    
respondido por el Rory Alsop 25.08.2011 - 10:23
fuente
7

Al leer la secuencia de comandos proporcionada por Mark Davidson, la solución temporal obvia sería deshabilitar la funcionalidad parcial de apache si no es necesaria.

Este problema parece ser antiguo, que se ha "solucionado" al deshabilitar las solicitudes de contenido parcial. Aquí hay dos parches para versiones anteriores de apache.

Apache 1.3.36

Apache 2.0.58

Descargué la fuente actual de apache para debian squeezy para verificar si hay rastros de este parche. Desafortunadamente, parece que esto no está implementado.

No estoy familiarizado con el código fuente de apache2, así que no intentaré escribir un parche para él. Esto puede ser un ejercicio para el lector :)

    
respondido por el Dog eat cat world 23.08.2011 - 13:29
fuente
4

enlace tiene un excelente análisis de DoS a través del agotamiento del hilo de recursos, así como algunas reflexiones sobre contramedidas que incluyen

  • Saber cómo detectarlo.
  • Deshabilite POST como método si no lo necesita.
  • Establecer un tiempo de espera de conexión bajo

Ten un buen artículo de lectura.

    
respondido por el Rory Alsop 23.08.2011 - 18:06
fuente
1

Un poco tarde para el juego aquí, pero un WAF (firewall de aplicaciones web) probablemente también sea una mitigación útil.
Incluso si no está al tanto de este ataque de inmediato, cualquier WAF moderno debería admitir fácilmente el bloqueo de ese tipo de solicitudes incluso antes de que lleguen al servidor web.

    
respondido por el AviD 26.09.2011 - 02:14
fuente

Lea otras preguntas en las etiquetas