Experiencia con un reciente ataque DDoS en Apache

8

Originalmente publiqué una pregunta aquí ya que no estaba familiarizado con un ataque distribuido real de denegación de servicio (DDoS) en mi servidor. Noté que mi servidor es muy lento en responder a las solicitudes HTTP, mientras que las solicitudes HTTPS son bastante buenas (aunque no tan buenas como se esperaba).

Al hacer un poco de análisis y observar el dmesg y el tamaño cada vez mayor de error.log de apache (más de 5 GB), descubrí que estoy recibiendo un ataque DDoS. Apagué a Apache e hice un netstat , descubrí que todo el SYN flood se ha ido.

En resumen:

El problema fue que los servidores remotos eran solicitudes de inicio a Apache en el puerto 80 y dejarían abierta la conexión TCP y, por lo tanto, agotarían los recursos de Apache.

Lo que hice:

Verifiqué si tenía actualizaciones de Apache, pero estaba actualizado.

Para asegurarme de que mi servidor no ejecutó un bot para comunicarse con un servidor de comando y control, reemplacé la imagen del volumen actual por una muy antigua en el momento en que no tuve ningún problema. Tan pronto como inicié el servidor, recibí los ataques como antes, así que esto no fue un problema.

Instalé CSF , aunque dudé porque inicialmente no podía confiar en este software. Después de iniciar la prevención SYN flood de CSF, noté algunas mejoras en las solicitudes HTTP, pero no mucho.

Lo que finalmente hice fue cambiar la IP del servidor y el ataque desapareció. Por cierto, las reglas de iptables no fueron tan efectivas, porque terminé bloqueando el tráfico legítimo.

Lo que sigue siendo una pregunta para mí:

  • ¿Por qué las solicitudes de HTTPS se manejaban de manera oportuna?
  • ¿Por qué los servidores siguen siendo fácilmente vulnerables a tales ataques a pesar de las toneladas de investigación en esta área?
  • ¿Cómo puedo prevenir este problema en el futuro?
pregunta hsnm 22.10.2012 - 16:40
fuente

1 respuesta

6
  1. Las solicitudes para el puerto 443 probablemente fueron más rápidas porque estaba siendo rechazado en el puerto 80. Apache procesa los procesos. Para dar servicio al puerto 80, Apache necesitaba generar un nuevo proceso. Para el servicio 443, Apache estaba usando un proceso existente. (Creo que ... hay que comprobarlo más tarde)

  2. La mitigación de DDoS sigue siendo un problema hard . Debe distinguir el tráfico legítimo del tráfico falso, y debe hacerlo con la menor interacción posible.

  3. Si este es un servicio con fines de lucro, un administrador de servidor web profesional y / o un servicio de mitigación DDoS sería el camino a seguir.

Si usted es un administrador de servidor web, entonces puede aprovechar las características de las herramientas, por ejemplo, CSF y Apache mod_security pueden ayudarlo. Los atacantes se centran en tratar de parecer tráfico legítimo. Yo mismo soy administrador y este tipo de ataque es un PITA serio contra el cual protegerse. Obtener el control de la firma del tráfico y filtrarlo adecuadamente puede llevar tiempo. Afortunadamente, hoy en día, las herramientas DDoS no responden rápidamente, por lo que pasarán al próximo objetivo o simplemente se rendirán por un tiempo.

Tenga en cuenta que hay una gran cantidad de tráfico legítimo que se parece a los ataques DoS. Las arañas de mal comportamiento son las que más me molestan. Las personas que vinculan gráficos en las redes sociales pueden verse como una DDoS, con docenas o cientos de visitas por segundo (desde direcciones IP únicas) si alguien vincula un gráfico en un foro popular.

Asegúrese de que cuando bloquea a alguien con IPTables, no "rechace" su tráfico. Déjalo caer. Se ralentiza las cosas.

Espero leer otras respuestas sobre este tema.

    
respondido por el mgjk 22.10.2012 - 17:37
fuente

Lea otras preguntas en las etiquetas