Basado en Linux Debian 10

Cómo protegernos ante un ataque DDOS en Linux

YouTube

Proyecto P4

Un ataque DDOS también llamado Ataque de Denegación de Servicio Distribuido es un ataque en conjunto donde un grupo de ordenadores distribuidos por todo el mundo nos atacan haciendo un montón de peticiones cada uno hacia nuestra maquina. Hay empresas donde alquilar servidores dedicados que cuando nos llega un ataque de este tipo desvían el tráfico malicioso de todos esos ordenadores hacia un área de mitigación dejando así nuestro ancho de banda limpio de ese ataque pudiendo trabajar con normalidad.

Si nuestro servidor no dispone de este servicio está expuesto a este tipo de ataques. Lo más habitual es que el ataque afecte al hardware del servidor llenando la memoria ram llenándose y rascando la memoria SWAP. Por otro lado él procesador intenta procesar todos esos paquetes y en el intento puede llegar a colapsarse.

Además de colapsar nuestro servidor llegando el punto de no ser capaz de responder ante tantas peticiones empezarán a venir problemas con el ancho de banda llegando este a colapsar haciendo las cosas aún más difíciles.

Si quieres que tu servidor este protegido contra este tipo de ataques vamos a instalar un Script que lo que hace es identificar cuales son las direcciones IP que nos están atacando y bloquearlas con IPTables para que así nuestra máquina no intente responder a sus peticiones y acabe colapsando.

Este no es un método infalible porque al igual que el ataque DDOS puede colapsar nuestro servidor también el bloqueo de direcciones IP masivo puede ser un problema. Si el ataque viene de 10 o incluso 100 ordenadores IPTables tendrá que bloquear estas direcciones IP y lo hará sin problemas pero si por ejemplo el ataque viene de 1000 o 10000 ordenadores la cosa cambia porque como os comentaba en el artículo sobre Cómo bloquear países en Linux Debian si añadimos muchas direcciones IP también llegará el procesador a subir de carga y con ello el ralentizamiento de la maquina, pero como en seguridad informática todo suma vamos a instalar este Script que estará vigilando y hará la faena por nosotros.

Para comenzar nos identificamos como súper usuario ROOT con …

su

Entramos en la carpeta temporal del sistema …

cd /tmp/

Seguidamente nos descargamos el instalador …

wget http://www.inetbase.com/scripts/ddos/install.sh

Le damos permisos …

chmod 777 install.sh

Ejecutamos el instalador …

./install.sh

El instalador nos mostrará la licencia …

Cómo protegernos ante un ataque DDOS en Linux

Pulsamos la tecla Q y terminará de instalar …

Cómo protegernos ante un ataque DDOS en Linux

Como podemos ver nos muestra dónde está el fichero de configuración, vamos a acceder al directorio donde lo ha instalado con …

cd /usr/local/ddos

Ahora vamos a editarlo con …

vi ddos.conf

Config DDOS

En este fichero de configuración básicamente lo que tenemos que tener claro es si estamos usando APF o IPTABLES.

En mi caso estoy instalando este script en la versión 10 de Debian GNU/Linux sin haber instalado APF por lo que estoy usando IPTABLES.

Para decirle al script que trabaje con IPTables hay que modificar la línea APF_BAN=1 dejándola así …

APF_BAN=0

Ahora guardamos los cambios con la tecla ESC :wq! y vamos a intentar hacerlo andar …

./ddos.sh

En mi caso me encuentro con el siguiente error …

DDOS Error

Para solucionar este error editamos el ejecutable …

vi /usr/local/ddos/ddos.sh

Buscamos la linea if …

ddos 1

Y la modificamos dejándola así …

ddos 2

Guardamos los cambios y salimos del editor. Ahora intentamos ejecutarlo …

./ddos.sh

En mi caso me salen los siguientes errores …

unexpected operator

Volvemos a editar el ejecutable …

nano ddos.sh

Básicamente hay que cambiar el nombre del servicio crond por cron ….

error ddos deflate

Quedándonos así …

error cron ddos

Finalmente y para quitar el resto de errores cambiamos la shell en la que trabaja en la primera linea del fichero modificando …

#!/bin/sh

Por

#!/bin/bash

Ahora si lo ejecutamos funciona correctamente …

/usr/local/ddos/ddos.sh

Con esto ya lo tenemos funcionando y preparado para banear a toda IP que haga mas de 150 peticiones.

¿Quieres ver como te banea?

Accede a un ordenador que no sea el tuyo porque te baneará. Una vez tengas acceso haz un montón de peticiones al puerto 80 por ejemplo 100000 con la utilidad ab de este modo …

ab -c 10 -n 100000 http://IPDETUSERVIDOR:80/

Como puedes ver has sido baneado 😉

Por cierto la utilidad ab es una utilidad del servidor web apache para medir la carga que puede soportar tu maquina y se instala así …

apt install apache2-utils

COMPLEMENTO

Como complemento a este articulo sobre cómo protegernos ante un ataque DDOS en Linux aquí os dejo un enlace a la web de JAVAPIPE donde tiene un post que habla sobre cómo paliar la mayoría de ataques desde IPTables muy muy completo, recomendado!