Apache Denial Of Service Attack

Primero que nada, lo siguiente me ha servido personalmente en los servidores que administro, no significa que sea aplicable al 100% en los demás. No me hago responsable de ninguna forma por daños de cualquier tipo sobre información de cualquier sistema siguiendo las guías redactadas en este blog.

DOS

Es un ataque que tiene por objetivo el saturar un servidor, saturar el procesamiento enviando peticiones de servicio masivas, logrando así paralizar el sistema, y denegar acceso a peticiones de usuarios legítimos.

Muchas veces seremos víctimas de ataques de Denial Of Service (DOS), en la actualidad el 90% de estos ataques estan dirigidos hacia Apache, el servidor web más extensamente utilizado en la red. Por ello existe una herramienta que sin duda nos será de gran ayuda para prevenir ataques de pequeño-mediano alcance hacia nuestro webserver, se trata de Mod_Evasive, un módulo anti-dos programado para correr sobre el servidor web Apache.

Notas: Ver manual y reglas del Módulo en:
http://www.nuclearelephant.com/projects/mod_evasive/ http://nanoweb.si.kz/manual/mod_dosevasive.html

Instalación:

mkdir /root/temp
cd /root/temp

Descargar la última versión desde la fuente tar.gz desde:
http://www.nuclearelephant.com/projects/mod_evasive/

Luego descomprimimos el tar.gz:

tar -xvpzf mod_evasive*.tar.gz cd mod_evasive*

#### Servidores cPanel:
/usr/local/apache/bin/apxs -cia mod_evasive.c

#### Servidores Ensim:
/etc/httpd/bin/apxs -cia mod_evasive.c

Buscar mod_evasive en los AddModule de httpd.conf y agregar lo siguiente debajo:

DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 1200

Restartear el servidor web: /etc/init.d/httpd restart

————-

Generalmente cuando somos víctimas de ataques DOS podremos apreciar que el promedio de carga, así como la cantidad de procesos en nuestro server suben brúscamente, puede que sea otra la causa, como algún script mal programado sobrecargando el sistema, u otra cosa… pero para comprobar si es un ataque DOS, corriendo el siguiente comando podremos ver cuantas conexiones simuláneas hay desde una misma IP:

netstat -an | grep :80 | awk ‘{ print $5 }’ | awk -F: ‘{ print $1 }’ | sort | uniq -c | sort -n

La salida de este comando será algo así:

1 IP_ADDRESS
1 IP_ADDRESS
2 IP_ADDRESS
2 IP_ADDRESS
8 IP_ADDRESS
8 IP_ADDRESS
11 IP_ADDRESS
24 IP_ADDRESS
189 213.203.211.210
270 211.207.231.224

IP_ADDRESS = cualquier IP

He marcado en negrita las últimas dos IPs, pues esas serán las IPs ofendientes que tengan muchas conexiones hacia el puerto 80, con 99% de poisibilidades de que sean nuestros atacantes.

Una vez teniendo a las IPs identificadas, procedemos a banearlas usando Iptables:

iptables -I INPUT -s 213.203.211.210 -j DROP
iptables -I INPUT -s 211.207.231.224 -j DROP

Ultimamente he visto ataques que no solo provienen desde una única IP, sino que son múltiples máquinas atacando con menor cantidad de conexiones, logrando el mismo objetivo, y con menores chances de ser detectado, ahí ya es algo más difícil saber si son conexiones legítimas, pero corriendo el comando te darás cuenta… En esos casos lo mejor es poseer un firewall para hardware que corte el tráfico ilegítimo desde raíz. Como dije antes, hay muchas otras formas de prevenir y contrarrestar ataques DOS, solo me he enfocado en una rápida detección del problema, y una herramienta que nos ayude a controlar ataques de pequeño-mediano alcance.

Deja tu comentario


Tecnologia | Ciencia | Dibujos Animados
free html hit 
counter