glug: Link utile spero .....................
Giuliano
bipieffe@yahoo.it
Mer 19 Maggio 2004 15:40:00 CEST
Me lo ha chiesto Andrea, ma penso possa interessare anche a qualcun altro.
Se no scusate il disturbo!
Giuliano
Email filtering with Procmail + SpamAssassin + ClamAV (Technology)
By mbreyno
Mon Feb 2nd, 2004 at 01:59:06 AM EST
Noi riceviamo molte schifezze in questi giorni nella nostra email ed è
necessario
avere alcune forme di filtro sul posto. Così qual'è il modo migliore di
proteggere
il tuo inbox sul tuo server *nix? Bene, qui c'è un modo rapido e facile
a filtrare
spam e virus, con il software libero ed in un'ora.
Sul mio server gira SuSE Linux 8.2 ed uso Postfix per consegnare la
posta.
PROCMAIL
Procmail è una utility per elaborare la posta che consente di ordinare
la tua posta
in arrivo seguendo dei criteri forniti da te. Con Procmail, puoi cercare
certi
modelli o impostare informazioni sugli headers e compiere azioni su di
un messaggio
dipendenti dalle condizioni incontrate.
Sul mio server, procmail viene installato di default. Per provare fate
soltanto:
which procmail
Se è installato vedrai dove. Se non lo è prelevalo dal sito RPM della
SuSE o dove
vi pare, a seconda del vostro sistema operativo.
SPAMASSASSIN
SpamAssassin è un filtro per la posta usato per riconoscere lo spam.
Impiega un
ampio spettro di prove euristiche sugli headers e sul corpo del testo ed
assegna
un punteggio ad ogni messaggio. Se un messaggio prende abbastanza punti,
viene
marcato come spam e conseguentemente filtrato.
SpamAssassin è semplice da installare. le istruzioni possono venir
trovate su
http://www.spamassassin.org ma ecco qui le svelte e sporche istruzioni:
(diventa root)
perl -MCPAN -e shell
o conf prerequisites_policy ask
install Mail::SpamAssassin
quit
Ciò installerà l'eseguibile spamassassin e gli scripts necessari.
Facile, no?
ClamAV
ClamAV è uno scansionatore di virus open source. Attualmente riconosce
20.000
virus. Il database dei virus viene aggiornato con l'aiuto della comunità
degli
utenti. Gli utenti possono sottoporre nuovi virus che abbiano trovato e
questi
verranno aggiunti al database.
ClamAV richiede di venir compilato (almeno sulla mia distribuzione di
Linux) ma
si tratta di cosa indolore. Andate su http://www.clamav.net e tirate giù
il file
più recente. Le istruzioni per l'installazione sono sul sito, ma ecco il
trucco:
(diventate root ed andate nella directory source)
groupadd clamav
useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav
./configure --sysconfdir=/etc
make
make install
Poi modificate /etc/clamav.conf e commentate la parola "Example".
Adesso, prima di buttarli tuti insieme, dobbiamo creare un piccolo
script chiamato
clamfilter.pl. Potete ottenerlo su http://www.everysoft.com/clamfilter.html.
Tiratelo giù e piazzatelo da qualche parte nel vostro sistema. Io metto
gli script
Perl in /usr/local/scripts. Gloria a Matt Hahnfeld @ EverySoft per
questo script!
Metterli tutti assieme.
Adesso che tutto è installato, dobbiamo creare qualche filtratura. Per
creare regole
di filtro per il vostro account, prima create un file nella vostra home
directory
chiamato .forward. (si è proprio "punto forward") e metteteci questa linea:
"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #user"
Se procmail è installato altrove nel vostro server, modificate di
conseguenza.
Adesso create un file nella vostra home directory chiamato .procmailrc
("punto procmailrc")
e metteteci quanto segue:
:0fw
| /usr/local/scripts/clamfilter.pl
:0:
* ^X-Virus-Found: yes
mail/Quarantine
:0fw: spamassassin.lock
| /usr/bin/spamassassin -a
:0:
* ^X-Spam-Status: Yes
mail/Quarantine
Ciò fa passare tutta la posta attraverso ClamAV e SpamAssassin e, se
viene marcata come
spam o virus, viene passata alla cartella chiamata "quarantine" nella
vostra directory
di posta. Notate che chiamo SpamAssassin con la flag -a, cosicchè
abilito l'auto-whitelisting.
Manutenzione
Adesso dobbiamo creare qualche job di cron per la manutenzione. Prima di
tutto insegnamo
a SpamAssassin a migliorare ogni giorno. Fate un piccolo script chiamato
sa-learn.pl e
mettetelo da qualche parte (come /usr/local/scripts). Modificatelo se è
necessario e
fatelo avviare da cron una volta al giorno. Questo script attraverserà
la home directory
di tutti gli utenti, cercando i folders chiamati MissedSpam e NotSpam.
Se un utente avesse
piazzato spam perduta o falsi positivi in uno di questi folders
SpamAssassin imparerebbe
da da ciò.
Poi, accertatevi che le definizioni dei virus siano state aggiornate.
Impostate freshclam
perchè giri ogni ora. Freshclamè un programma che si connette con il
sito ClamAV e verifica
l'aggiornamento del database. Il comando è:
/usr/local/bin/freshclam
Il mio file crontab appare così:
# teach spamassassin - run every morning at 3am
3 0 * * * /usr/local/scripts/sa-learn.pl >> /dev/null 2>&1
# update virus definitions every hour on the hour
0 * * * * /usr/local/bin/freshclam --quiet
Adesso abbiamo una veloce, facile ed effettiva soluzione per il
filtraggio di spam e di virus.
Mettete soltanto i files .forward e .procmailrc a tutti gli altri utenti
per cui volete
attivare il filtraggio dell'email. Potreste anche scrivere un breve
script per copiare
automaticamente questi files in ciascuna home directory. Divertitevi!
Maggiori informazioni sulla lista
glug