feb 24

Scrivo due righe sulla prevenzione degli attacchi DoS (http://it.wikipedia.org/wiki/Denial_of_service), per prevenirli su Apache2, ovvero il server web.
C’è un modulo veloce e pratico da configurare che si chiama mod_evasive (anche conosciuto come mod_dosevasive http://nanoweb.si.kz/manual/mod_dosevasive.html) disponibile per Apache. Il modulo tiene conto della rapidità delle richieste da parte del client, se sono oltre una certa quantità per secondo le blocca restituendo un errore HTTP.

Abilitarlo su Ubuntu e Apache2 è molto semplice, visto che è già pacchettizzato:

apt-get update
apt-get install libapache2-mod-evasive
a2enmod mod-evasive

Bisogna inoltre dare una minima configurazione al modulo nell’httpd.conf.
Questa di seguito è un esempio, ma potete trovare il reference dei parametri su http://nanoweb.si.kz/manual/core.html#DosEvasiveError .
Fate attenzione a non essere restrittivi in modo da non bloccare rapide chiamate AJAX oppure i bot dei motori di ricerca.

<IfModule mod_evasive20.c>
DOSHashTableSize 4000
DOSPageCount 1
DOSSiteCount 60
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 40
</IfModule>

Scrivelela con il vostro editor preferito (io uso vim) e riavviate Apache2.

vim /etc/apache2/httpd.conf
apache2ctl restart

Finito.

Da notare che mod_evasive protegge solo Apache2, tuttavia può essere configurato per eseguire azioni dopo aver bloccato un IP; si potrebbe ipotizzare di creare una regola iptables, per bloccare a livello di sistema (e non solo HTTP) il client.

A voi il divertimento ;) .

Leave a Reply

preload preload preload