Per compilare il programma:
tar -xfz qmail-rblchk-[versione].tar.gz
cd qmail-rblchk
make setup check
E' possibile modificare le opzioni di compilazione e installazione editando i file conf-*.
Se usate FreeBSD potete intallare qmail-rblchk tramite il suo port:
cd /usr/ports/mail/qmail-rblchk
make install clean
|qmail-rblchk [opzioni] [/dir/]qmail-rblchk è nato per essere utilizzato nei file .qmail per controllare l'IP di provenienza di un messaggio (indicato nelle righe Received: from. Esegue le stesse operazioni svolte da rblsmtpd, solo che i messaggi vengono controllati al momento della consegna e non prima, in questo modo è possibile oltre che rifiutare il messaggio anche inviarlo ad un'altra casella di posta elettronica.
Se viene indicata una directory con dir tutti i messaggi classificati
come spam vengono memorizzati in questa directory purchè esista e sia in formato Maildir.
E' necessario specificare la directory in modo che il primo carattere sia uno / oppure
. (punto) e termini con il carattere /.
Se una mail arriva dall' IP a.b.c.d, la richiesta che viene inviata al server DNS è: d.c.b.a.addr dove addr è il parametro specificato con le opzioni -r, -R, -a oppure -A.
| Messaggio | Standard | con l'opzione -c | con dir |
| Normale | 0 | 1 | 0 |
| Spam | 100 | 0 | 99 |
| Problema temporaneo | 111 | 111 | 111 |
Interroghiamo i server RBL bl.spamcop.net e dialups.mail-abuse.org In caso di mail classificata come spam da almeno uno dei due server questa non viene recapitata al destinatario finale e il mittente riceverà una mail di notifica.
# rifiura tutte le mail provenienti da IP dubbi
| qmail-rblchk -r bl.spamcop.net -r dialups.mail-abuse.org
Le mail classificate come spam ci arrivino ma vengano parcheggiate nella
casella di posta spam in modo tale da poter essere controllate. Il mittente del messaggio non
riceve nessuna notifica.
# parcheggia le mail sospette in un apposita Maildir
| qmail-rblchk -r bl.spamcop.net -r dialups.mail-abuse.org ../spam/
Stesso comportamento dell'esempio precedente, in questo caso utiliziamo condredirect per parcheggiare
lo spam in un'altra casella di posta (me-spam).
# parcheggia le mail sospette in un apposito indirizzo
| condredirect me-spam qmail-rblchk -c -r bl.spamcop.net -r dialups.mail-abuse.org
Nella directory contrib ho aggiunto uno script (spam-report.sh) che
permette di raccogliere alcune statistiche sul filtraggio effettuato da qmail-rblchk.
0 0 * * * spam-report.sh email_addr NUM
e alle 00:00 riceveremo all'indirizzo email_addr una mail simile a questa
(verranno conservati e compressi gli ultimi NUM log):
Date: 23 Jan 2006 00:00:03 -0000
From: luca@home.morettoni.local
To: luca@home.morettoni.local
Subject: qmail-rblchk report
qmail-rblchk report
===================
Messages:
total: 137
good: 76 (55.500%)
spam: 61 (44.500%)
Check:
DNS query: 306
over cdb: 122
RBL list usage:
list #1 hits: 11
list #2 hits: 32
list #3 hits: 16
cdb usage:
allowed IPs: 5
blocked IPs: 7
--
qmail-rblchk 2.4.1 - Luca Morettoni <luca@morettoni.net>
See more at http://morettoni.net
Se volete usare il file cdb con l'opzione -X, create il file
rule simile a questo:
# la rete locale puo' inviare mail
192.168.0.:allow
# alcuni IP di spammer
10.0.0.1:deny
1.2.3.4:deny
creiamo il file CDB con:
tcprules rule.cdb rule.tmp < rule
e mettiamo nel file .qmail:
| qmail-rblchk -X ./rule.cdb -r sbl-xbl.spamhaus.org ../spam/
se l'IP viene trovato nel file rule.cdb qmail-rblchk segue le indicazioni:
Con l'utility getsenderip potete prelevare l'IP del mittente di una mail ed aggiungerlo in un file, la sintassi del comando è:
getsenderip [-s num] out
out è il file dove verrà memorizzato l'IP, mentre con l'opzione
-s si potranno ignorare i primi NUM IP trovati nell'header della mail.
Lo script contrib/dot-qmail-storeip è un esempio di utilizzo nei file
.qmail: potreste creare un file .qmail-spam per aggiungere altri
IP alla vostra lista di spammer, oppure tramite .qmail-friends per le liste
degli IP "buoni" (ovviamente dovrete usare due file di output differenti
per i due script!!).