Linux en español
Cómo detectar ataque de Denegación de Servicio (DDoS) en Linux
Tutoriales

Cómo detectar un ataque de Denegación de Servicio (DDoS) en Linux

5 minutos de lectura

¿Qué es un ataque DDoS, cómo se pueden identificar y qué puede hacer para proteger su sitio web contra ellos? En esta guía, veremos los signos comunes de un ataque DDoS y los pasos que puede seguir para mitigar el daño que causan.

¿Qué es DDoS?

DDoS o Distributed Denial of Service (Denegación Distribuido de Servicio) es un ataque coordinado que utiliza una o más direcciones IP diseñadas para paralizar un servicio o hacer que este sea inaccesible.

Normalmente esto se hace sobrecargando los recursos de un servidor y utilizando todas las conexiones, ancho de banda y rendimiento disponibles. Al igual que cuando conduces, el tiempo de viaje del punto A al punto B será más lento si hay demasiado tráfico. Al inundar un servidor con más conexiones de las que puede manejar, el servidor de atasca y no puede procesar solicitudes legítimas.

Existen varios medios para realizar un ataque de tipo DDoS, que van desde la inundación HTTP hasta las conexiones persistentes de Slowloris. La gran mayoría requiere conexiones en vivo al servidor en cuestión.

Lo bueno de esto, reside en que, debido a que estas conexiones son en vivo, tienes la capacidad de poder verlas a medida que se realizan. Con algunos comandos simples, no solo puedes determinar si se está produciendo un DDoS, sino que además puedes observar la información necesaria para mitigar estos ataques.

Cómo 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 numero 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.

Entradas relaccionadas

Cómo deshabilitar XML-RPC en WordPress

Diego García Cuesta

Cómo actualizar a Ubuntu 20.04 LTS (Spoiler: es fácil)

Linux en Español

Lanzado CentOS Linux 7.7 y aquí está cómo actualizarlo

Diego García Cuesta

Cómo conectarme por SSH a una Raspberry Pi

Diego García Cuesta

Top 5 distribuciones más estables

Diego García Cuesta

Cómo dar Formato a Unidades USB y Tarjetas SD en Linux

Diego García Cuesta

Este sitio web utiliza cookies para mejorar su experiencia. Asumiremos que está de acuerdo con esto, pero puede optar por no participar si lo desea. Aceptar Leer más

Política de privacidad y cookies