bayes rimuovere falsi positivi a mano

Per rimuovere al volo il contenuto del “falso positivo”  /home/enrico/ham_mail  dai filtri

/usr/bin/sa-learn –sync ;  #Syncronize the database and the journal if needed

/usr/bin/sa-learn -u clamav -D –dbpath /var/lib/clamav/.spamassassin/  –ham /home/enrico/ham_mail

Posted in Spamassassin at April 9th, 2008. No Comments.

come scrivere regole spamassassin facilmente

Spamassassin è un sotfware che viene solitamente utilizzato dagli amministratori di mail server per filtrare/taggare le mail in transito utilizzando algoritmi per il calcolo della probabilità.

Scrivere regole semplici per assegnare un punteggio in base al classico pattern matching è semplicissimo.

http://wiki.apache.org/spamassassin/WritingRules

Posizionatevi su /etc/spamassassin (o la dir contenente il file local.cf ) e create un file di testo vuoto chiamato XX_vostronome.cf ad esempio 15_texilee.cf

Iniziamo inserendo qualche regola per matchare i più comuni oggetti del phishing bancoposta

header LOCAL_ET_PHISHINGAB ALL =~ /Nuovi servizi online di Poste.it/i
score  LOCAL_ET_PHISHINGAB 20.1
header LOCAL_ET_PHISHINGAC ALL =~ /Comunicazione nr. [0-9]{1,} del [0-9]{2} [a-zA-Z]{1,} [0-9]{4}/i
score  LOCAL_ET_PHISHINGAC  20.1
header LOCAL_ET_PHISHINGAD ALL =~ /Comunicazione Nr_0X[ABCDEF0-9]{2}.0X[ABCDEF0-9]{2}.0X[ABCDEF0-9]{2}.0X[ABCDEF0-9]{2} del [0-9]{2} [a-zA-Z]{1,} [0-9]{4} - Leggere con attenzione/i
score  LOCAL_ET_PHISHINGAD  20.1

La /i a fine regola significa che la ricerca verrà effettuata in modalità case insensitive (cioè maiuscole o minunoscole non fanno differenza) , Nr_0X[ABCDEF0-9]{2} matchare una stringa che inizia con i caratteri “nr_0x” ed è seguita da due caratteri compresi nell’elenco fra le parentesi quadre (in questo caso facenti parte dell’insieme dei caratteri utilizzati per la rappresentazione esadecimale).

Prossimo esempio prende in considerazioen il caso in cui si vuole assegnare un punteggio positivo ai messaggi contenenti una stringa generica costante (stick) preceduta da x possibili stringhe che determinano univocamente il contesto spam

header LOCAL_ET_SUBJECTA ALL =~ /(Very-very magic|Joy|Long|Super|Enjoy with you hard).*stick/

In questo caso bloccare “stick” sarebbe stato un po’ troppo restrittivo, meglio creare regexp mirate.

Se lo spammer utilizza algoritmi per la generazione delle email ad esempio

casino online
cassino oonline
ccasino onliine

potete raggirarlo facilmente con una regexp del tipo

/(c.?a.?s.?i.?n.?o.*o.?n.?l.?i.?n.?e)/i

Prima del relaod del vostro nuovo ruleset controllate che sia sintatticamente corretto il vostro nuovo file .cf con un

# spamassassin -D --lint

Posted in Spamassassin at December 18th, 2007. 3 Comments.

Spamassassin local.cf esempio

Esempio local.cf per spamassassin

Mail sopra i 5 punti vengno filtrate, punteggi aumentati per i filtri bayesiani, rbl check effettuato a monte da rblsmtpd , italiano e francese ok, no autowhitelist sui mittenti, autolearn ham e spam selettivo.

# Spamassassin regole
report_safe 0
required_score 5.0
rewrite_header Subject ****SPAM(_SCORE_)****
skip_rbl_checks 1
use_auto_whitelist 0
use_pyzor 0
use_razor2 0
dns_available test
use_bayes 1
clear_trusted_networks
bayes_auto_learn 1
bayes_learn_to_journal 1
bayes_auto_learn_threshold_spam 10.1
bayes_auto_learn_threshold_nonspam -0.001
bayes_min_ham_num 100
bayes_min_spam_num 100
ok_locales it
ok_locales fr
score BAYES_00 -4
score BAYES_05 -2
score BAYES_95 3
score BAYES_99 4
# fine spamassassin regole

Posted in Spamassassin at May 4th, 2007. No Comments.