¿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 pueden seguir para mitigar el daño que causan.
Tabla de Contenidos
¿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 conduce, 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 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 comandos:
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 responde 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 depende 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 este caso, sin embrago, solo nos interesan las IPs especificas que realizar las conexiones, la cantidad de IPs y posiblemente las subredes de las que forman parte. Para comenzar, ejecutaremos el 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 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 millas de conexiones lo que debería preocuparte, ya que 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.