Cómo buscar y detener ataques DDoS en Linux


Jack Wallen lo guía a través de algunos de los pasos que puede seguir para verificar y mitigar los ataques de denegación de servicio distribuidos en un servidor Linux.

istock-507473994-2.jpg

Imagen: Getty Images / iStockphoto

Recientemente escribí un artículo sobre cómo detectar y detener un ataque DoS en Linux. DoS significa denegación de servicio, que es un ataque muy común a los servidores que puede dejarlos inutilizables hasta que se mitigue el problema.

Hay otro tipo de ataque identical, llamado denegación de servicio distribuido (DDoS) que es más difícil de descubrir y detener. Este tipo de ataque utiliza la misma strategy detrás del ataque de denegación de servicio, solo que distribuye el ataque entre varios servidores. En lugar de ver que su servidor es golpeado por una sola dirección, ese golpe proviene de una colección distribuida de servidores. Donde es posible que una fuente llegue a su servidor miles de veces, podría tener miles de servidores que accedan a su servidor solo unas pocas veces.

Le mostraré cómo puede verificar y detener los ataques DDoS en sus servidores Linux. Le advierto que la mitigación de DDoS no es tan fácil como lo es con DoS. De hecho, con DDoS, no solo tendrá que usar el comando netstat, sino que también tendrá que conocer muy bien su purple y poder hacer algunas suposiciones sobre la naturaleza de las conexiones descubiertas.

En otras palabras, la mitigación de DDoS no es corta y seca.

VER: Política de protección contra robo de identidad (TechRepublic Quality)

Lo que necesitarás

  • Un servidor Linux
  • Un usuario con privilegios de sudo

Cómo buscar subredes

Lo primero que desea verificar son las conexiones desde subredes comunes (/ 16 o / 24 son las más utilizadas). Inicie sesión en su servidor Linux y emita el siguiente comando para ver qué conexiones provienen de la misma subred (/ 16):

netstat -ntu|awk 'print $5'|cut -d: -f1 -s |minimize -f1,2 -d'.'|sed 's/$/../'|sort|uniq -c|form -nk1 -r

Si no se encuentra el comando netstat, deberá instalarlo con el comando:

sudo apt-get set up net-equipment -y

Debería ver una lista de todas las conexiones de direcciones que contienen los mismos dos primeros octetos, como 192.168.x.x (Figura A).

Figura A

ddos1.jpg "src =" https://tr1.cbsistatic.com/hub/i/r/2021/01/21/1526d47c-7da8-4c4b-9231-f013c82dea9e/resize/770x/87b311d3bf1b5d83f1b6b9d9e452596e/ddos1.jpg

Comprobando las conexiones de la misma subred que el servidor.

Como puede ver, tengo 13 conexiones a este servidor provenientes de la subred 192.168.x.x.

Para encontrar conexiones desde la subred / 24, el comando sería:

netstat -ntu|awk 'print $5'|lower -d: -f1 -s |slice -f1,2,3 -d'.'|sed 's/$/./'|form|uniq -c|sort -nk1 -r

El comando anterior mostraría todas las conexiones de la misma subred que los primeros tres octetos (como 192.168.1.x). Si encuentra una gran cantidad de conexiones provenientes de cualquiera de esas subredes, ha reducido un poco su búsqueda.

Otro comando netstat enumerará todas las direcciones IP que se han conectado al servidor. Este comando es:

netstat -anp |grep 'tcp|udp' | awk 'print $5' | slash -d: -f1 | sort | uniq -c

Debería ver una lista de todas las direcciones IP conectadas y la cantidad de veces que se han conectado.

A continuación, usamos netstat para calcular y contar el número de conexiones que cada dirección IP hace a su servidor. Ese comando es:

sudo netstat -ntu | awk 'print $5' | slash -d: -f1 | type | uniq -c | type -n

El comando anterior en realidad enumerará las direcciones IP de todas las subredes que están enviando solicitudes de conexión para su servidor.

En este punto, debe tener una buena thought de dónde provienen las conexiones y qué direcciones IP están asociadas con esas conexiones. Es posible que tenga una gran cantidad de conexiones provenientes de una subred en certain. Si esa subred no debería llegar al servidor con ese nivel de tráfico, es muy probable que de ahí provenga su ataque DDoS.

Cómo detener los ataques

Esto no es tan fácil como verificar y detener un ataque DoS. Sin embargo, la buena noticia es que una vez que haya determinado de dónde proviene el ataque DDoS, lo detiene de la misma manera que detuvo el ataque DoS. Simplemente ejecute el comando:

sudo route increase Handle reject

Donde DIRECCIÓN es la dirección en cuestión. Con el ataque DDoS, tendrá que ejecutar el comando anterior para cada dirección sospechosa que haya encontrado usando los comandos netstat. Esto podría llevar un tiempo substantial, dependiendo de cuántas máquinas estén atacando su servidor.

Si ha encontrado que todos los ataques provienen de una subred (una que no debería tener acceso al servidor), puede bloquear toda esa subred usando iptables, así:

sudo iptables -A Input -s Tackle/SUBNET -j Drop

Asegúrese de sustituir DIRECCIÓN / SUBRED por lo que ha descubierto que está atacando su servidor.

Otro tema a considerar es, si esos ataques provienen de subredes dentro de su LAN, por qué esas máquinas están bombardeando su servidor con ataques. Si ese es el caso, probablemente tenga un problema mucho mayor en sus manos. Una de las mejores cosas que puede hacer por esos servidores es instalar fail2ban (consulte Cómo instalar are unsuccessful2ban en Ubuntu Server 18.04). Esa herramienta ayudará a automatizar la prevención de inicios de sesión y ataques no deseados.

Recuerde, resolver ataques DDoS no es tan uncomplicated como su primo DoS. Deberá dedicar algo de tiempo a los comandos para determinar de dónde provienen los ataques, pero será un tiempo bien empleado.

Suscríbase a Cómo hacer que la tecnología funcione en YouTube de TechRepublic para obtener los últimos consejos tecnológicos para profesionales de negocios de Jack Wallen.

Ver también



Enlace a la noticia unique