Pas 1: instal·lació de httpd-devel
Pas 2: baixada i instal·lació de mod_evasive
Pas 3: afegir el mòdul a Apache
Pas 4: Configuració i modificació de la configuració
Pas 5: reinicieu el servidor web
Mod_evasive és un mòdul per a Apache que actua automàticament quan es detecta un atac HTTP DoS o un atac de força bruta. Mod_evasive pot registrar i informar d'abús i notificar problemes per correu electrònic. Abans de seguir aquesta guia, ja hauríeu de tenir un servidor LAMP al seu lloc que funcioni correctament.
Aquesta guia va ser escrita per a CentOS i les seves variacions (com RHEL) i Debian i les seves variacions (com Ubuntu).
El mòdul crea una taula d'adreces IP i URL. Si es compleixen les condicions establertes a la configuració (tal com es descriu més endavant en aquest document), els usuaris que abusin obtindran un error 403 (prohibit). A més, es registra l'adreça IP i, si s'estableix l'opció, s'enviarà un correu electrònic a l'adreça de correu electrònic especificada.
Pas 1: instal·lació httpd-devel
El paquet httpd-devel conté els fitxers necessaris que necessiteu per crear Dynamic Shared Objects per a Apache. Necessitem aquest paquet per instal·lar el mòdul, ja que el compilarem nosaltres mateixos en els passos següents.
A CentOS/RHEL, executeu:
yum install httpd-devel
A Debian/Ubuntu, executeu:
apt-get install apache2-utils
Un cop instal·lat correctament aquest paquet, aneu al pas següent. Si la instal·lació no s'ha acabat correctament, el següent pas (probablement) fallarà.
Pas 2: baixada i instal·lació mod_evasive
Mètode 1: compilació
Descarrega el mòdul:
cd /usr/src
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
Extraieu el mòdul:
tar xzf mod_evasive*.tar.gz
Navegueu al directori:
cd mod_evasive
A continuació, utilitzarem apxs2, una eina creada per construir i instal·lar mòduls que amplien la funcionalitat d'Apache. Apxs2crea un objecte compartit dinàmic, per això hem instal·lat httpd-develal pas #1.
Executar:
apxs2 -cia mod_evasive20.c
Mètode 2: instal·lació mitjançant yum(recomanat)
Quan tingueu el epel-releaserepositori instal·lat, mod_evasiveestà disponible a través de yum.
Afegeix el repositori:
yum install epel-release
Instal·leu el mòdul mitjançant yum:
yum install mod_evasive
Pas 3: afegir el mòdul a Apache
En general, Apache carrega tots els mòduls des de mods-enabled, de manera que cada vegada que s'afegeix un mòdul a aquesta carpeta, no cal afegir-lo manualment a la configuració d'Apache. Obriu el fitxer de configuració per comprovar si aquest és el cas.
A CentOS, el fitxer rellevant és: /etc/httpd/conf/httpd.conf
A Ubuntu, el fitxer rellevant és: /etc/apache2/apache2.conf
Cerca Include. Una línia com ara Include mods-enabled/*.confdiu a Apache que carregui tots els mòduls. Si no hi és, afegiu aquesta línia a la part superior del fitxer i reinicieu Apache.
Per a Ubuntu, afegiu el contingut següent a la part inferior del fitxer:
LoadModule evasive20_module /usr/lib/httpd/modules/mod_evasive20.so
Pas 4: Configuració i modificació de la configuració
Afegiu el bloc següent al fitxer de configuració. Els camins són els mateixos que els del pas 3.
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
DOSEmailNotify <william@williamdavidedwards.com>
</IfModule>
Es pot trobar una visió general ràpida d'aquests paràmetres a README. Podeu llegir el fitxer README de la següent manera:
cat /usr/src/cd mod_evasive/README
El més probable és que haureu d'ajustar aquests paràmetres de tant en tant per assegurar-vos que són adequats per al vostre servidor i llocs web. Després de tot, alguns servidors tenen més activitat i trànsit que altres.
Pas 5: reinicieu el servidor web
Reinicieu el servidor web Apache perquè els canvis tinguin efecte i el mòdul es carregui:
service httpd restart
Assegureu-vos que el mòdul estigui carregat a Apache:
httpd -M | grep evasive
Això hauria de tornar evasive20_module (shared). En cas contrari, el mòdul no s'ha carregat correctament i recomanem tornar a comprovar els fitxers de configuració i si s'han desat correctament.
Tingueu en compte que aquest mòdul no substitueix la protecció DDoS, ja que no pot funcionar quan s'esgota la capacitat del servidor. De fet, Vultr ofereix protecció DDoS que és molt útil per a una millor protecció del servidor (a més d'utilitzar aquest mòdul). Per a amenaces més senzilles, especialment atacs basats en scripts, el mòdul fa la seva feina i és definitivament útil.
Ara heu instal·lat el mod_evasivemòdul a Apache i, per tant, heu fet que la vostra aplicació web sigui més segura.