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?
Lupa.cz: Co najdete uvnitř kosmické sondy?

Co najdete uvnitř kosmické sondy?

Podnikatel.cz: Česká pošta vycouvala ze služby ČP Cloud

Česká pošta vycouvala ze služby ČP Cloud

DigiZone.cz: Vláda schválila digitální vysílání ČRo

Vláda schválila digitální vysílání ČRo

Měšec.cz: Kurzy platebních karet: vyplatí se platit? (TEST)

Kurzy platebních karet: vyplatí se platit? (TEST)

Měšec.cz: Test: Výběry z bankomatů v cizině a kurzy

Test: Výběry z bankomatů v cizině a kurzy

Lupa.cz: Elektronika tajemství zbavená. Jak s ní začít?

Elektronika tajemství zbavená. Jak s ní začít?

DigiZone.cz: ČTÚ zveřejnil aktualizovaný D-Book

ČTÚ zveřejnil aktualizovaný D-Book

Měšec.cz: Investiční pasti. Děláte to, co ostatní, ale proděláváte

Investiční pasti. Děláte to, co ostatní, ale proděláváte

Měšec.cz: Co s reklamací, když e-shop krachuje?

Co s reklamací, když e-shop krachuje?

DigiZone.cz: ČTÚ červenec: rušení trochu vzrostlo

ČTÚ červenec: rušení trochu vzrostlo

Vitalia.cz: Ženy, které milují příliš, jsou neštěstí

Ženy, které milují příliš, jsou neštěstí

Lupa.cz: Sdílíte veřejně běhání a jízdu na kole?

Sdílíte veřejně běhání a jízdu na kole?

Vitalia.cz: Vakcína Cervarix je oficiálně i pro chlapce

Vakcína Cervarix je oficiálně i pro chlapce

Lupa.cz: Samořídicí taxíky jsou tu. Začíná s nimi Uber

Samořídicí taxíky jsou tu. Začíná s nimi Uber

Podnikatel.cz: Youtuber? Za 15 tisíc dělat nebude

Youtuber? Za 15 tisíc dělat nebude

Podnikatel.cz: OSA zdražuje poplatky. Zaplatíte o polovinu víc

OSA zdražuje poplatky. Zaplatíte o polovinu víc

Vitalia.cz: Je bílý kokos fakt tak úžasný? Ano, je!

Je bílý kokos fakt tak úžasný? Ano, je!

Lupa.cz: Co vzal čas: internetové kavárny a herny

Co vzal čas: internetové kavárny a herny

DigiZone.cz: Další rána pro piráty: 6 měsíců

Další rána pro piráty: 6 měsíců

DigiZone.cz: Jetelín končí. Prima ho vyřadila

Jetelín končí. Prima ho vyřadila