L'ingegnere quantistico Seth Lloyd è convinto che l'universo sia un gigantesco computer. Speriamo non faccia girare Windows.

— Kevin Kelly

ArchLinux Small Business Server (20) - Mail Server (5)

http://www.stenoweb.it/files/blog/archlogo.png Abbiamo finito con le protezioni ? Neanche per sogno! Dobbiamo ancora gestire/segare il 5% dello spam che sfugge a PostFix+Postgrey, ma sopratutto dobbiamo aiutare i nostri poveri client windows nella loro titanica lotta a spyware e virus...

Content Filter con Amavis-new

Per questa configurazione sono state scelte delle applicazioni note per il buon livello di sicurezza che offrono e per la facilità con la quale possono essere modificati i propri file di configurazione. Come oramai abbiamo capito, per impostazione predefinita Postfix si mette in ascolto sulla porta 25 per la posta in ingresso. Quando arriva un nuovo messaggio di posta, dopo i suoi canonici controlli restrittivi (compreso Postgrey) il server lo inoltra' ad amavisd-new sulla porta 10024. Amavisd-new, successivamente, controlla il messaggio attraverso vari filtri e lo restituisce a Postfix sulla porta 10025; infine, il messaggio viene inviato alla mailbox del destinatario.
Complicato vero ? Più da scrivere che da fare :)

Un caporale con due soldati

Cos'e' Amavis-new ? Amavisd-new è un framework per il filtraggio di contenuti che utilizza applicazioni di supporto per il riconoscimento di virus e spam. Il nostro caporale filtratore utilizzerà due soldati per la sua campagna d'armi: ClamAV per il filtraggio dei virus e Spamassassin per quello dello spam. Spamassassin, a sua volta, può poggiarsi su applicazioni di livello inferiore, come ad esempio Vipul's Razor e DCC (non trattati in questa guida).
Rispetto ad altre tecnologie di controllo dello spam (come gli RBL, dall'inglese Real-time Blackhole List, termine con il quale si indicano impropriamente le tecnologie DNSBL, o di DNS blacklist, che consistono nella pubblicazione, da parte di un sito Internet, di una lista di indirizzi IP che, per varie ragioni, ma principalmente spam, dovrebbero essere bloccati), Spamassassin non valida un dato messaggio email in base ad un singolo test. Questo programma, invece, esegue una lista di controlli, sia interni, sia usando delle applicazioni esterne, per calcolare un punteggio da assegnare ad ogni messaggio di posta. Questo punteggio è determinato in base a:

  • Filtro Bayesiano
  • Regole statiche basate su espressioni regolari
  • Reti distribuite e collaborative (RBL, Razor, Pyzor, DCC)

In base al punteggio (configurabile) raggiunto, la mail sarà rifiutata o accettata.

Quando al caporal Amavisd viene segnalato che la mail contiene virus o spam può fare le seguenti cose:

  • 'PASS' : Il destinatario riceve la mail
  • 'DISCARD': Il destinatario non riceve la mail. Il mittente non riceve alcuna notifica del fallimento della spedizione, il messaggio viene posto in quarantena se abbiamo deciso di abilitare questa funzionalità:
  • 'BOUNCE': Il destinatario non riceve la mail. Il mittente riceve una notifica che la spedizione è fallita. Nessuna notifica, però, viene inviata se la mail contiene un virus e il mittente viene identificato come "fake", falso.
  • 'REJECT': Il destinatario non riceve la mail. Il mittente dovrebbe ricevere una notifica che la spedizione è fallita dal nostro MTA (Postfix).

La differenza sostanziale tra BOUNCE e REJECT è su chi prepara questa DSN (Delivery Status Notification). con REJECT è il nostro MTA (Postfix) che la prepara e la spedisce, con BOUNCE è Amavis che lo fà (generalmente questa contiene maggiori informazioni). Tuttavia Postfix non supporta la funzionalità REJECT, quindi per noi i parametri validi sono PASS, DISCARD e BOUNCE.

In Amavis, queste opzioni di chiamano D_PASS, D_DISCARD e D_BOUNCE e sono configurate con i parametri nel file /etc/amavisd/amavisd.conf :

  • $final_spam_destiny
  • $final_virus_destiny
  • $final_banned_destiny
  • $final_bad_header_destiny

Nella nostra configurazione imposteremo amavis in modo che spam e virus siano cestinati (D_DISCARD), e siccome non disabiliteremo la quarantena, le mail spazzatura finiranno lì. Se volessimo disabilitare la quarantena le mail sarebbero buttate e perse.

Ancora qualche appunto sulla quarantena. Amavis può porre le mail in quarantena quando trova spam/virus in una specifica directory oppure può inviarla ad un altro inidirizzo email perchè venga "spulciata" da un operatore umano che deciderà il destino della "presunta" spazzatura. Quindi, in pratica, potremmo ad esempio indirizzare tutta lo spam a spam@mede.it e i virus a virus@mede.it, oppure in alternativa salvarla il una directory del nostro server. Amavis permette di specificare la directory per la quarantena con il parametro $QUARANTINEDIR. Tuttavia è possibile scegliere cartelle diverse per lo spam e per i virus.

Nel prossimo articolo procederemo con la configurazione.