[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]
SpamAssassin è un sistema sofisticato per l'analisi dei messaggi di posta elettronica, allo scopo di individuare quelli che sono da ritenere spam, ovvero messaggi privi di alcun valore.
Il sistema di SpamAssassin può articolarsi in modi differenti; in questo capitolo viene preso in considerazione semplicemente l'uso attraverso il programma spamassassin, tralasciando la possibilità di usare la coppia spamd/spamc.
SpamAssassin ha la capacità di «imparare» a selezionare i messaggi in base a esempi reali di messaggi spam e di messaggi «buoni» (ham). Per accumulare queste informazioni può avvalersi di un DBMS esistente, oppure può semplicemente salvare dei file nella directory ~/.spamassassin/
. In questo capitolo si considera solo tale ultima possibilità.
SpamAssassin, per distinguere ciò che è da intendersi come spam, utilizza una serie di file di configurazione, che possono trovarsi in /usr/share/spamassassin/
e hanno estensione .cf
. Questi file possono essere aggiornati, attraverso il programma sa-update, che però li scarica all'interno di /var/lib/spamassassin/...
; pertanto, se esistono i file all'interno di /var/lib/spamassassin/
, vengono ignorati quelli all'interno di /usr/share/spamassassin/
.
Per modificare questa configurazione non si deve intervenire nelle directory appena descritte, mentre è possibile agire all'interno del file /etc/spamassassin/local.cf
ed eventualmente nei file personali ~/.spamassassin/user_prefs
.
Per le situazioni comuni, non è necessario intervenire nella configurazione e l'uso di sa-update è più che sufficiente.
sa-update [opzioni] |
Naturalmente, sa-update va usato con i privilegi dell'utente root e non servono opzioni se è stato compilato con i valori predefiniti corretti.
#
sa-update
[Invio]
Per lo scopo di questo capitolo, si intende mostrare l'uso del programma spamassassin, il quale riceve dallo standard input un messaggio di posta elettronica e, dopo la verifica, gli aggiunge delle intestazioni con cui è possibile qualificarlo:
spamassassin [opzioni] < file_messaggio > file_modificato |
Nella documentazione originale si fa riferimento al programma spamassassin-run, ma in generale si usa solo il nome spamassassin.
A titolo di esempio si veda cosa succede con un file che ha il contenuto seguente:
|
Supponendo che si tratti del file messaggio
, si può usare spamassassin per controllarlo e ottenere il file messaggio_controllato
:
$
spamassassin < messaggio > messaggio_controllato
[Invio]
In questo caso, SpamAssassin dovrebbe considerarlo un messaggio normale e in tal caso, si limita a segnalarlo con delle intestazioni aggiuntive. Ecco come dovrebbe apparire il file messaggio_controllato
:
|
In presenza di un messaggio che SpamAssassin considera essere spam, le cose vanno diversamente: le intestazioni aggiuntive sono più corpose, inoltre il messaggio originale viene allegato in un rapporto esplicativo. Ecco il file di partenza, contenente un elenco ripetuto di nomi di prodotti farmaceutici che spesso qualcuno tenta di spacciare attraverso la rete:
|
Ecco il risultato dopo l'elaborazione con spamassassin:
|
La prima volta che un certo utente usa SpamAssassin, il programma crea automaticamente la directory ~/.spamassassin/
con la configurazione predefinita e altri file, che servono per le proprie annotazioni interne.
Per filtrare i messaggi di posta elettronica con SpamAssassin, si può intervenire nella configurazione del MDA (Mail delivery agent), oppure, in modo più semplice e generalizzato, si può fare affidamento su Procmail (capitolo 317). Quelle che seguono sono le direttive che si possono inserire nel file ~/.procmailrc
per questo scopo, tratte dalla documentazione di SpamAssassin stesso, con qualche piccola semplificazione:
|
Come si vede, il riconoscimento dei messaggi da scartare si basa sulla quantità di asterischi nell'intestazione X-Spam-Level:. In questo modo, i messaggi che raggiungono i 15 asterischi vengono inseriti nella cartella spam
, mentre gli altri vanno regolarmente nella cartella predefinita.
Si può istruire SpamAssassin a distinguere i messaggi «buoni» da quelli «cattivi», attraverso una catalogazione statistica di messaggi sicuramente buoni e di altri sicuramente cattivi. Questo lavoro viene svolto attraverso sa-learn e si avvale di una base di dati, che può essere un DBMS vero e proprio, oppure un insieme di file gestito autonomamente da SpamAssassin.
Il procedimento di apprendimento è molto semplice, ma richiede attenzione e organizzazione, per poter essere proficuo. Pertanto, si rimanda alla pagina di manuale sa-learn(1).
Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome spamassassin.htm
[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]