Detectar si nuestro servidor está siendo atacado

Nuestro va muy lento, más de lo normal y no hemos cambiado ni actualizado nada… ¿Estamos sufriendo un ataque DDoS?

Pero, ¿qué es un ataque DDoS, cómo se pueden identificar y qué puede hacer para proteger su sitio web contra ellos? En este artículo, veremos los signos comunes de un ataque DDoS y los pasos que puede seguir para mitigar un posible dañoan.

Pasos para detectar un ataque DDoS

Si crees que tu servidor está bajo ataque DDoS, lo primero que debes hacer es observar la carga del servidor. Algo tan simple como ejecutar el comando 'top‘ o ‘uptime’ te ayudará a mostrar la carga actual del servidor.

¿Qué se considera una carga aceptable?

Esto depende de los recursos de tu CPU o de los subprocesos disponibles. Normalmente la regla es de un punto por hilo.

Para determinar la carga actual del servidor, puedes usar el siguiente comando:

grep processor /proc/cpuinfo | wc -l

Este devolverá el número de procesadores lógicos (subprocesos). Durante un ataque DDoS, es posible que veas una carga al doble, triple o incluso más alta que la carga máxima que debería tener la máquina.

¿Cómo ver la carga carga del servidor?

Esto puede verse con los siguientes comando:

grep processor /proc/cpuinfo | wc -l
uptime

El promedio de carga muestra la carga en los siguientes intervalos: promedio de 1 minuto, promedio de 5 minutos y promedio de 15 minutos. En este escenario, un promedio de carga superior a 7 podría ser una preocupación.

A diferencia del ejemplo anterior, a veces el servidor responderá bien a través de una conexión de backend como IPMI, pero seguirá siendo lento cuando te conectes a través de una interfaz pública. Para determinar si este es el caso, deberás verificar el tráfico de red. Esto se puede hacer con una de varias herramientas, incluidas nload, bmon, iftop, vnstat e ifstat. Su elección dependerá de su sistema operativo, pero todas estas herramientas se pueden instalar a través de los distintos administradores de paquetes (apt, yum, etc.).

Cómo comprobar qué IP se conectan al servidor

Dado que los ataques DDoS requieren de conexiones al servidor, puedes verificar y ver cuantas y qué direcciones IP se están conectando al mismo tiempo al servidor.

Esto se puede determinar mediante el comando netstat, que se puede utilizar para promocionar todo tipo de detalles. En esta caso, sin embrago, solo nos interesan las IPs especificas que realizan las conexiones, la cantidad de IPs y posiblemente las subredes de las que forman parte. Para comenzar, ejecutaremos le siguiente comando en el terminal.

netstat -ntu|awk '{print $5}'|cut -d: -f1 -s|sort|uniq -c|sort -nk1 -r

Este comando devolverá una lista descendente de las IP que están conectadas a su servidor y cuántas conexiones tiene cada una. Los resultados también pueden incluir datos de artefactos, que aparecerán como información que no es de IP y se pueden ignorar.

Al observar los resultados, verás conexiones enumeradas que van desde 1 hasta aproximadamente 50 conexiones por IP. Esto puede ser bastante común para el tráfico normal. Sin embargo, si ves algunas direcciones IP con más de 100 conexiones, esto es algo que se deberá analizar.

Es posible que veas IP conocidas, una o más de las IP propias del servidor, o incluso tu propia IP personal con muchas conexiones. En su mayor parte, estos se pueden ignorar, ya que están allí normalmente. Es cuando ves IPs únicas y desconocidas con cientos o miles de conexiones, lo que debería preocuparte, ya que esto puede ser una señal de un ataque.

Después de recolectar toda esta información, solo faltaría mitigar el ataque y corregir las fallas que permitían que este afectase a los servicios y recursos del servidor.