Antispamová ochrana

Poštovní systémy FI a MU poskytují některé služby pro omezení šíření zavirované pošty a pro alespoň částečnou detekci nevyžádané pošty – spamu. Kontrola probíhá na dvou úrovních: první je univerzitní poštovní server a druhá je fakultní poštovní server.

Tato ochrana není a nemůže být stoprocentní. Stále platí: neotevírejte přílohy, které jste dostali od neznámých odesílatelů (nebo od na první pohled známých odesílatelů, přičemž zpráva vypadá podezřele).

Pokud je vaše pošta přesměrována pomocí souboru .forward, k antispamové kontrole nedochází. Jestli chcete poštu přeposílat a zároveň kontrolovat, použijte program procmail.

Kontrola příchozí pošty na fakultní úrovni

Pokud e-mail pochází z vnější sítě a je-li doručován do cílové schránky serverem Anxur nebo Aisa (sem spadá i přeposlání pomocí Procmailu), projde standardně antispamovou kontrolou o těchto fázích:

  1. whitelist/blacklist
  2. SpamAssassin
  3. dSpam

Nastavení antispamové kontroly

Nejhrubší konfiguraci filtru lze provést pomocí aplikace https://fadmin.fi.muni.cz/auth/sys/mail_nastaveni.mpl. Mezi její schopnosti patří:

  • specifikace schránky, kam bude dSpam a/nebo SpamAssassin odkládat spamy
  • úplné vypnutí některého nebo obou filtrů
  • ovládání zacházení filtru s duplikovanými maily
  • a další
Nastavení provedená touto aplikací se ukládají v souboru ~/.procmail.setup.

Nastavení přeučování přetažením zprávy

Pokud přistupujete k poště protokolem IMAP (to platí i když používáte webového klienta), můžete si položkou přeučit dSpam přesunem zprávy nastavit přeučování filtru dSpam jen přetažením zprávy z/do složky se spamem (implicitně mailbox.spam nebo po zrotování mailbox.spam.1). Nemusíte pak řešit přeposílání spamů a nespamů na adresy spam@fi.muni.cz a notspam@fi.muni.cz.

Přeučování přesměrováním zprávy

Přeučovat statistický filtr můžete i přesměrováním (redirect, bounce) na adresy spam@fi.muni.cz a notspam@fi.muni.cz. Toho dosáhnete v muttu klávesou b, v Thunderbirdu zpřístupní tuto funkci plugin mailredirect).

Whitelisting a blacklisting

Whitelist je seznam adres, ze kterých žádná příchozí pošta nemá být označována za spam. Ve whitelistu mohou existovat i víceznačné položky označující celou doménu použitím znaku '*' – položka "*@example.muni.cz" tedy whitelistuje veškeré adresy v doméně example.muni.cz. Existují dvě úrovně whitelistu – globální (udržovaný CVT, platný pro všechny uživatele e-mailu na Anxurovi či Aise) a uživatelský (platný pro příchozí poštu konkrétního uživatele). Na FI je whitelist realizován pomocí programu SpamAssassin (viz dále). Svůj whitelist si můžete nadefinovat přidáním libovolného počtu řádků následujícího tvaru do souboru ~/.spamassassin/user_prefs:

whitelist_from WhitelistovanyOdesilatel@example.com
whitelist_from *@whitelistovana.domena.example.com

Aby byl tento konfigurační soubor vzat v úvahu, je nutné:

  • domovskému adresáři a adresáři ~/.spamassassin nastavit právo "x" pro uživatele spamd:
    setfacl -m u:spamd:x ~ ~/.spamassassin
  • souboru ~/.spamassassin/user_prefs přidělit právo "r" pro ostatní:
    chmod o+r ~/.spamassassin/user_prefs

Obdobným způsobem lze whitelistovat i na základě textu v mailové hlavičce Subject. Jakýkoliv mail, jehož předmět bude obsahovat zadaný text jako podřetězec, se rovněž vyhne antispamové kontrole. Formát řádků je následující:

whitelist_subject WhitelistovanyRetezec

Blacklist (dle odesilatele i dle předmětu) má duální funkci k whitelistu: vyhovující zpráva bude bez dalších kontrol označena za spam. Konfigurace blacklistu je shodná s whitelistem, pouze místo whitelist_from pište blacklist_from a místo whitelist_subject potom blacklist_subject.

SpamAssassin

Tento filtr provádí heuristickou analýzu. Definuje pevnou množinu pravidel (většinou přítomnost nějakého slova nebo slovního spojení), jejichž výskyt je v mailech zjišťován. Tato množina je fixní; může ji měnit jen ručně správce (s celofakultní platností) nebo uživatel (s platností pro svoji adresu). Každé pravidlo má přiřazenu váhu (reálné číslo). Kladná váha označuje jevy, které jsou charakteristické pro spam, záporná váha jevy, které jsou typické pro regulérní poštu. Součet vah všech pravidel, kterým mail vyhovuje, se nazývá skóre. Je-li skóre větší než určitá hranice, je mail označen za spam a už vůbec nevstupuje do procesu kontroly programem dSpam.

V mailu, který byl zpracován SpamAssassinem, najdete hlavičku X-Spam-Status, z níž lze vyčíst výsledky analýzy mailu.

X-Spam-Status: Yes, score=14.3 required=7.0 tests=FI_NOTFROMFI,
	FORGED_MUA_OUTLOOK,FORGED_OUTLOOK_HTML,FORGED_OUTLOOK_TAGS,FORGED_RCVD_HELO,
	HTML_70_80,HTML_FONT_BIG,HTML_MESSAGE,INVALID_DATE,MIME_HTML_ONLY,
	NO_REAL_NAME,UNDISC_RECIPS autolearn=disabled version=3.1.9
  • mail byl označen za spam
  • jeho skóre činí 14,3
  • jevy, které se na skóre podílely, jsou vyjmenovány v seznamu tests

Chování SpamAssassinu si můžete do jisté míry nakonfigurovat v souboru ~/.spamassassin/user_prefs. Možnosti konfigurace jsou popsány v dokumentaci, viz Mail::SpamAssassin::Conf — můžete definovat vlastní pravidla nebo měnit skóre již existujících. Zde popíšeme možnost upravit hraniční skóre pro rozpoznání spamu:

Změna minimálního spamového skóre

Implicitně jakýkoli mail se skóre rovným nebo vyšším než 7 je označen za spam. Pokud chcete tuto hranici změnit, vložte do konfiguračního souboru řádek (namísto X dosaďte žádoucí reálnou hodnotu):
required_hits X
Zvyšování hraničního skóre je relativně bezpečné; zvýší se pravděpodobně počet spamů, které nebudou rozpoznány. Snižovat hranici se nedoporučuje.

dSpam

Statistický bayesovský filtr dSpam taktéž rozpoznává v mailech textové podřetězce (tzv. jevy), kterým přiřazuje jisté skóre a na základě zvážení celkového skóre stanoví, zda zkoumaný mail je či není spamem. Avšak množina jevů a jejich skóre se proměňují bez zásahu správce nebo uživatele do konfigurace. Filtr si jevy i skóre definuje/upravuje ve fázi učení na základě zkoumání mailů, u nichž administrátor nebo uživatel stanoví příslušnost do kategorie spam nebo nespam. Zdrojem učících spamů jsou:

  • iniciální množina trénovacích e-mailů sesbíraná správcem
  • maily přicházející na jistou e-mailovou adresu (tzv. honeypot) v doméně FI, která nepřísluší žádnému uživateli a 
  • maily přicházející na adresu spam@fi.muni.cz

Zdrojem učících nespamů jsou:

  • iniciální množina trénovacích e-mailů sesbíraná správcem
  • maily přicházející na adresu notspam@fi.muni.cz

Každý mail, který je dSpamem zpracován, je obohacen o hlavičky, které uvádějí verdikt hodnocení dSpamu a také zdůvodnění tohoto verdiktu:

X-DSPAM-Result: Spam
X-DSPAM-Factors: 15,
	liable+for, 0.00448,
	liable, 0.00673,
	shall+not, 0.00738,
	Offers+e, 0.99000,
	Offers+Microsoft, 0.99000,
	MSN+shall, 0.99000,
	mail+communications, 0.99000,
	WA+98052, 0.99000,
	target="_blank">More+Newsletters, 0.99000,
	This+shall, 0.99000,
	Feature+Offers, 0.99000,
	not+unsubscribe, 0.99000,
	content+nor, 0.99000,
	©2008, 0.99000,
	Newsletters+|, 0.99000
Mail s těmito hlavičkami:
  • nevyhověl whitelistu ani blacklistu a SpamAssassin jej označil za nespam
  • byl dSpamem označen za spam
  • tento verdikt byl stanoven na základě nalezení textových vzorů, které jsou vyjmenovány v hlavičce X-DSPAM-Factors

Ty vzory, u nichž je v hlavičce uvedeno číslo větší jak 0,5, mail staví více na stranu spamu; ostatní vzory na stranu nespamu. Čím vzdálenější od 0,5 uvedené číslo je, tím větší vypovídací hodnotu vzor nese.

Kontrola příchozí pošty na celouniverzitní úrovni

Před vpuštěním do sítě univerzity je každý příchozí mail prohlédnut na serveru relay.muni.cz antivirovým programem a projde zevrubnou antispamovou rutinou (zejména tzv. greylistingem). Je-li výsledek testů negativní, je mail přeposlán dál do univerzitní sítě, a to mj. s těmito přidanými hlavičkami:

  • X-Muni-Spam-TestIP – IP adresa serveru, odkud relay.muni.cz obdržel daný mail;
  • X-Muni-Envelope-From – e-mailová adresa odesilatele specifikovaného v obálce mailu.

Těchto informací lze při citlivém zacházení využít k dodatečnému filtrování pošty na uživatelské úrovni před doručením do schránky (např. procmailem).