some Spamassassin notes

Di recente ho avuto un aggiornamento sul server e tra i vari pacchetti installati ho trovato spamassassin (spamassassin:i386 (3.3.2-5, 3.3.2-5+deb7u1), fin qui nulla di male anche perché non ci sono stati errori.

Il giorno seguente però trovo una mail di sistema che pone dei sospetti su cui indagare meglio.

/usr/sbin/amavisd-new-cronjob && /usr/sbin/amavisd-new-cronjob sa-clean

plugin: failed to parse plugin (from @INC): "decode_dns_question_entry" is not exported by the Mail::SpamAssassin::Util module
 Can't continue after import errors at /usr/local/share/perl/5.14.2/Mail/SpamAssassin/Plugin/AskDNS.pm line 192.
 BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/Mail/SpamAssassin/Plugin/AskDNS.pm line 192.
 Compilation failed in require at (eval 72) line 1.

da qui ci mettiamo alla ricerca di una soluzione, una breve consultazione ci porta QUI, e la soluzione indicata pare :

You probably have the old version in:
/usr/share/perl5/Mail/SpamAssassin*
and the new in:
/usr/local/share/perl/5.14.2/Mail/SpamAssassin*

trovo nelle dorectory indicate alcune differenze ! attimi di panico a cui non occorre cedere

mi lascio andare a 10 miuti di Tai Chi Suka

 

Ricordo di aver spippolato senza sapere bene cosa stavo facendo, lo so, è una cosa sconsigliata e indago un attimo su quanto fatto con CPAN ma non ne vengo a capo.

Così da bravo porcello sego /usr/share/perl5/Mail/SpamAssassin e al posto della dir scomparsa metto un link a /usr/local/share/perl/5.14.2/Mail/SpamAssassin.

Faccio un test e quello che prima era così

sa-learn --sync --force-expire
 plugin: failed to parse plugin (from @INC): "decode_dns_question_entry" is not exported by the Mail::SpamAssassin::Util module
 Can't continue after import errors at /usr/local/share/perl/5.14.2/Mail/SpamAssassin/Plugin/AskDNS.pm line 192.
 BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/Mail/SpamAssassin/Plugin/AskDNS.pm line 192.
 Compilation failed in require at (eval 72) line 1.
bayes: synced databases from journal in 0 seconds: 147 unique entries (147 total entries)

ora si presenta in modo regolare senza errori:

sa-learn --sync --force-expire
 bayes: synced databases from journal in 0 seconds: 1734 unique entries (2983 total entries)

Dato che se non è specificato il db dei bayes può essere creato in diversi posti, ad esempio ne ho uno in /home/user/.spamassassin e un’altro gestito da amavis in /var/lib/amavis/.spamassassin, impongo all’inizio una direttiva per impostare un posto unico e eseguo lo script di autolearn come root.

Si consiglia di integrare con pyzor e razor la vostra scansione.

questo il mio file /etc/spamassassin/local.cf :

## direttiva per bayes unici con autolearn da root
## http://wiki.apache.org/spamassassin/SiteWideBayesSetup
bayes_path /var/lib/amavis/.spamassassin/bayes

#   Add *****SPAM***** to the Subject header of spam e-mails
# 
 rewrite_header Subject *****SPAM*****

#   Set the threshold at which a message is considered spam (default: 5.0)
#
 required_score 5.5

#   Use Bayesian classifier (default: 1)
#
 use_bayes 1

#   Bayesian classifier auto-learning (default: 1)
#
 bayes_auto_learn 1

ok_locales en

## new DNSWL list http://www.dnswl.org/tech#spamassassin
header  __RCVD_IN_DNSWL         eval:check_rbl('dnswl-firsttrusted', 'list.dnswl.org.')
tflags  __RCVD_IN_DNSWL         nice net

header  RCVD_IN_DNSWL_NONE      eval:check_rbl_sub('dnswl-firsttrusted', '^127\.0\.\d+\.0$')
describe RCVD_IN_DNSWL_NONE     Sender listed at http://www.dnswl.org/, no trust
tflags RCVD_IN_DNSWL_NONE       nice net

header  RCVD_IN_DNSWL_LOW       eval:check_rbl_sub('dnswl-firsttrusted', '^127\.0\.\d+\.1$')
describe RCVD_IN_DNSWL_LOW      Sender listed at http://www.dnswl.org/, low trust
tflags RCVD_IN_DNSWL_LOW        nice net

header  RCVD_IN_DNSWL_MED       eval:check_rbl_sub('dnswl-firsttrusted', '^127\.0\.\d+\.2$')
describe RCVD_IN_DNSWL_MED      Sender listed at http://www.dnswl.org/, medium trust
tflags RCVD_IN_DNSWL_MED        nice net

header  RCVD_IN_DNSWL_HI        eval:check_rbl_sub('dnswl-firsttrusted', '^127\.0\.\d+\.3$')
describe RCVD_IN_DNSWL_HI       Sender listed at http://www.dnswl.org/, high trust
tflags RCVD_IN_DNSWL_HI         nice net

score RCVD_IN_DNSWL_LOW         -1
score RCVD_IN_DNSWL_MED         -10
score RCVD_IN_DNSWL_HI          -100

#URIBL_BLACK & URIBL_GREY : http://www.uribl.com/usage.shtml
urirhssub       URIBL_BLACK  multi.uribl.com.        A   2
body            URIBL_BLACK  eval:check_uridnsbl('URIBL_BLACK')
describe        URIBL_BLACK  Contains an URL listed in the URIBL blacklist
tflags          URIBL_BLACK  net
score           URIBL_BLACK  3.0

urirhssub       URIBL_GREY  multi.uribl.com.        A   4
body            URIBL_GREY  eval:check_uridnsbl('URIBL_GREY')
describe        URIBL_GREY  Contains an URL listed in the URIBL greylist
tflags          URIBL_GREY  net
score           URIBL_GREY  0.25
 
header SUBJ_DOLLARS             Subject =~ /^\$[0-9.,]+\b/ 
score SUBJ_DOLLARS      2.7 # was 1.4 Subject starts with dollar amount 

score RCVD_IN_DNSWL_LOW         -1
score RCVD_IN_DNSWL_MED         -10
score RCVD_IN_DNSWL_HI          -100 

score BAYES_99 5.300
score BAYES_90 4.500
score BAYES_80 4.000

score HTML_FONT_INVISIBLE 3
score HTML_FONTCOLOR_UNKNOWN 2 
score INVALID_DATE 3.2 3.3 2.5 2.1
score DATE_IN_PAST_03_06 2.399 1.076 1.200 1.592 
score DATE_IN_PAST_06_12 1.699 1.103 1.274 1.543

L’autoapprendimento viene forzato tramite uno script in cron sulle cartelle in formato .Maildir

#!/bin/bash
##script per l'automazione dell'auto Learning di SpamAssassin                                                                                                
echo "Auto-Learning Spamassassin in Corso"
sa-learn --no-sync --spam /home/user/.Maildir/.SLearn/{cur,new}
sa-learn --no-sync --ham /home/user/.Maildir/.SHam/{cur,new}
echo  "Auto-Learning Spamassassin Eseguito"

periodicamente vedo che il database si sincronizza, altrimenti manualmente sarebbe necessario :

sa-learn –sync

oppure

sa-learn –sync –force-expire

a riguardo consiglio la lettura di questo link e anche di questo link.

L’autoapprendimento a cominciato a dare i suoi frutti dopo un paio di mesi, e le statistiche un pò sbilenche di mailgraph ne sono la prova, a distanza di un’anno dal passaggio a wheezy e l’utilizzo oltre che di mailgraph di Amavisd-new

suk53

 

Nella seconda parte ci occuperemo dell’installazione e configurazione di mailgraph

Rispondi