Hlavní navigace

SpamAssassin: Braňte se proti spamům!

Petr Krčmář 25. 9. 2003

Spam je problém. Spam je velký problém. Spam trápí každého z nás bez výjimky. Ale existují způsoby, jak se docela účinně bránit. SpamAssassin je jedním z nich.

Nedávno jsem svou poštu přesunul na vlastní server. Protože jsem předtím využíval antispamových služeb providera, problém „spam“ mě dříve netrápil. Ale po přechodu se v mé poště začalo objevovat čím dál víc nevyžádaných mailů s různými nabídkami (Nechcete zvětšit penis?) a reklamními bannery. Začal jsem zvažovat nasazení nějakého filtru. Původně mě napadlo napsat si vlastní prográmek, ale nakonec jsem na radu známého nasadil SpamAssassina. Můžu zodpovědně říct, že jsem maximálně spokojen a můžu jej jenom doporučit.

Instalace není nijak extrémně náročná a zvládne ji i průměrný uživatel. Rootovská práva nejsou podmínkou, v README je popsán i postup instalace do domovského adresáře. Já jsem zvolil nejjednodušší metodu, a to instalaci z hotového balíčku jako root.

Domovská stránka má adresu www.spamassas­sin.org a hotové balíčky můžete získat třeba na těchto místech: .deba .rpm. Zdrojové zase přímo z domovské stránky.

Proces instalace do domovského adresáře je podrobně popsán v dokumentaci.

Po instalaci do systému (ať už přímo, nebo jen do domovského adresáře) se ještě nic neděje. Je potřeba nejdříve pochopit, jak to celé funguje.

Příchozí pošta se v systému roztřídí a uloží k uživateli, kterému patří. Pak si ji uživatel může vybrat a přečíst. SpamAssassin funguje tak, že jej přidáme na konec celého procesu tak, aby jím příchozí pošta procházela a on pak podle našich pokynů provádí její filtraci. Z toho plyne, že pokud si poštu stahujete z cizího serveru přímo do svého mailového klienta, nebude vám SpamAssassin nic platný. Pokud ale pro přesun pošty používáte fetchmail (který poštu normálně uloží jako nově příchozí), můžete se pustit vesele do instalace.

Samotné rozpoznávání spamů probíhá tak, že SpamAssassin přiděluje, podle jemu známých znaků, každému mailu trestné body. Rozeznává se například: otazník na konci předmětu, mail je psán velkými písmeny, mail obsahuje jenom obrázek, informace o (už zmíněném) zvětšení penisu a dokonce se ověřuje i platnost adresy odesilatele. Nakonec se všechny trestné body sečtou a podle tohoto součtu je rozhodnuto, zda se jedná o spam.

Pokud si přejeme filtrovat poštu automaticky všem uživatelům, použijeme démona spamd. Je ale dobré, aby měl každý uživatel možnost si tuto službu v případě potřeby deaktivovat. Já jsem zvolil opačný postup. Každý uživatel si ji musí nejprve zapnout, aby mu byla pošta filtrována. Samotné zapojení programu do práce je pro uživatele naprosto triviální. Já zde popíšu fungování s ProcMailem – je potřeba otevřít (nebo, pokud jej ještě nemáte, vytvořit) ve vašem domovském adresáři soubor s názvem .procmailrc (i s tečkou na začátku!) a do něj zapsat:

:0fw: spamassassin.lock
| /usr/bin/spamassassin

:0:
* ^X-Spam-Status: Yes
Spamíky

První dva řádky říkají procmailu, aby každý mail podal také našemu filtru (pokud jste instalovali do home, cesta bude samozřejmě jiná). Druhá část potom říká, že pokud se identifikuje spam, má se přesunout do složky nazvané „Spamíky“. Já osobně tam tu druhou část nemám a označené spamy mi zůstávají mezi ostatní poštou a filtruje je až poštovní program. Ale o tom až později.

V tuhle chvíli by už mělo všechno fungovat. Můžete si zkusit poslat nějaký mail. Na první pohled nepoznáte žádný rozdíl. V hlavičce mailu se však objevila nová položka

X-Spam-Status: No

v případě, že nejde o spam, nebo

X-Spam-Status: Yes

v tom druhém. Navíc, pokud se jedná o spam, přidá se do mailu seznam rozeznaných spamových příznaků i s jejich bodovým hodnocením. SpamAssassinu ale můžeme jednoduše nastavit další chování, a to v souboru ~/.spamassassin/u­ser_prefs .

Z těch zajímavých je to například required_hits, což je hranice počtu bodů pro identifikaci spamu (standardně je to pět bodů). Změnou tohoto parametru můžete změnit přísnost hodnocení spamu. Další důležitou volbou je rewrite_subject. Pokud je nastavena na 1, pak je při identifikaci spamu do předmětu přidána informace. Pokud její text nezměníte (nastavením subject_tag nějakýtext), je to *****SPAM***** . Dále lze nastavit tzv. blacklist a whitelist. Do blacklistu můžete zapsat adresy, z nichž je příchozí pošta automaticky pokládána za spam. A naopak, pošta z whitelistu není nikdy označena jako spam.

Pak zbývá poslední krok, a tím je nastavení vašeho oblíbeného emailového klienta. Vytvoříte nový filtr, který bude všechnu poštu obsahující v předmětu řetězec SPAM házet do samostatné složky (není dobré ji mazat, mohlo by se stát, že se vytřídí i něco důležitého, takové riziko je tu vždycky, i když je malé).

Toto je samozřejmě jen základní použití. SpamAssassin toho umí daleko víc. Umí posílat nové spamy do centrály, kde jsou zařazeny do databáze (parametr -r), umí se učit nové druhy spamů (pokud používáte například zmíněnou složku Spamíky, můžete mu do ní házet i nerozeznané spamy a jednou za čas spustit sa-learn, on se je naučí) a spoustu dalších užitečných věcí. Ale ty už si sami určitě najdete v manuálových stránkách.

SpamAssassina používám už několik týdnů a za sebe můžu říct, že má úspěšnost 100 %. Zatím neprošel žádný spam, ani žádná bězná pošta nebyla chybně označena. Běžně se však jeho účinnost pohybuje okolo 97 % (alespoň podle toho, co jsem četl), ale i to je určitě dost. I kdyby každý třicátý spam prošel, je to pořád velká pomoc.

Našli jste v článku chybu?

21. 4. 2005 0:11

kukoo (neregistrovaný)
musis si spavne nadefinovat qmail-scanner.pl

18. 11. 2004 19:41

jano (neregistrovaný)

Kde vo vypise po zadani prikazu spamassassin -D --lint mam najst udaj o velkosti databazy? Ja som tan nic podobne nenasiel.

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Vitalia.cz: Pečete cukroví a zbyl vám bílek?

Pečete cukroví a zbyl vám bílek?

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Lupa.cz: Seznam mění vedení. Pavel Zima v čele končí

Seznam mění vedení. Pavel Zima v čele končí

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

Podnikatel.cz: Na poslední chvíli šokuje výjimkami v EET

Na poslední chvíli šokuje výjimkami v EET

Lupa.cz: Babiš: E-shopů se EET možná nebude týkat

Babiš: E-shopů se EET možná nebude týkat

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel