En caso de un ataque de Denegacin de Servicio Distribuido, en adelante DDoS, es importante tener en cuenta que normalmente es imposible evitar por completo que se realice el ataque, pero s es posible mitigar sus efectos y proteger el servidor para que pueda seguir funcionando de manera normal.

Por supuesto podras aumentar la capacidad del servidor para poder soportar el trfico adicional. Esto se puede hacer a travs de la adicin de ms recursos como CPU, RAM o ancho de banda. Aunque normalmente resultar insuficiente si el ataque DDoS es severo.

Lo primero es intentar identificar el tipo de ataque que est sufriendo tu servidor. Esto te ayudar a elegir la mejor tcnica de mitigacin. Puedes utilizar herramientas de monitorizacin de redes como MRTG o SmokePing para determinar el tipo y el origen del ataque.


La solucin rpida y manual: iptables

Ahora imagina que tienes un tienes un servidor en un VPS con un servidor web Apache2 y tu aplicacin web est recibiendo un ataque de DDoS desde varias geolocalizaciones. Una de las herramientas que puedes utilizar rpidamente como contramedida es
iptables, ya sabis, el firewall de facto en Linux que permite establecer reglas para filtrar el trfico entrante y saliente. Los pasos ms comunes para mitigar el ataque con iptables seran los siguientes:

- Identifica la fuente del ataque: es importante saber de dnde provienen los paquetes de datos que estn generando el ataque, para poder bloquearlas. Puedes utilizar herramientas como tcpdump o wireshark para analizar el trfico y determinar las direcciones IP de las fuentes del ataque.

- Bloquea las direcciones IP de las fuentes del ataque: una vez que has identificado las direcciones IP de las fuentes del ataque, puedes utilizar iptables para bloquearlas. Por ejemplo, puedes usar el siguiente comando para bloquear todo el trfico entrante de una determinada direccin IP:

Cdigo:
iptables -A INPUT -s x.x.x.x -j DROP
- Si el ataque est originando desde varias direcciones IP, puedes bloquear el trfico de todas esas direcciones IP usando una lista negra. Para crear una lista negra, primero crea un archivo de texto que contenga una direccin IP por lnea. Luego, puedes utilizar el siguiente script para cargar la lista negra en iptables:

Cdigo:
#!/bin/bash

# Nombre del archivo de la lista negra
BLACKLIST_FILE="/ruta/al/archivo/lista_negra.txt"

# Cargar la lista negra en iptables
while read IP; do
   iptables -A INPUT -s $IP -j DROP
done < $BLACKLIST_FILE
- Limita el ancho de banda disponible para cada IP: otra opcin es limitar el ancho de banda disponible para cada direccin IP, para evitar que una sola fuente consuma todos los recursos disponibles. Puedes hacerlo con el siguiente comando:

Cdigo:
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j REJECT
- Tambin puedes usar el siguiente comando para permitir solo un determinado nmero de conexiones por minuto desde una direccin IP:

Cdigo:
iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m limit --limit 10/minute --limit-burst 10 -j ACCEPT
- Finalmente, asegrate de guardar las reglas de iptables para que se apliquen despus de reiniciar el servidor. Puedes hacerlo con el siguiente comando:

Cdigo:
iptables-save > /ruta/al/archivo/iptables.rules
Si el ataque es muy severo, puede ser necesario desactivar temporalmente el protocolo TCP SYN cookies. Esto se puede hacer editando el archivo "/proc/sys/net/ipv4/tcp_syncookies" y estableciendo su valor en "0". Sin embargo, ten en cuenta que desactivar SYN cookies puede aumentar la carga en el servidor y hacer que sea ms vulnerable a ataques.

La solucin pro: servicios especializados contra ataques DDoS

Tambin puede utilizar herramientas externas, como un servicio de proteccin contra ataques DDoS, para ayudar a mitigar el ataque. Estos servicios suelen tener servidores distribuidos por todo el mundo que actan como una barrera entre su servidor y los atacantes, filtrando el trfico malintencionado y permitiendo solo el trfico legtimo.
Algunas de las ms conocidas incluyen:


  • Cloudflare: El precio del servicio vara en funcin del plan elegido y del trfico de la web, pero puede oscilar entre los 200 y los 20.000 dlares al ao.
  • Akamai: El precio del servicio vara en funcin de la escala del ataque y del trfico de la web, pero puede oscilar entre los 1.000 y los 100.000 dlares al ao.
  • Imperva: El precio del servicio vara en funcin de la escala del ataque y del trfico de la web, pero puede oscilar entre los 1.000 y los 100.000 dlares al ao.
  • Prolexic: El precio del servicio vara en funcin de la escala del ataque y del trfico de la web, pero puede oscilar entre los 1.000 y los 100.000 dlares al ao.


Otras contramedidas

- poner un WAF (Web Application Firewall) delante del servidor web ya que en el caso de un ataque de DDoS puede ayudar a proteger el servidor de la siguiente manera:


  • Filtrando el trfico: un WAF puede analizar el trfico entrante y bloquear los paquetes de datos que cumplan con ciertos criterios, como patrones de comportamiento sospechosos o direcciones IP conocidas por ser utilizadas en ataques de DDoS.
  • Redirigiendo el trfico a una red de proteccin: algunos WAF estn conectados a una red de servidores que pueden absorber el trfico malintencionado y proteger el servidor del ataque.
  • Acelerando el rendimiento: algunos WAF tambin pueden mejorar el rendimiento de la web al optimizar el trfico entrante y reducir la carga del servidor.


- Utilizar sistemas de filtrado de paquetes como Fail2ban/Log2ban para bloquear automticamente las conexiones que cumplan con ciertos criterios, como intentos de acceso fallidos o comportamientos sospechosos.

- usar un sistema de deteccin y prevencin de ataques (IDS/IPS): un software o hardware que monitoriza el trfico de red y detecta patrones que indican la presencia de un ataque en curso. Una vez detectado el ataque, el sistema puede tomar medidas para prevenirlo o mitigar sus efectos.

- utilizar un servicio de red privada virtual (VPN): esto cifra el trfico entre tu servidor y el usuario final, lo que hace que sea ms difcil para los atacantes llevar a cabo un ataque DDoS.

- otra forma de mitigar un ataque DDoS es utilizar un sistema de cach de contenido, como una red de entrega de contenido (CDN). Esto alivia la carga del servidor principal al distribuir el trfico a travs de una red de servidores en diferentes ubicaciones.

Y estas son las principales recomendaciones... espero que sirvan de breve introduccin y orientacin y que durante 2023 no tengis que utilizarlos.

Fuente: https://www.hackplayers.com/2023/01/servidor-ataque-ddos-contramedidas.html