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?