Mailfilter

Mini How-To Mailfilter - come proteggersi dalle mail indesiderate

P|pex

-- $Revision: 0.4 $ -- $Date: 2007/11/19 $

Contenuti

Funzionalità

Eliminazione/filtro delle mail su di un account POP3 di posta.

Si connette al server mail e controlla la posta senza scaricarla: le
regole, con le quali decidere se tenere o cancellare le mail, sono
scritte nel file di configurazione; vengono controllate anche le
dimensioni delle mail, e nel caso sorpassino quelle stabilite vengono
eliminate.

Requisiti

  • un recente compilatore C++ (es. GNU C++ 2.95.x o superiore)
  • un compilatore C
  • uno `scanner generator` come Flex
  • un parser come GNU Bison (o Yacc)
  • i tool GNU automake, autoconf e gettext

insomma quello che tutti dovremmo avere. Naturalmente consiglio
Fetchmail.

Download e installazione

A seconda della distribuzione o delle nostre necessita' abbiamo diversi
modi per ottenere mailfilter ed installarlo sulla nostra linuxbox.

  • installazione con rpm -ivh pack.rpm / rpm --rebuild

pack.src.rpm

  • ricompilazione dai sorgenti tar.gz
  • # apt-get install mailfilter

Se si utilizza Debian è sufficiente
quest'ultimo comando per installare e configurare MailFilter

Configurazione & personalizzazione

file di configurazione: '~/mailfilterrc'
puo' essere qualsiasi altro file, specificando

-M, --mailfilterrc=FILE

quando si richiama mailfilter.

Consiglio di partire creando un file .mailfilterrc nella propria
home e partendo dall'esempio si trova online
qui

Il file di configurazione va abbastanza bene, ma dobbiamo adattarlo
alle nostre esigenze. E' ben commentato per cui non trattero' tutte le
opzioni disponibili.

C'e' obbligatoriamente da specificare un logfile, come ad es.:

LOGFILE = "/home/gianluca/.mailfilter.log"

Dato che girera' con i diritti del nostro utente, utilizziamo una
directory dove siamo sicuri di poter scrivere.
Poi impostiamo server/user/password della propria casella di posta
POP3.
Di recente è stato aggiunto anche il supporto di SSL per accedere alla
casella di posta

Nel file troviamo MAXSIZE_DENY e poi una serie di DENY = che
indicano quale e' la grandezza max dei messaggi in ingresso e quali
vogliamo cancellare.

C'e' anche una sezione invece che dice MAXSIZE_ALLOW ed indica la
dimensione massima dei messaggi da parte dei _soli_ indirizzi indicati
da ALLOW =

in ALLOW e DENY si specificano indirizzi tramite espressioni
regolari. Ad esempio se vogliamo negare la posta ai messaggi
indirizzati a homeserver.com, che e' una delle tante mail che
arrivano con attach del virus:

regola personalizzata:

DENY = "^To:.*@homeserver.com*"

quando arriveranno le mail, nel file di log si vedra':

mailfilter: Deleted utente <utente@dominio.org>: Fw: Returned Mail ,

Sun, 21 Sep 2003 21:03:02 +0200. [Applied filter:
'^To:.*@homeserver.com*']

che ci informa che la mail spedita da utente e' stata filtrata e
cancellata.

Eh, si, mail cancellata e quindi attenzione alle regole impostate

Altri esempi:

Filtro in base all'IP

DENY="^Received:.*62.61.128.253"

Avvio

Per poter avviare mailfilter, nel momento in cui fetchmail riceve la
posta per noi, si deve modificare il file di configurazione
~/.fetchmailrc: poll box.tin.it with proto POP3 timeout 60 user
'xxxxxx' there with password 'yyyy' is 'gianluca' here options fetchall
preconnect 'mailfilter'

Il richiamo di mailfilter avviene prima della connessione di fetchmail
per scaricare la posta: questo accede perché è stato
specificato preconnect 'mailfilter'

E' possibile eseguire in maniera indipendente mailfilter aggiungendo un
job tramite cron

# crontab -e
0,10,20,30,40,50 * * * * /usr/local/bin/mailfilter

che dice di avviare ad ogni minuto 00, 10, 20 .. di ogni ora

Invece per eseguire periodicamente fetchmail è meglio usare la direttiva

# set daemon 10

che dice di eseguire ogni 10 minuti fetchmail

Conclusioni

Vantaggi

  • snellisce il traffico di posta (soprattutto se si ha un 56k)
  • elimia da subito le mail indesiderate.

Svantaggi

se non configurato bene, potrebbe eliminare mail che invece
desideriamo ricevere.

Note & bibliografia

Un grazie a tutta la `comunità` debian italiana

L'autore può essere contattato al seguente indirizzo: gianm at
despammed dot com

  1. MailFilter web site
  2. Debian Mailing Lists