Una Realtime Block List (RBL) è una lista indirizzi che un fornitore di liste RBL ritiene siano causa di Spam.
Come alternativa a rblsmtpd
, per bloccare gli IP di queste liste faremo uso del programma qmail-rblchk
di Luca Morettoni.
- Info: http://www.morettoni.net/qmail-rblchk.html
- Scarica: http://www.morettoni.net/qmail/qmail-rblchk-2.4.1.tar.gz
- Vedi anche: http://www.spamhaus.org/
Per una guida esaustiva sul programma si consiglia la visione del sito dell'autore.
Installazione di qmail-rblchk
Per prima cosa dobbiamo applicare la patch errno
, poichè il programma è derivato da djbdns
di DJB. La patch è inclusa nei sorgenti di netqmail
.
cd /usr/local/src wget http://www.morettoni.net/qmail/qmail-rblchk-2.4.1.tar.gz tar xzf qmail-rblchk-2.4.1.tar.gz cd qmail-rblchk chown -R root:root . patch < /usr/local/src/netqmail-1.06/other-patches/djbdns-1.05.errno.patch make setup check
Questo installerà qmail-rblchk
nella cartella /var/qmail/bin
.
Preparazione della cartella log
Se si desidera che il programma registri le sue attività e gli IP bloccati (cosa utile per creare una propria lista in seguito) è necessario creare un cartella per i log e assegnare i privilegi di scrittura all'utente sotto il quale gira qmail-smtpd
:
mkdir /usr/local/etc/rbl chown -R vpopmail /usr/local/etc/rbl
Modalità di utilizzo
qmail-rblchk
è un filtro che deve essere eseguito prima della consegna del messaggio (delivery). E' necessario installarlo nella prima riga del file .qmail-default
.
> /var/qmail/bin/qmail-rblchk -h qmail-rblchk: usage: qmail-rblchk [opz] [dir] options may be: -h this screen -s add X-Spam header into the incoming mail (work only with delivery ``dir'') -c turn on condredirect compatibility mode -i NUM ignore first ``NUM'' IPs found in the header -x IP do not check ``IP'', try to find other address in header -v verbose (debug) mode -V show program version -q quiet mode (suppress any output) -p don''t check private IP class: 127.0.0.0 - 127.255.255.255 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 - 192.168.255.255 -m check all IPs in email (default: check only first IP) -l log write program action to ``log'' file -L data write blocked IP to ``data'' file -r addr use ``addr'' for RBL checking (if TXT record exist block mail) -R addr use ``addr'' for RBL reverted checking (if TXT record NOT exist block mail) -C addr use ``addr'' for one time RBL checking (if TXT or A record exist don''t block mail) -a addr use ``addr'' for anti-RBL checking (if A record NOT exist block mail) -A addr use ``addr'' for anti-RBL reverted checking (if A record exist block mail) -X cdb check IP from tcpserver-style ``cdb'' file (IP:deny block mail from that IP) You must specify one or more (max 32) RBL address, example: qmail-rblchk -r dnsbl.sorbs.net -r sbl-xbl.spamhaus.org -r relays.ordb.org You can ignore (-x option) no more than 16 IP address If ``dir'' is given in command line and it exist all blocked mails are delivered into Maildir ``dir'' (dir must start with a / or a . and end with a /); the program run in ``delivery mode''. The program exit status may be (normal mode): 0 when the message is not blocked 100 when the message is blocked 111 when fails or no checking options was given In ``delivery mode'': 0 the message is not blocked (continue .qmail checking) 99 the blocked message has been wrote to ``dir'' Maildir 111 same as above In ``condredirect compatibility mode'': 0 when the message is blocked 1 when the message is not blocked 111 same as above
Questo potente programma può registrare la sua attività, salvare gli IP bloccati, spostare lo spam nella cartella Junk, bypassare i messaggi in arrivo dalla rete interna.
Ecco come lo uso io nei miei file .qmail-default
. E' necessario inserire una linea come questa all'inizio del file .qmail-default
del dominio dove si vuole abilitare il filtro:
|/var/qmail/bin/qmail-rblchk -r zen.spamhaus.org -r dnsbl.sorbs.net -p -L /usr/local/etc/rbl/rbl.txt -l /usr/local/etc/rbl/qmail-rblchk.log
NB: Se si decide di usare zen.spamhaus.org
come suggerito qui, assicurarsi di soddisfare i requisiti delle condizioni d'uso gratuite se non si vuole che l'accesso ai server sia inibito.
Un'altra cosa che si può fare è usare uno script della shell presente nella directory contrib
della cartella sorgente per ruotare i log file e avvisare periodicamente l'amministratore del sistema su ciò che sta facendo il programma.
> cp /usr/local/src/qmail-rblchk/contrib/spam-report.sh /usr/local/etc/rbl/qmail-rblchk-report.sh > crontab -e 3 02 * * * /usr/local/etc/rbl/qmail-rblchk-report.sh postmaster@yourdomain.net 5
dove 5 è il numero massimo di file log da lasciare su disco.