Spam ? No, grazie ...

Dalle FAQ:

Mi arriva tanta posta indesiderata.. come mai ? cosa posso fare ?

Questo dello spam è in questo momento il problema più grosso che affligge chi usa la posta elettronica.
Così come per la posta cartacea chiunque può spedire una lettera a chiunque, anche in modo apocrifo, lo stesso può avvenire per la posta elettronica, con la aggravante che mentre negli invii a tappeto cartacei il costo è sopportato per intero dal mittente, nel caso di invii in blocco via e-mail il costo dell'invio è quasi indipendente dal numero dei destinatari, per cui il costo di numerosi invii, anche se con possibilità minime di riuscita, è comunque accettabile... solo per il mittente.
Per il destinatario questo al contrario è un grosso onere, sia in termini strettamente economici [consumo di banda e spazio disco] che soprattutto in termini di attenzione richiesta, sia per scartare i messaggi palesemente indesiderati, che soprattutto per evitare di  scartare messaggi che invece avrebbero dovuto comunque essere letti.
Mi sono state spesso poste delle richieste del tipo "si possono togliere automaticamente tutti i messaggi che non mi interessano ?" .
La risposta in generale è "solo in parte" . E questa parte può essere dal 30 al 95% dei messaggi indesiderati
Perché non si riesce a fare di meglio e perché questa variabilità ?
 La risposta è semplice: i filtri si basano su tre tecniche:

   Tutti e tre però hanno un inconveniente: sono fortemente soggette a "personalizzazione", vale a dire che il filtro che funziona per una persona potrebbe non funzionaree per un'altra.
Si pensi a termini tipici di spam che potrebbero apparire legittimanente nel messaggio (una persona  in questo dipartimento non riceveva sistematicamente i messaggi da parte di un corrispondente: andando a vedere si scoprì che questi nella signature aveva l'indirizzo in una lingua, e quelle stesse parole in altra lingua formavano una frase "sospetta") oppure a particolari interessi professionali (gli avvisi di scaricare upgrades di software nel 99% sono esche per installare spyware, ma ce ne sono di buoni: chi se ne occupa professionalmente deve comunque esaminarli) o anche messaggi che possono essere considerati ham o spam a seconda del momento ( un messaggio con subject "Your Travel to Caribbean" con le caratteristiche di un albergo di solito è spam, ma se uno vuole andare da quelle parti ha chiesto informazioni per la prenotazione, non è da escludersi che l'albergo gli mandi una lettera con tale subject, assolutamente indistinguibile da un messaggio "spam", neanche leggendo il contenuto ).
    Gli spammer si sono pertanto evoluti e hanno cominciato a mandare messaggi che contengono oltre allo spam vero e proprio anche altro testo completamente estraneo, con parole casuali "buone", tali da fare confondere i filtri a dizionario.
    A questo punto è necessario provvedere a controbattere, ed entrano in campo i filtri "a modello". Questi non leggono il contenuto ma esaminano come è impostato il messaggio. Tale filtro è abbastanza efficiente, ma ha l'inconveniente che un messaggio "buono" che non è stato formattato esattamente come desiderato (e capita per un 6-8% dei messaggi, quelli inviati da persone che hanno delle imperfezioni nella configurazione del proprio programma per la composizione della posta) viene comunque marcato come sospetto e non visualizzato.
    Il terzo tipo è analogo al primo, ma si basa più che sul contenuto sul subject: è abbastanza efficiente, ma ha il grosso inconveniente che funziona solo se arrivano molti messaggi simili, a distanza di tempo, in quanto ogni messaggio da filtrare deve essere letto, e inserito nella black list.
Come per il primo metodo deve essere quindi continuamente aggiornato da qualcuno, che ovviamente non può fare il lavoro per ogni singolo utente, ma si deve basare solo su caratteristiche "generali", che quindi possono scontentare qualcuno, da una parte o dall'altra.

Un articolo che ben descrive le tecniche, e di cui raccomando la lettura PRIMA di attivare un qualsiasi anti spam è
in Hackers and Painters, di Paul Graham, O'Reilly 2004, di cui un estratto è in http://store.yahoo.com/paulgraham/spam.html
Non è una raccomandazione da parte mia, ma piuttosto da parte di chi ha scritto il filtro. Una attenta lettura però è utile per c apire bene i limiti del sistema, e i rischi.

Per la posta in dipartimento è possibile attivare filtri di vario tipo, fino ad ora era stato utilizzato spamassassin (primo tipo) ma adesso è stato attivato anche spamoracle. È inoltre possibile personalizzare le funzioni di filtro per singoli subject o mittenti
.
Le esperienze hanno evidenziato che se tutti sono contenti quando vengono cancellati gli spam, si imbestialiscono come iene quando viene filtrato qualche messaggio buono. Per questo motivo viene fatto notare che qualunque tipo di filtraggio porta con se dei rischi di errata valutazione, che possono essere o negativi (quando vengono fatti passare messaggi  non voluti) che soprattutto positivi (quando vengono eliminati messaggi desiderati).
Per questo motivo è stato deciso che ogni filtraggio dovrà essere configurato e mantenuto dal proprietario della casella, in quanto questo è l'unico modo  per evitare perdite di messaggi, o perlomeno che la persona se la prenda per il fatto.
Al fine di meglio consentirvi di scegliere la configurazione adatta è necessario spiegare la tecnica di filtraggio utilizzata, e gli scopi di ogni singolo filtro.
La configurazione adottata in dipartimento è quella con procmail.
Per ogni messaggio in arrivo viene controllato se per il destinatario esiste un file .forward che indica se il messaggio deve essere inoltrato , prima di essere depositato nella casella personale. La presenza di questo file inibisce il  funzionamento di procmail, salvo prevederne espressamente l'uso. Si suggerisce di inserire le regole di forwarding all'interno del file .procmailrc , in quanto in questo modo è possibile operare anche un filtraggio sui file inoltrati.

Un file procmail tipico è il seguente:

PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin
MAILDIR=$HOME/mail # you'd better make sure it exists
# DEFAULT=$MAILDIR/mbox # completely optional
LOGFILE=$HOME/procmail.log # recommended
questo pezzo è la inizializzaazione. Da osservare la riga che prepara un file procmail.log , che contiene per ogni messaggio transitato mitente, subject, data e il file dove è stato depositato. questo può essere utile nel caso abbiate "smarrito" qualche messaggio per ritrovarlo velocemente.

#1#
:0fw
| /usr/bin/spamc

#2#

:0:
* ^X-Spam-Status: Yes*
x-spamassassin

#3#
#nospam-initialize

Le regole soprascritte indicano la prima di passare il messaggio al programma spamassassin, che aggiunge dei suoi header, la secon da di vedere se il messaggio è cattivo, e nel caso di metterlo in una apposita cartella, chiamata x-spamassassin

Questa cartella non viene normalmente scaricata nei collegamenti remoti, e quindi abbrevia il tempo di connessione. Non solo: eliminando dalla cartella principale la maggior parte dei messaggi indesiderati rende più veloce e tempestiva l'evasione dei messaggi "opportuni".

Periodicamente (in genere una volta alla settimana) sarà cura del proprietario della casella l'esaminare questa cartella provvedendo all'eventuale "recupero" di messaggi buoni accidentalmente finiti lì dentro. (evento raro, ma non impossibile, in genere si parla di 4-5 messaggi l'anno).
Ad ogni modo, dopo 27 giorni, il contenuto della casella viene vuotato in maniera automatica (modificare il proprio crontab per cambiare)

Spamassassin utilizza tutta una serie di regole per identificare lo spam, regole alle quali vengono dati pesi diversi. La somma dei pesi per le varie regole dà un punteggio a ogni  messaggio. Se questo è superiore a una soglia stabilita il messaggio viene marcato come spam; a certe regole (ad esempio quelle della frequenza di parole amiche) è possibile dare anche punteggi negativi, in modo che compensino eventuali punteggi positivi da altre regole.
A titolo informativo la soglia è stata posta a 2.6 e durante il periodo di prova nessun messaggio buono è stato catturato, mentre oltre il 94% dei messaggi classificabili spam sono stati bloccati.

Cosa potete aspettarvi e cosa dovete temere:

Non son tutte rose e fiori: come qualunque sistema, specie se automatico, è possibile che vi siano errori. per questo è indispensabile periodicamente verificare nella cartella spam se vi sia rimasta roba buona.
Per evitare che l'errore si ripeta è però possibile intervenire copiando il messaggio in una apposta cartella "buoni" , come del resto si può intervenire nel caso messaggi sgraditi finiscano tra la posta ordinaria creando una  cartella "cattivi".
Queste cartelle saranno poi fatte leggere al programma con le opportune istruzioni (vedasi manuale di sa-learn ) che aggiornerà il database .
L'aggiornamento dovrebbe essere fatto all'incirca quando si ha almeno un centinaio di messaggi "sfuggiti".
A questo punto nella FAQ potrebbe apparire una domanda del tipo "ma non spieghi per niente bene... perché ?" al che rispondo "perché la regolazione dei filtraggi è estremamente delicata, per cui è bene che venga fatta solo a ragion veduta, ossia letto il manuale del programmma, e pure personale, per cui ciascuno deve farla da se" [può cercare aiuto ... ma deva farlo sui messgi suoi].
Ci sono poi alcune categorie di messaggi per i quali il filtro fallisce abbstanza pesantemente:
  1. i messaggi di mancata consegna. Attualmente per oltrte il 90% sono effetto di "spam collaterale" ossia quando chi manda il messaggio mette come mittente un mittente falso, che guarda caso siete voi. se il messaggi per qualsiasi ragione vinene rifiutato allora viene inviata notifica al mittente, e quindi arriva a voi. Questi messaggi NON possono essere efficacemente filtrati in quanto è particolarmente difficile (e in qualche caso impossibile) determinare se il messaggio originale era vero, e quindi il messggio contiene in dicazioni sulla causa di mancata consegna, ovvero è spam collaterale e quindi va trattato come tale.
  2. I messaggi a liste di discussione e le newsletters: di regola arrivano con header che possono fare insospettire (specialmente quando come è frequente all'inizio o alla fine della stessa vi sia un banner pubblicitario). Qualora si osservi una cattura di tali messaggi  è  possibile e opportuno mettere nella posizione #1# un filtro che le accetti direttamente (eventualmente mandandole in una cartella propria)
  3. I messaggi ai moderatori delle liste: un rischio frequente è che se ci sono da moderare un messaggio "buono" e uno "cattivo" il secondo marchi come spam l'intero elenco. stessa procedura che per 2
  4. Messaggi in certe lingue: il filtro tende ad essere "generoso" con i messaggi in Italiano e Francese e "pesante" con quelli in Tedesco, Greco, Russo . Inoltre i messaggi in lingue asiatiche vengono bloccati di default. Se si attendono messaggi in una delle lingue elencate è possibile modificare il file ~/.spamassassin/user_prefs modificando il peso.
  5. messaggi che hanno subito un forward: in questo caso se il forward avviene da una macchina "fidata" viene dato un punteggio negativo tale da fare passare certi spam "leggeri" come messaggi buoni.
  6. Virus: i messaggi  contenenti solo un virus, così come d'altra parte i messaggi contenenti solo allegati, senza testo accompagnatorio, non posono venire correttamete classificati .
Se a questo punto siete ancora decisi a mettere il filtro le sistruzioni sono le seguenti:
Auguri.