Blocca lo spam sul tuo forum e gli attacchi al sito con mod_spamhaus

mod_spamhaus e' un modulo per il server web apache che utilizza le DNS-based Blackhole List per bloccare l'inoltro di spam via contact form o sui forum, le URL injection ed attacchi DDoS. Piu' generalmente possiamo dire che 'protegge' il servizio web negando o limitando l'accesso ad indirizzi ip presenti nelle DNSBL.
L'installazione puo' essere effettuata scaricando il pacchetto precompilato oppure compilando il sorgente del modulo.
Con la distribuzione Ubuntu (jaunty jackalope) e Debian (squeeze) bastera' eseguire questo comando per installare il modulo e passare direttamente nella sezione dell'articolo dedicata alla configurazione del web server:

apt-get install libapache2-mod-spamhaus

Queste sono invece le istruzioni per compilarlo da sorgente:

- Scaricare il modulo dal sito http://sourceforge.net/projects/mod-spamhaus/

oppure con l'applicazione 'wget' dalla shell

wget http://downloads.sourceforge.net/project/mod-spamhaus/mod-spamhaus/0.7/mod-spamhaus-0.7.tar.gz

Decomprimere l'archivio

tar zxvf mod-spamhaus-0.7.tar.gz

Compilarlo in questo modo

cd mod-spamhaus
make

N.B. Per compilare mod_spamhaus viene utilizzata l'applicazione 'apxs2' (APache eXtension). Se non e' presente nel vostro sistema dovrete installarla. Per chi utilizza la distribuzione Debian bastera' digitare "apt-get install apache2-prefork-dev"

Per installare sul sistema i dati compilati eseguire

make install

Adesso dovremo abilitare il modulo aggiungendo nella configurazione del web server (/etc/apache2/httpd.conf per Debian) questo:

LoadModule spamhaus_module   /usr/lib/apache2/modules/mod_spamhaus.so

Non ci rimane che configurarlo!
Queste sono le direttive ammesse:

MS_Methods - Il metodo http che bisogna controllare, ad esempio POST,GET,ecc.
MS_WhiteList - Qui puo' essere immesso il percorso di un eventuale file di whitelist contenente gli indirizzi ip da ignorare
MS_DNS -
l'indirizzo della DNSBL da utilizzare
MS_CacheSize - Numero degli indirizzi ip da mettere in cache
MS_CustomError - Messaggio di errore restituiro all'utente in caso di blocco

Aprire quindi la configurazione del web server ed inserire questo:

<IfModule mod_spamhaus.c>
MS_METHODS POST
MS_CacheSize 256
</IfModule>

Riavviare infine apache

/etc/init.d/apache2 restart