Testare simscan

Inviare un messaggio mailtest.txt ad un utente e controllare la risposta di simscan:

> echo "Questo e' un messaggio di test" > mailtest.txt
> env QMAILQUEUE=/var/qmail/bin/simscan SIMSCAN_DEBUG=2 /var/qmail/bin/qmail-inject user@yourdomain.net < mailtest.txt

simscan: cdb looking up
simscan: cdb for  found clam=yes,spam=yes,spam_hits=9.5,attach=.vbs:.lnk:.scr:.wsh:.hta:.pif <-- your simcontrol file
simscan: pelookup clam = yes <-- clamav is ON
simscan: pelookup spam = yes <-- spamassassin is ON
simscan: pelookup spam_hits = 9.5 <-- msg with a spam scores > 9.5 will be rejected
simscan: Per Domain Hits set to : 9.500000
simscan: pelookup attach = .vbs:.lnk:.scr:.wsh:.hta:.pif
simscan: attachment flag attach = .vbs:.lnk:.scr:.wsh:.hta:.pif
simscan: .vbs is attachment number 0
simscan: .lnk is attachment number 1
simscan: .scr is attachment number 2
simscan: .wsh is attachment number 3
simscan: .hta is attachment number 4
simscan: .pif is attachment number 5
simscan: starting: work dir: /var/qmail/simscan/1295021995.527275.16365
simscan: pelookup: called with root@mail.yourdomain.net
simscan: pelookup: domain is mail.yourdomain.net
simscan: cdb looking up mail.yourdomain.net
simscan: pelookup: local part is root
simscan: cdb looking up root@mail.yourdomain.net
simscan: pelookup: called with user@yourdomain.net
simscan: pelookup: domain is yourdomain.net
simscan: cdb looking up yourdomain.net
simscan: pelookup: local part is user
simscan: cdb looking up user@yourdomain.net
simscan: calling clamdscan <-- simscan is calling clamav
simscan: normal clamdscan return code: 0 <-- nessun virus trovato
simscan: calling spamc <-- simscan sta chiamando spamassassin
simscan: calling /usr/bin/spamc  spamc -u user@yourdomain.net <-- spamc andra' alla ricerca delle preferenze utente (userprefs)
simscan:[16364]:CLEAN (3.00/9.50):1.5454s::(null):root@mail.yourdomain.net:user@yourdomain.net <-- il messaggio non e' spam
simscan: done, execing qmail-queue <-- simscan sta inserendo il messaggio nella coda di qmail (qmail queue)
simscan: qmail-queue exited 0

simscan e chkuser in azione nel log smtpd

Questo è ciò che si dovrà vedere nel log smtpd cone le seguenti impostazioni nel file simcontrol:

spam=yes,spam_passthru=yes

Simscan lascierà passare lo spam a prescindere dal suo punteggio. In questo caso è consigliabile impostare una regola sieve che salvi lo spam nella cartella Spam.

@TIMESTAMP CHKUSER accepted sender: from <spammer@somewhere.net::> remote <xxxxxxxxxxxxxxxx> rcpt <> : sender accepted
@TIMESTAMP CHKUSER accepted rcpt: from <spammer@somewhere.net::> remote <xxxxxxxxxxxx> rcpt <user@yourdomain.net> : found existing recipient
@TIMESTAMP simscan:[26411]:PASSTHRU (16.60/5.00):4.3012s:Body text.:[remoteIP]:spammer@somewhere.net:user@yourdomain.net

spam=yes,spam_passthru=no,spam_hits=9.5

lo spam sarà rigettato nel caso in cui il punteggio sia al di sopra di 9.5, e in nessun caso passato all'utente:

@TIMESTAMP CHKUSER accepted sender: from <spammer@somewhere.net::> remote <xxxxxxxxxxxxxxxx> rcpt <> : sender accepted
@TIMESTAMP CHKUSER accepted rcpt: from <spammer@somewhere.net::> remote <xxxxxxxxxxxx> rcpt <user@yourdomain.net> : found existing recipient
@TIMESTAMP simscan:[26411]:SPAM REJECT (16.60/5.00):4.3012s:Body text.:[remoteIP]:spammer@somewhere.net:user@yourdomain.net

spam=yes,spam_hits=9.5

Questa è la configurazione suggerita.

In questo caso, se il punteggio dello spam è tra 5.0 e 9.5 il messaggio sarà lasciato passare da simscan anche se spamassassin l'ha etichettato come spam (spamassassin di tanto in tanto può sbagliarsi e questi messaggi con punteggio non altissimo è meglio non cancellarli, non si sa mai..):

@TIMESTAMP CHKUSER accepted sender: from <spammer@somewhere.net::> remote <xxxxxxxxxxxxxxxx> rcpt <> : sender accepted
@TIMESTAMP CHKUSER accepted rcpt: from <spammer@somewhere.net::> remote <xxxxxxxxxxxx> rcpt <user@yourdomain.net> : found existing recipient
@TIMESTAMP simscan:[26411]:SPAM CLEAN (6.40/9.50):4.3012s:Body text.:[remoteIP]:spammer@somewhere.net:user@yourdomain.net

E questo è ciò che si dovrebbe vedere nell'intestazione del messaggio:

X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-01-18) on mail.myserver.net
X-Spam-Flag: YES X-Spam-Level: ****** X-Spam-Status: Yes, score=6.4 required=5.0 tests=BAYES_99,HTML_MESSAGE,RAZOR2_CF_RANGE_51_100,RAZOR2_CF_RANGE_E4_51_100,RAZOR2_CHECK,RDNS_NONE autolearn=no version=3.3.1

Notare che lo status del messaggio E' spam, ma il punteggio (score) è al di sotto dfella soglia di 9.5 al di là della quale simscan l'avrebbe rigettato.

Problematiche

@400000004dd263d6378e6b74 qmail-smtpd: message delayed (mail server temporarily rejected message (#4.3.0)): xxxx@xxxxx.xx from y.y.y.y to zzzzzz@zzzz.zz helo mail.xxxxx.xx

Ho visto un errore come questo in un server dove i servizi spamd e clamd erano fermi e tutte le email non venivano recapitate. Il problema è stato risolto con un semplice avvio dei servizi collegati a simscan.