Prevenire Attacchi al Sito

Forse nessuno sa che esiste un modulo per Apache la cui funzione è quella di abilitare un controllo sulle richieste verso l’intero sito o verso una singola pagina in un arco di tempo prefissato. Quando le richieste superano il limite prefissato il server comincia a rispondere all’utente con l’IP in questione con un errore del tipo 403 per un certo periodo definibile.

L’installazione del modulo è molto semplice

Su Debian
apt-get install libapache2-mod-evasive

Su le altre distro (ma anche su Debian):

. scaricare dal sito l’ultima release di mod_evasive
. tar zxvf mod_evasive_XXX.gz
. cd mod_evasive
. su –
. /usr/sbin/apxs -cia mod_evasive20.c

La parte piu’ importante consiste nella configurazione. Io preferisco creare una configurazione dedicata al modulo nel file:

/etc/apache2/conf.d/evasive.conf

al cui interno inserisco queste direttive

DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10

I parametri sono sostanzialmente i seguenti

DOSHashTableSize, dimensione della tabella di hash, più è grande più memoria è richiesta, ma più veloce saranno i lookup.

DOSPageCount, numero di richieste, per la stessa pagina, massime concesse prima che l’indirizzo finisca in blacklist.

DOSSiteCount, numero di richieste, per l’intero sito, massime concesse prima che l’indirizzo finisca in blacklist.

DOSPageInterval, l’arco di tempo, in secondi, entro il quale devono rientrare

DOSSiteInterval, l’arco di tempo, in secondi, entro il quale devono rientrare le richieste massime definite nel sitecount.

DOSBlockingPeriod, l’arco di tempo, in secondi, durante il quale verrà restituito un errore di tipo 403 all’ip blacklistato, il timer verrà resettato qualora durante il conteggio l’ip faccia

Una volta creato il file e’ sufficiente fare il restart di apache per rendere operative da subito le funzionalita’ del modulo.

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll To Top