SpamAssassin
SpamAssassin je počítačový program vydaný pod licencí Apache License 2.0, který je určen k filtrování spamu na základě analýzy obsahu. Nyní je částí Apache Foundation.
E-mail rozpoznaný jako spam programem SpamAssassin v emailovém klientu Novell Evolution | |
Vývojář | Apache Software Foundation |
---|---|
Aktuální verze | 3.4.0 (11. února 2014) |
Operační systém | Multiplatformní |
Vyvíjeno v | Perl |
Typ softwaru | Spamfiltr |
Licence | Apache License 2.0 |
Web | http://spamassassin.apache.org |
Některá data mohou pocházet z datové položky. |
Obsahuje různé techniky detekce spamu včetně filtrování na základě DNS, kontrolních součtů emailu, Bayesovského filtru, externích programů, blacklistů a online databází.
SpamAssassin může být integrován v poštovním serveru a automaticky filtrovat všechnu poštu. Též může být spuštěn individuálně uživateli na jejich vlastní schránku z poštovního klienta. Výhodou je vysoká míra konfigurovatelností. Může být nakonfigurován na použití globálních pravidel a uživatelských preferencí zároveň.
Získal cenu Linux New Media Award 2006 za "Nejlepší antispamové řešení založené na Linuxu".
Historie
SpamAssassin byl vytvořen Justinem Masonem, který udržoval množství patchů předchůdci programu filter.plx vytvořeného Markem Jeftovicem v srpnu 1997. Mason přepsal veškerý Jeftoničův kód a výsledek uploadoval na SourceForge.net 20. dubna 2001. Projekt zahrnoval algoritmy vyvinuté Gary Robinsonem a dalšími.
Způsoby použití
SpamAssassin je aplikace napsaná v Perlu, která je obvykle použita k filtrování veškerých příchozích dopisů pro jednoho či více uživatelů. Může být použita jako samostatná aplikace nebo jako podprogram jiné aplikace (jako je např. MailScanner) nebo jako klient (spamc) komunikující s daemonem (spamd). Druhý způsob má výkonnostní výhody, ale za určitých okolností může představovat další bezpečnostní hrozbu.
V obou případech je nastaven obecný program pro filtrování pošty, nebo je volán přímo emailovým klientem, pokud tuto možnost podporuje, při každém nově příchozím dopisu. Program pro filtrování pošty, jako je například procmail, může být nastaven tak, aby skrze SpamAssassin procházela veškerá pošta a byla aplikována jednotlivá uživatelská nastavení v souborech .procmailrc.
Činnost
SpamAssassin implicitně obsahuje soubor pravidel pomocí kterých určuje zda je daná zpráva spam nebo není. Většina jich je založena na regulárních výrazech, které porovnávají obsah (tělo) nebo pole hlavičky emailu. Kromě toho obsahuje SpamAssassin také ostatní techniky detekce spamu. Tyto techniky jsou v dokumentaci nazývány testy (tests).
Každý test má skóre, která je přiřazena zprávě pokud testem projde. Skóre může být pozitivní nebo negativní, pozitivní hodnoty indikují spam a negativní indikují ham. Zpráva je postupně porovnávána proti všem testům a SpamAssassin zkombinuje jednotlivé výsledky do globálního skóre zprávy. Když je skóre vyšší, je vyšší také pravděpodobnost, že zpráva je spam.
SpamAssassin má konfigurovatelný interní práh k označení jako spam. Obvykle je email považován za spam pouze pokud splňuje více kritérií; shoda s jediným testem obvykle není dostatečná, aby byl práh dosažen. Tímto je snížena možnost false positive například pokud je v obsahu dopisu slovo často se vyskytující ve spamu.
Pokud je dopis SpamAssassinem označen za spam, tak je stále možné tento stav změnit. V implicitní konfiguraci je obsah emailu připojen jako MIME příloha s krátkou poznámkou v těle zprávy a popisem testů, které vedly k označení za spam. Pokud je skóre nižší než dle nastaveného prahu, tak je implicitně do hlavičky přidána informace, že email prošel spam testy a jakého dosáhl skóre. Tyto informace můžou být dále zpracovány, například pro označení zprávy jako podezřelé.
SpamAssassin umožňuje individuální nastavení pro jednotlivé uživatele. Konfigurace mohou být uloženy v souboru nebo databázi. Uživatelé mohou ve svých konfiguracích specifikovat adresy, ze kterých emaily nebudou nikdy považovány za spam, nebo změnit skóre pro určitá pravidla. Uživatel může také definovat seznam jazyků, ve kterých chce dostávat emaily a SpamAssassin pak nastaví vyšší počáteční skóre všem emailům, které budou napsané v jiném jazyku.
Bayesovské filtrování
SpamAssassin se standardně snaží zpřesnit svá vlastní pravidla prostřednictvím bayesovského filtrování které se samo učí, avšak je vždy efektivnější při zadání vstupů uživatelem.
Obvykle se očekává, že uživatel určí typ nevyžádaných (spam) emailů a příklad užitečných (ham) emailů a tím se filtr může naučit rozdíl mezi nimi. Pro tento účel, SpamAssasin poskytuje nástroje pro příkazový řádek, pomocí kterých můžeme označit konkrétní e-mail (případně i celé poštovní schránky) buď jako spam, nebo jako ham. Typicky uživatelé přesunují maily které jsou typu spam do specifické složky v mailové schránce, přičemž celá tato složka je označena typem spam. Případně, pokud to emailový klient umožňuje, je možné označit také jednotlivé emaily jako spamy.
Bez ohledu na použitou metodu učení, bude bayesovský filtr SpamAssasinu přiřazovat vyšší skóre e-mailům, které jsou podobné již dříve přijatým spam e-mailům.
Testování funkčnosti
Většina implementací SpamAssassina spustí na GTUBE. GTUBE je 68bytový řetězec podobný souboru Eicar pro antiviry. Pokud je tento řetězec vložen ve zprávě formátované dle specifikace RFC 2822, tak je této zprávě přiděleno skóre 1000, a je tedy označena jako spam.
Licence
SpamAssassin je open source software licencovaný pod Apache License 2.0. Verze starší 3.0 jsou licencovány pod Artistic License a GNU General Public License.
Odkazy
Reference
- http://en.wikipedia.org/wiki/SpamAssassin
- http://wiki.apache.org/spamassassin/SpamAssassin – oficiální wiki projektu (Anglicky)
Související články
Externí odkazy
- http://wiki.apache.org/spamassassin/ – Oficiální wiki (Anglicky)
- http://www.root.cz/clanky/spamassassin-brante-se-proti-spamum/ – Konfigurace SpamAssasin