Pensieri sparsi


Bric a Brac
Archivio Posts
Anno 2014

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

SMTP filtering (ovvero.. filtrare lo spam)

Quello che segue non vuole essere nulla di definitivo o di innovativo; tutto quanto è nato solo perchè un cliente aveva avuto un problema con un servizio e-mail, così, ho pensato di mettere insieme un "semplice flow-chart" che mi permettesse di esemplificare quale dovesse essere il flusso di una transazione SMTP (lato MTA - in ricezione) con filtraggio delle emails indesiderate  .

Fatto sta che dopo aver realizzato una prima versione del diagramma, ci ho preso gusto e, nonostante l'idea fosse quella di mantenere il tutto estremamente semplice, ho iniziato ad aggiungere blocchi, così, un pezzettino per volta, il diagramma si è trasformato nel "mostro" visibile qui di seguito (che nonostante abbia volutamente ridotto evitando di dettagliare alcuni punti e non inserendo alcuni dettagli è comunque abbastanza "corposo" )

Ripeto, non si tratta di nulla di definitivo ed è solo un abbozzo, ma spero che possa essere di una qualche utilità per chiunque volesse mettere in piedi un sistema di filtraggio dello "spam" e cercasse qualche spunto; al proposito va considerato il fatto che, per evitare di complicare troppo il diagramma ho volutamente omesso e/o semplificato alcuni passi, spero comunque che il risultato sia abbastanza chiaro

Ma bando alle chiacchiere, ecco il diagramma

Per chiarezza, le "frecce blu" indicano il flusso normale della transazione; quelle rosse indicano dei "reject" ossia l'emissione da parte del server di un errore SMTP e la conseguente chiusura della connessione, quelle arancioni indicano le operazioni di "scoring" del messaggio, ossia l'incremento del "punteggio" dello stesso che potrà far pendere la valutazione finale "spam / ham" mentre le frecce verdi indicano il percorso seguito dalle transazioni relative ad utenti "autenticati" o ad IP posti in "whitelist"; va considerato che nel diagramma ho omesso tutti i vari checks "standard" effettuati da un normale SMTP dando per scontato che siano presenti e focalizzando il diagramma solo sull'interazione tra il "motore" SMTP ed i vari filtri e sui "punti di intervento" degli stessi

L'idea di base è quella di utilizzare un approccio di filtraggio "a stadi" facendo in modo che i vari filtri possano interagire tra loro in modo da limitare la quantità di "falsi positivi" ed allo stesso tempo facendo funzionare il tutto in tempo reale, ossia DURANTE la transazione SMTP (e non dopo) in modo da non dover generare dei "bounces" che in generale sono una pessima cosa (basta leggere qui per capirne il motivo)

Per quanto riguarda le varie strategie di filtraggio, non entro in dettaglio (anche perchè il diagramma riporta alcuni links che dovrebbero chiarire gli aspetti meno chiari/conosciuti) mi limito a far notare che non si tratta di metodologie di filtraggio "astruse" ma semplicemente di metodi già noti.. soltanto applicati nell'ambito di un'architettura omogenea

Beh.. per il momento è più o meno tutto; cercherò di trovare il tempo per aggiornare il diagramma e, se fosse necessario per aggiungere qualche altra informazione relativamente ai vari stadi del filtro ed al loro funzionamento

che altro... ah si, mi scuso per aver usato l'inglese per il diagramma, solo che, siccome sto discutendo il tutto anche con diversi conoscenti "esteri" ho optato per l'uso di una lingua comune; ad ogni modo credo (o almeno spero) che le annotazioni siano sufficientemente comprensibili

Categoria: Il Ripostiglio
lunedì, 15 ott 2007 Ore. 14.46




Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003