AntiSpam -- co děláme proti spamu na FSv

Obsah:
Co je spam (a ham)
Uživatelské nastavení spamu
Centrální filtr na serveru Mars
Filtry na straně uživatele
Změny

Co je spam (a ham)

Výrazem spam se označuje nevyžádaný, obtěžující, hromadně rozesílaný, zpravidla reklamní email. To, že spam zbytečně zatěžuje naši počítačovou síť je zanedbatelné ve srovnání se zátěží hlav ubohých adresátů spamu. Rozpoznávání a mazání spamu je otravné, připravuje nás o čas a odvádí nás od smysluplnější činnosti. Dodejme, že spam nemusí být jen komerční, v širším významu existuje i spam politický, akademický, náboženský a jistě mnoho dalších.

V češtině se často spam překládá jako "nevyžádaná pošta", ale to je zcela zavádějící označení. Zcela legitimní dopis od vašeho šéfa, že máte něco udělat, přece také nebyl vyžádaný. Proto raději říkejme jednoduše spam.

Protiklad spamu, tj. legitimní email, se někdy označuje slovem ham. Ano, ham je šunka, zatímco jeden z významů slova spam je "drobně sekané maso v konzervě" od firmy Hormel. Nynější význam slova spam zřejmě souvisí se slavnou scénkou skupiny Monty Python.

Je třeba upozornit, že rozlišení, co je a co není spam, není jednoznačné a může být i docela individuální. Automatické rozpoznání spamu proto z principu nikdy nebude stoprocentně přesné.

Proti spamu se lze chránit různými prostředky. Tento dokument popisuje, co proti spamu děláme na úrovni VIC FSv a co mohou navíc dělat jednotliví uživatelé. V podstatě máme 2 až 3 úrovně obrany:

  • Greylisting (vysvětlení tady a podrobněji tady),
  • test obsahu mailu programem SpamAssassin,
  • a případné další testy mohou dělat klientské programy uživatelů (podrobněji dále).

Uživatelské nastavení spamu.

Nejprve velmi stručně k tomu, co si můžete nastavit sami na fakultním intranetu (Stavnet.fsv.cvut.cz) v sekci "oprava osobních údajů". Změna není zcela okamžitá, vezměte nejbližší celou minutu a přidejte 5 až 25 vteřin, tedy do dvou minut by měla změna fungovat. O tom, že server změnu akceptoval, dostanete stručný mail.

Greylisting -- povolit nebo zakázat?

Greylisting je velmi účinný prostředek proti spamu. Je to v podstatě první linie obrany. Většina spamu je zadržena ještě dřív, než jej náš server vůbec přijme. Funguje tak, že první dopis od nějakého odesílatele je napoprvé odmítnut s tím, že odesílající server má ten dopis za chvíli zkusit poslat znovu. Když to zkusí, je vše v pořádku, dopis je přijat a další dopisy už procházejí bez zdržení. Typický spam (asi 90% pozdržených dopisů) to už nikdy nezkusí a v tom spočívá účinnost greylistingu. Technické detaily viz dále.

Bohužel ten první pozdržený dopis je podle zákona schválnosti ten, na který netrpělivě čekáte.

Defaultně je greylisting povolen (zapnut), protože zlepšuje celkovou účinnost ochrany před spamem a také snižuje zátěž poštovního serveru (většinu spamů vůbec nepřijmeme a tak je ani nemusíme testovat).

Pro svou fakultní emailovou adresu si můžete greylisting sami vypnout. Když to uděláte, žádný dopis pro vás nebude uměle zdržen a rozpoznání spamu je zcela ponecháno na dalších instancích.

Kdy greylisting zakázat? --- Když čekáte "okamžitý" mail, který je první (po delší době) od daného odesílatele. Typicky, když se registrujete na nějakém serveru a je vám poslán ověřovací mail, když vám nějaký server posílá zapomenuté heslo, ale jsou i jiné situace, kdy je okamžité doručení mailu velmi žádoucí. Ale pozor, okamžité doručování emailu je pouze obvyklým chováním, nikdo vám to nezaručí, ani když si greylisting vypnete.

Doručování spamu -- povolit nebo zakázat?

Za greylistingem (pokud jej máte zapnutý) následuje (stále ještě na hlavním poštovním serveru) další komplexní test, jehož detaily jsou popsány ve zvláštní kapitole. Výsledkem testu je číslo, které udává jak moc znaků spamu dotyčný mail nese. Hranicí je 5 bodů.

Defaultně je doručování spamu zakázáno. Všechny dopisy, které dostaly 5 a více bodů, jsou zadrženy a nejsou doručeny adresátům. Děje se tak na základě (dnes již historického) rozhodnutí vedení FSv. Rozpoznání spamu ovšem není zcela spolehlivé a občas se vyskytne reklamace, že byl zadržen důležitý mail. Proto je zavedena možnost doručování spamu pro svou fakultní emailovou adresu povolit.

Pokud doručování spamu pro svou adresu povolíte, pak

  • vám budou doručeny všechny dopisy, které server přijal, včetně spamu,
  • výsledek testu, zda je dopis spam, bude zaznamenán v hlavičce mailu, např.
    X-FSv-Spam-Level: ***** (5.8)
  • na serveru Imap.fsv.cvut.cz budou takto označkované dopisy automaticky přesunuty do složky "spam"
  • cokoli je na serveru IMAP ve složce "spam" déle než měsíc, je automaticky smazáno.

Centrální filtr na serveru Mars

Veškerá pošta, která přichází na fakultu zvenku (a velká část pošty interní a odcházející) prochází přes hlavní poštovní server Mars.fsv.cvut.cz. Veškerá procházející pošta je zde testována na výskyt virů a spamu. O testování virů viz samostatný dokument mfiltr.php, zde se soustředíme na problematiku spamu.

Testování spamu podle adres

Z několika známých metod (whitelisting, blacklisting) u nás používáme tzv. greylisting.

Greylisting je založen na tom, že většina spammerů používá k rozesílání spamu specialisované programy, které se nestarají o dopisy, které byly přijímajícím serverem dočasně odmítnuty s odůvodněním "teď nemám čas, zkuste to za chvíli znovu". Typický spammerský program se o chyby nestará, dočasně odmítnuté dopisy už nezkusí znovu doručit a raději se snaží posílat další spamy na další adresy. Naproti tomu slušný poštovní server se poctivě snaží doručit každý dopis. Pokud se dopis nepodaří předat dál hned napoprvé, je dopis uložen do fronty a po nějaké době (typicky po několika minutách až hodině) se to zkusí znovu. Pokusy o doručení se opakují zpravidla několik dní.

Náš server si vede evidenci, kde si uchovává

  • IP adresu počítače, ze kterého mail přicházel,
  • emailovou adresu odesílatele,
  • emailovou adresu příjemce a
  • čas, od kdy záznam pro tyto tři adresy existuje.
Při prvním pokusu, tj. když takový záznam v databázi nemáme, je dopis dočasně odmítnut s chybovým kódem začínajícím číslicí 4, který jasně signalizuje, že pokus o doručení má být opakován. Pak asi minutu je doručení dopisu se stejnými údaji blokováno. Když se odesílající server pokusí o opakované doručení, je už zpravidla odblokováno a dopis je přijat k dalšímu zpracování, tj. je předán k testování obsahu (viry a spam) a v příznivém případě je pak doručen adresátovi.

Další dopisy se stejnými údaji (tj. se stejnými adresami) jsou pak zhruba měsíc automaticky přenášeny bez umělého zdržení. Po měsíci se záznam v databázi smaže a další dopis bude opět zdržen, tím se cesta zase na měsíc otevře a toto se opakuje. Na obsahu pozdrženého dopisu přitom vůbec nezáleží, greylisting se dívá jen na ty tři adresy a pouze na základě adres a stavu databáze se rozhoduje, zda obsah dopisu přijmout nebo nikoli.

Typický spammerský software běží na nějakém zavirovaném PC nějakého nic netušícího uživatele. Takový software se zpravidla vůbec nestará o nějaké chyby, pokud doručení selhalo, vícekrát už se o to nepokusí a takto pozdržený spam tedy vůbec nepřijde na náš server. Vzhledem ke statistikám greylistingu z toho vyplývá docela významná úspora výpočetního výkonu při následném testování obsahu mailu a také lepší účinnost následného filtrování spamu podle obsahu. Dokonce i v případě, že spammer se znovu zkusí dopis doručit, je naděje, že mezitím někdo jeho IP adresu nahlásil do některé veřejné databáze počítačů šířících spam a dopis tedy bude zachycen v následujícím testu.

Prozatím greylisting docela dobře funguje. Zavedením greylistingu se množství pronikajícího spamu zmenšilo o řád. A předpovědi, že greylisting po pár letech přestane být účinný, se (prozatím a trochu překvapivě) nenaplnily.

Trocha statistiky: Během typického všedního dne je greylistingem pozdrženo 20 -- 40 tisíc dopisů, ale jen necelá desetina z nich to zkusí znovu. Počty ovšem silně kolísají. Rekord v počtu pozdržených dopisů byl 163 988 během jednoho dne.

Nepříjemným důsledkem greylistingu je fakt, že i legitimní dopis je poprvé pozdržen a teprve další dopisy z téhož počítače na tutéž cílovou adresu jsou doručeny přímo. A občas se připojí i další komplikace technického rázu.

Pokud se vám to zdržení nelíbí, nejste sami, ale na druhé straně, se zdržením tohoto druhu je (a vždycky bylo) nutno u emailu počítat a to i na počítačích, které greylisting neprovozují.

Nicméně, máte možnost si pro svou fakultní emailovou adresu greylisting vypnout, případně zase zapnout.

Pokud odesílající server korektně funguje (tj. udržuje frontu čekajících dopisů a správně reaguje na chybové zprávy), greylistingem se žádný legitimní dopis neztratí, je pouze pozdržen. Je třeba přiznat, že se velmi řídce vyskytují chybné poštovní servery, které neimplementují frontu dopisů k odeslání a s těmi je problém. Z takových serverů se vždy první dopis ztratí a další dopisy pak měsíc procházejí. Chyba je na straně toho odesílajícího serveru. Mimochodem, dopis z takového serveru by se ztratil i v situaci, kdy by náš server byl chvilkově mimo provoz.

Dodejme, že dopisy odeslané z fakultních počítačů a z několika významných serverů ČVUT nejsou podrobovány greylistingu a jsou doručovány bez umělého zdržení.

Rozpoznávání spamu podle obsahu

K rozpoznávání spamu podle obsahu používáme program SpamAssassin. Pomocí tohoto programu děláme tři druhy testů: test založený na pravidlech, tzv. bayesovský test a dále testujeme IP adresu počítače, odkud mail přišel.

Test založený na pravidlech

hledá v dopise příznaky, které jsou pro spam typické. Jde např. o některá slova a slovní spojení (viagra, penis, loan, university diploma), některé další jevy (např. Subject (Věc) dopisu zcela chybí, a nebo je celý velkými písmeny) a také o formální chyby, které jsou pro spam typické (chybně napsané datum, datum v budoucnosti, chybně kódované diakritické znaky v hlavičce, rozpor v adrese odesílatele, rozpor v záznamech, přes které počítače mail prošel, apod.). Zvlášť upozorním na specialitu: České slovo "peníze" je testovacím programem pokládáno za podobné slovu "penis" a za jeho výskyt v Subjectu (Věc:) je přidělen nějaký ten trestný bodík. Za každý takový příznak dopis dostane nějaký počet trestných bodů, tyto body se sečtou a podle výsledku se s dopisem dále zachází.

Test IP adresy počítače, odkud mail přišel

Typický dopis prochází postupně přes několik poštovních serverů a IP adresa toho posledního, tedy toho, ze kterého jsme dopis obdrželi, se vyhledá ve speciálních databázích na Internetu, v tzv. dynamických blacklistech. Když nějaký počítač šíří spam, zpravidla se brzy do některé z těchto databází dostane. Jakmile tam je, pak dopisy přijaté z takového podezřelého zdroje dostanou trestné body. Mimochodem, zde se projevuje další příznivý efekt greylistingu. I když spammer zkusí dříve pozdržený dopis poslat za chvíli znovu, už může být jeho IP adresa na některém blacklistu, a my mu připočteme trestné body.

Bayesovský test

je v podstatě aplikací umělé inteligence a funguje zhruba takto: Dopis se rozloží na jednotlivá slova. Předpokládá se, že o jednotlivých slovech jsou předem známy pravděpodobnosti, že dopis, který toto slovo obsahuje, je spam. (Kde tyto pravděpodobnosti vezmeme, viz dále.) Z testovaného dopisu se pak vybere 15 slov s nejvyšší a 15 slov s nejnižší pravděpodobností, tyto pravděpodobnosti se dosadí do vzorce připisovaného panu Bayesovi a výsledkem je pravděpodobnost, že testovaný dopis je spam. V závislosti na této pravděpodobnosti se dopisu přiřadí další trestné body a ty se přičtou k trestným bodům z ostatních testů.

Rozesílatelé spamu neustále vymýšlejí nové a nové triky, kterými se snaží proniknout přes antispamové filtry. Účinnost testů založených na pravidlech postupně klesá, pravidla je třeba občas aktualizovat (což děláme). Bayesovské testu naopak dokáže přizpůsobovat (učit) i mírně poučený laik.

Co se spamem děláme

To záleží na součtu trestných bodů, které dopis dostal ve výše zmíněných testech. Předem poznamenejme čtyři důležité věci:
  1. Žádný test spamu už z principu není zcela spolehlivý, někdy je to věc subjektivního názoru.
  2. Tvůrci programu SpamAssassin, kterým spam testujeme, doporučují jako hranici spamu 5 trestných bodů.
  3. Podle rozhodnutí vedení fakulty ze září 2003 nepropouštíme do vnitřní sítě fakulty dopisy, které dostaly 5 a více bodů.
  4. Toto nařízení bylo příčinou řady reklamací, kdy byly zadrženy důležité legitimní dopisy. Proto umožňujeme toto nařízení individuálně porušit a doručovat všechno, tedy i rozpoznaný spam.

Co tedy konkrétně děláme:

  • Pokud není zapnuto doručování spamu, dopisy s 12 a více body jsou přijaty a tiše zahozeny.
  • Pokud není zapnuto doručování spamu, dopisy s 5 až 12 body odmítneme přijmout s odůvodněním "5.7.1 Spam not accepted here." a s touto chybovou zprávou se vracejí odesílateli. Odesílatel tak ví (může vědět), že dopis neprošel.
  • Dopisy s 1 až 5 body nepokládáme za spam a předáváme je k doručení.
  • Ostatní dopisy, tedy ty, které dostaly méně než jeden bod, rovněž předáváme k doručení.
  • Do hlavičky všech doručovaných dopisů, které dostaly aspoň jeden trestný od, doplňujeme údaj X-FSv-Spam-Level: a tolik hvězdiček, kolik ten dopis dostal bodů (zaokrouhleno na celé číslo dolů). Tím usnadňujeme příjemci, aby si, pokud chce, umí a může, zavedl své vlastní filtrování.

Rizika chybného rozpoznání

Exaktní metoda, která by spolehlivě odlišila spam a ham neexistuje, rozhodnutí, co je spam, může být subjektivní, názory se mohou lišit. S chybným rozpoznáním spamu je zkrátka třeba počítat.

Falešně negativní rozhodnutí znamená, že dopis je spam, ale naše testy to nepoznaly a dopis byl doručen adresátovi (často hned několika adresátům). To je sice trochu mrzuté, ale není to žádné neštěstí. Zkuste si vzpomenout, kolik jste dostávali spamu, dokud jsme jej nefiltrovali. Jednoduše ten dopis smazejte.

Falešně pozitivní rozhodnutí je naopak velmi závažné, jeho důsledkem totiž je, že legitimní a možná i důležitý dopis není doručen adresátovi. Proto dopisy, u nichž připouštíme chybu (tj. mezi 5 a 12 body), odmítáme přijmout a vracíme je s chybovou zprávou "5.7.1 Spam not accepted here". Odesílatel takto postiženého dopisu se tedy může dovědět, že dopis nedošel a proč nedošel, a může s tím něco udělat, např. poslat zprávu jinak, reklamovat, atd. To samozřejmě za předpokladu, že si tu chybovou zprávu přečte. :-)

Stinnou stránkou zprávy "5.7.1 Spam not accepted here" je fakt, že jejím prostřednictvím poskytujeme spammerům (rozesilatelům spamu) příliš mnoho informací o našem poštovním systému, což může (teoreticky) mít za následek větší příliv spamu. Je to však jistě lepší než když důležitý dopis tiše zmizí a odesílatel si myslí, že v pořádku došel -- přece se nevrátil s žádnou chybou.

Učení bayesovského filtru

Fungování bayesovského filtru je zcela závislé na pravděpodobnostech, že dopis, který obsahuje dané slovo, je spam. Tyto pravděpodobnosti se získávají v podstatě statistickými metodami a říká se tomu učení. Jde v podstatě o jednoduchou aplikaci umělé inteligence. Prakticky se to učení dělá tak, že se speciálním programem zpracuje dávka dopisů spolu s informací, zda to je spam nebo ham. Výhodou je, že bayesovský filtr lze takto učit i po troškách a filtr se tak může postupně zdokonalovat a přizpůsobovat měnícím se praktikám spammerů.

Samozřejmě je trochu problém, kde vzít patřičně kvalitní "potravu" pro učení, tj. patřičně representativní vzorky spamu a hamu.

Na první pohled se to nezdá, ale ham je pro učení stejně důležitý jako spam, ne-li důležitější. Kdybychom totiž k učení používali jenom spam, po nějaké době by všechno bylo pokládáno za spam. Doporučuje se dokonce, aby pro učení bylo použito více hamu než spamu. Ano, v situaci, kdy spam v přicházející poště suverénně převažuje, to není snadné, ale opravdu je nezbytné, aby pro učení bylo použito dostatečné množství legitimní pošty, tedy hamu. A také aby ten ham byl dostatečně representativní.

Ham i spam také musí pocházet ze stejného období a to nejen proto, že spammeři neustále mění své praktiky a snaží se filtr ošálit novými triky. Další důvod je ten, že kdybychom pro učení použili nový ham a sbírku starého spamu, filtr by se naučil, že nové dopisy spam nejsou a byl by málo účinný. A kdybychom to dělali opačně (nový spam a starý ham) výsledkem by bylo vyšší procento falešně positivních rozhodnutí.

Také je třeba se vyhnout dopisům, které by mohly učit chybně, například legitimním dopisům o problematice spamu, některým chybovým zprávám apod. Je to podobné, jako si živý učitel musí dávat pozor, co říká svým žákům.

Jak učíme bayesovský filtr

Potravu pro učení bayesovského filtru bereme z poštovního serveru IMAP.fsv.cvut.cz. Ti, kdo bayesovský filtr učí, mají ve svém INBOXu vytvořeny dvě speciální složky nazvané "2-Ham" a "2-Spam" a do těchto složek kopírují nebo přesunují (v případě spamu obvykle přesunují) dopisy, které chtějí předložit k učení. Každou noc krátce po půlnoci server tyto složky prohledá, všechny dopisy v nich obsažené zpracuje učícím programem a pak obsah těchto složek smaže. Pokud filtr učíte, dávejte zejména při kopírování hamu pozor, abyste místo kopírování neprovedli přesun -- tím byste totiž o ten přesunutý dopis o půlnoci přišli. Pokud se spletete, máte do půlnoci čas na nápravu. Podobně dávejte pozor a přemýšlejte předem, zda předloženým dopisem dosáhnete "žádoucího pedagogického efektu". Pokud si nejste jisti, raději ten dopis k učení nepředkládejte nebo požádejte o radu.

Výhody a nevýhody centrálního filtru

Výše popsaná filtrace spamu funguje na serveru, kterým procházejí všechny přicházející dopisy (a většina odcházejících). Výhodou je, že odfiltrované dopisy vůbec nedostanete, nezabírají vám místo a pokud čtete poštu přes pomalou linku z domova, za jejich přenos neplatíte. Zkrátka, pro uživatele jakoby ani nepřišly.

Další výhodou je, že centrální filtr funguje pro všechny uživatele, tedy i pro ty, kteří nechtějí nebo nejsou schopni se spamem jakkoli zabývat, něco si nastavovat nebo (ó hrůza) sami učit svůj vlastní bayesovský filtr.

Nevýhodou centrálního filtru je to, že je pro všechny stejný.

Naštěstí od června 2010 si každý může doručování spamu povolit a pak se v tom svinstvu dle libosti přehrabovat. No, ale když budete mít dojem, že vám byl zachycen hodně důležitý mail, možná to rádi uděláte.

Filtry na straně uživatele

Pokud vám vadí, že centrálním filtrem přece jen nějaký ten spam projde a chcete něco lepšího, máte v podstatě dvě možnosti:

  • používat (a učit) svůj vlastní bayesovský filtr obsažený v poštovním programu, např. v Mozille,
  • filtrovat dopisy podle údaje X-FSv-Spam-Level v hlavičce dopisu.

Vlastní bayesovský filtr v poštovním programu

Následující popis se týká bayesovského filtru v programu Mozilla Thunderbird. V jiných poštovních programech, pokud obsahují bayesovský filtr, to může vypadat jinak, ale princip bude podobný.

V terminologii Thunderbirdu se spam nazývá "junk" (čti džank, česky odpad, veteš), v české versi Thunderbirdu to je "nevyžádaná pošta".

Po instalaci Thunderbirdu je filtr aktivní, ale nově došlé dopisy, které pokládá za spam, Thunderbird zpočátku nezahazuje ani nikam nepřesouvá, pouze je označuje ikonkou ohníčku (plamínku).

Nelekněte se, pokud vám zpočátku Thunderbird označí jako spam všechny dopisy psané v češtině. To je normální, čeština je pro něj exotika. Prostě ho opravte, on se to rychle naučí.

Pokud Thunderbird označil ohníčkem legitimní dopis, klikněte myší na ten ohníček, ohníček zmizí a Thunderbird zároveň vezme na vědomí, že tento dopis nemá pokládat za spam. Pokud naopak nějaký spam nebyl označen ohníčkem, klikněte na místo, kde by ten ohníček měl být, kytička se objeví a Mozilla vezme na vědomí, že toto spam je. Místo strefování do ikonky ohníčku taky můžete mačkat klávesy "j" (zapálí) nebo "J" (zhasne). V obou případech se někde uvnitř Thunderbirdu přepočítají pravděpodobnosti. Tím opravováním chyb tedy Thunderbird učíte. Jde to poměrně rychle, množství chybně rozpoznaných dopisů velice rychle klesá.

Pro pokročilé: ohníčky nemusíte opravovat po jednom. Když si označíte blok dopisů a zmáčknete "j" nebo "J", Thunderbird se naučí všechny označené dopisy.

Samozřejmě musíte počítat s tím, že i dobře naučený filtr tu a tam něco rozpozná špatně. Nebuďte líní a opravujte jej. Zlepšíte tím jeho účinnost.

Dělá-li filtr už jen málo chyb, můžete zvýšit komfort tím, že si Thunderbird nastavíte tak, aby spam automaticky přesouval do nějaké složky. Nastavuje se to přes Nástroje / nastavení účtu / Nevyžádaná pošta. Defaultně Thunderbird přesouvá do složky "Junk", ale můžete si nastavit složku pojmenovanou jakkoli jinak.

Do té složky se občas podívejte, zda se tam omylem nedostal legitimní dopis. Pokud ano, zhasněte u toho dopisu plamínek, Thunderbird se tím poučí a novější verse Thunderbirdu dokonce sama dopis přesune do složky s doručenou poštou (jinak to můžete udělat sami).

Uživatelům serveru IMAP.fsv.cvut.cz doporučuji nastavit si pro automatické odkládání spamu složku "spam". Server IMAP v této složce automaticky maže všechny dopisy, které tam jsou déle než měsíc. Kromě toho Thunderbird takto nastavenou složku zobrazuje v horní části seznamu složek, tj. mezi ostatními speciálními složkami.

Nevýhodou bayesovského filtru na straně klienta obecně je to, že jeho inteligence je vázána na konkrétní instalaci poštovního programu (a navíc zpravidla na konkrétní poštovní účet), takže například filtr na počítači doma a ve škole budete muset učit každý zvlášť. Pokud však čtete poštu na serveru typu imap (obecném, nejen na našem fakultním), můžete si učení usnadnit tím, že si do vhodných složek na imap-serveru přichystáte sbírku spamu a sbírku hamu a tyto dvě sbírky pak použijete k učení.

Filtrace podle hlavičky X-FSv-Spam-Level

Jak bylo uvedeno výše, dopisy, které při testu spamu získaly 1 a více bodů, pokud jsou doručovány adresátům, je do hlavičky dopisu přidán údaj X-FSv-Spam-Level:, přičemž počet bodů je vyjádřen jednak desetinným číslem, jednak počtem hvězdiček. Konkrétně to vypadá asi takto:
X-FSv-Spam-Level: ******* (7.9) BAYES_99,MIME_HTML_ONLY,MISSING_DATE

Běžné poštovní programy ukazují z hlavičky dopisu pouze několik málo údajů. Typicky jen From:, To:, Date: a Subject:, v české versi Od:, Komu:, Datum: a Věc:. Skutečná hlavička dopisu ovšem obsahuje údajů mnohem více. K zobrazení kompletní hlavičky včetně případného údaje X-FSv-Spam-Level: je obvykle třeba použít speciální povel, který se v různých poštovních programech liší. V Thunderbirdu na to je dvojhmat Ctrl-U. V Outlooku klikněte na zprávu pravým tlačítkem myši, zvolte Vlastnosti a záložku Podrobnosti. V programu Pegasus Mail pro Windows na to je dvojhmat Ctrl-H,

Údaj X-FSv-Spam-Level lze využít k jednoduché filtraci podle počtu hvězdiček.

Dejme tomu, že se rozhodnete, že pro vás budou hranici spamu představovat tři body, tedy tři hvězdičky. Nastavíte si tedy filtr tak, aby dopis, který v hlavičce obsahuje textový řetězec "X-SPAM-Level: ***", byl filtrem přesunut do speciální poštovní složky nazvané třeba "spam".

Složku, do které si necháte dopisy s více hvězdičkami přesunovat, je samozřejmě nutné občas prohížet, zda se do ní omylem nedostal nějaký legitimní dopis. A také je třeba nashromážděný spam mazat. Máte-li složku "spam" umístěnu na serveru IMAP.fsv.cvut.cz, pak dopisy starší než 30 dní maže server automaticky. Jinde se musíte o mazání postarat sami.

Zkušenosti ukazují, že nastavením nižší hranice než 5 bodů odfiltruje více spamu a riziko falešně pozitivního rozpoznání je docela přijatelné. Konkrétní nastavení této hranice (zda čtyři, tři nebo dokonce dva body) je schválně ponecháno na vás. Nebojte se to vyzkoušet. Konec konců, pokud budete pravidelně sledovat obsah složky "spam", o nic nepřijdete a nastavení můžete snadno změnit.

Většina poštovních programů výše popsaný filtr umí nastavit.

Pokud však čtete poštu na fakultním IMAP serveru IMAP.fsv.cvut.cz, pak vřele doporučuji nastavit si výše uvedený filtr přímo na tomto serveru (pak už to totiž nemusíte dělat v poštovním programu na vašem počítači). Filtr na serveru IMAP.fsv.cvut.cz se nastavuje přes www rozhraní na serveru WebMail.fsv.cvut.cz. V horním vodorovném menu klikněte na Filtry.

V dalším textu je popsáno jak si nastavit filtr v některých poštovních programech.

Dodejme, že populární Outlook Express zde má další mínus: v Outlook Expressu filtrovat dopisy podle údaje X-FSv-Spam-Level není možné. Znovu doporučuji Outlook Express nepoužívat.

Nastavení filtru pro Thunderbird

V horním menu zvolte Tools / Message filters (v české versi Nástroje / Poštovní filtry). Vyberte pro který poštovní účet chcete nastavit filtr a klikněte na New (v české versi Nový).

Jako název filtru (Filter name) napište cokoli, třeba X-FSv-Spam-Level. Klikněte na rozbalovací políčko, kde vidíte Subject (Předmět) a úplně dole zvolte Customize... (Přizpůsobit...). Objeví se okénko, kde do horní řádky napište "X-FSv-Spam-Level" (bez těch uvozovek) a klikněte na Add (Přidat) a pak OK, čímž to okénko zmizí. Nyní se vraťte k tomu rozbalovacímu políčku a vyberte položku X-FSv-Spam-Level, kterou jste tam právě přidali. Ve vedlejším rozbalovacím políčku ponechte Contains (Obsahuje). No do dalšího políčka napište příslušný počet hvězdiček (***). Tím je definována podmínka "když hlavička X-FSv-Spam-Level obsahuje tři (nebo více) hvězdiček".

Nyní je třeba určit, co se má stát s dopisem, který tu podmínku splňuje. K tomu slouží dolní část formuláře, kde zaškrtněte Move to folder (Přesunout do složky). Pokud ještě nemáte složku (folder) nazvanou "spam", klikněte na New folder (Nová složka), napište název složky (tj. spam) a vyberte, zda se má složka vytvořit na serveru nebo mezi lokálními složkami (Local folders). Pokud používáte POP3, musíte zvolit Local folders. Pokud k poště přistupujete chytřejším protokolem IMAP, doporučuji vytvořit složku spam na serveru. Potvrďte vytvoření pravidla tlačítkem OK. Tím se vrátíte do okna Filter rules (Třídící filtry zpráv), kde v seznamu filtrů se objeví nově vytvořené pravidlo (filtr). Toto okno zavřete (křížkem vpravo nahoře nebo Alt-F4) a je to.

Dodejme, že Mozilla počínaje versí 1.4 obsahuje velmi kvalitní bayesovský antispamový filtr popsaný výše.

Dále, máte-li složku "spam" na serveru Imap.fsv.cvut.cz, asi už víte, že právě popsaný filtr lze výhodněji nastavit přímo na serveru a že dopisy starší než 30 dná jsou zde serverem automaticky mazány.

Nastavení filtru pro Pegasus Mail pro Windows

V menu zvolte postupně: Tools / Mail filtering rules / Edit new mail filtering rules / Rules applied when folder is opened. Aktivujte tlačítko "Add rule" (Přidat pravidlo), zvolte typ pravidla "Regular expression match", do rubriky "This rule triggers when the following expression" vyplňte text podle tohoto příkladu:

X-FSv-Spam-Level: [*][*][*]*

Zde si počet hvězdiček, které jsou v hranatých závorkách, upravte podle své libosti. Výše uvedená ukázka nastavuje pravidlo, které se uplatní při třech a více hvězdičkách. Ta poslední hvězdička, která není v hranatých závorkách, už se nepočítá, ale je velice důležitá: ta znamená, že za těmi třemi hvězdičkami může následovat cokoli, tedy mimo jiné libovolný počet dalších hvězdiček (nebo také nic).

Nakonec nastavte akci, která se má vykonat s dopisem, který má ty hvězdičky. Nejčastěji asi půjde o přemístění (Move) do složky, kde budete spamy skladovat. Jiná možná akce je prosté smazání (Delete), ale pozor, zde hrozí ztráta možná i užitečné informace.


Změny:


30/01/2011 - Oprava překlepů a aktualizace rekordního počtu zpráv zachycených greylistingem.
15/06/2010 - Celý dokument aktualizován.
14/06/2010 - umožněno uživatelské nastavení greylistingu a zda doručovat spam.
07/07/2004 - zaveden greylisting (funguje od 2/7/2004 od 18:00).
02/03/2004 - Opravy překlepů a kosmetika.
29/02/2004 - Dokument antispam.php vznikl oddělením problematiky spamu od staršího dokumentu mfiltr.php, který se zabývá filtrací virů a spamu. Starší změny týkající se spamu jsou pro přehlednost uvedeny níže, třebaže byly uvedeny v dokumentu mfiltr.php
29/02/2004 - doplněn popis bayesovského filtru spamu na serveru Mars.
20/02/2004 - dopisy, které v antispamovém testu dostaly 10 a více bodů, jsou serverem Mars tiše zahazovány.
17/02/2004 - Uveden do provozu bayesovský filtr spamu na serveru Mars. Účinnost antispamového filtru se tím podstatně zlepšila.
16/09/2003 - Na příkaz vedení fakulty nejsou poštovním serverem propouštěny dopisy, které v antispamovém testu dostaly 5 a více bodů. Tyto dopisy jsou odmítány se zprávou "5.7.1 Spam not accepted here".
09/09/2003 - Ke značkování spamu je použita hlavička X-FSv-Spam-Level. Dosavadní X-Spam-Level zůstává.
06/11/2002 - zavedena filtrace virů a spamu, viz mfiltr.php. Spam je značkován v hlavičce dopisu údajem X-Spam-Level.

Jiří Demel <demel na fsv.cvut.cz>