> Zpět  


Dobře filtrovaná pošta ušetří spoustu času i peněz



Článek vznikl pro časopis Computer World, vyšel v čísle 17/2004 (30.4.2004)

Ve filmu Oh Mr. Porter z třicátých let se vyskytuje následující dialog mezi hlavním hrdinou (Will Hay) a pošťákem (Dave O'Toole):

Pošťák: Ztrácíte čas.
Porter: Hm, a co děláte Vy?
Pošťák: Koukám se, jak ztrácíte čas.

Na následujících řádcích se pokusíme z pošťáka ve Vaší síti udělat někoho, kdo nestojí a nekouká jak maříte čas čtením a mazáním spamů, odstraňováním virů a podobnými kratochvílemi, které se obecně dají považovat za ztrátu času.

Pro uživatele je email naprosto transparentní systém srovnatelný s obyčejnou poštou: vhodí pohled do schránky a adresátovi jej donese pošťák. Co se děje s pohlednicí cestou většinou nikoho nezajímá, důležité je, že ji adresát ve své schránce najde. Nikdo také nemá zájem dostávat v dopisové bomby jako evropští poslanci a téměř nikdo nemá radost z toho, že má obden nacpanou schránku s výhodnými nabídkami nákupu kilogramu zeleniny za pouhých něco devadesát. Vzhledem k tomu, že e-mail je digitální analogií obyčejné pošty, došlo samozřejmě i zde k rozšíření obdobných negativních jevů. Výhodná nabídka hypermarketu se v digitálním světě jmenuje spam a dopisová bomba virus. Vzhledem ke snadnosti jejich implementace a použití dnes představují tyto vymoženosti až dvě třetiny poštovního provozu.

Ke kořenům

V době kdy Jon Postel vytvářel RFC821, které popisuje implementaci poštovní výměny v rámci sítě ARPANET (SMTP - Simple Mail Transfer Protocol), určitě nepředpokládal, že bude o dvacet let později téměř noční můrou některých uživatelů. SMTP je společně s DNS a několika dalšími protokoly základem dnešního Internetu.
Z hlediska složitosti implementace se jedná o poměrně triviální záležitost, protokol je znakově orientovaný a zajišťuje přepravu pošty z jednoho místa na druhé, případně předání pošty blíže ke konečnému cíli.

Spam a viry

Dnes jak již bylo řečeno přibližně 60 procent emailového provozu tvoří právě spam a viry.Ačkoliv se může zdát, že viry a spam jsou dva odlišné problémy, dochází k jejich propojování a spolupráci - v současné době jsou již vytvářeny viry, které rozesílají spamy a nevyužívají tak síťové prostředí pouze ke svému šíření.
Nevyžádaná pošta stojí americké uživatele přibližně 10 miliard dolarů ročně, Evropa následuje s přibližně 3 miliardovými výdaji. Škody způsobené viry přesáhly v loňském roce 2 miliardy amerických dolarů.
V současné době je ve většině případů primárním zdrojem infekce elektronická pošta, IRC a P2P. Jakmile dojde k infekci uvnitř organizace, je zvládnutí situace mnohem obtížnější, protože virus je schopen využít i další mechanismy přenosu, které jsou většinou nepoužitelné k průniku do vnitřní sítě. Většinou se jedná o využití chyb v rozšířených komunikačních protokolech, které jsou používány v chráněných prostředích. Zde se jedná zejména o různé implementace sdílení souborů.

Infrastruktura

Infrastruktura, která zabezpečí naši vnitřní sít před virovou a spamovou hrozbou by měla být víceúrovňová. Žádný antivirový systém nemusí být neomylný a je vhodné mít pro případ selhání další linie obrany.
Jak již bylo uvedeno výše, základním vstupním vektorem pro virový kód je elektronická pošta. Logicky se nabízí první linii obrany proti virům a nevyžádané poště vybudovat na externím mailovém serveru. Tento server by měl být rozhodně umístěn v demilitarizované zóně.

E-mailový server

Základním kamenem úspěchu je nestat se šiřitelem spamů. V současné době to znamená především nemít server zkonfigurován jako open relay - tedy server, kterému je úplně jedno, od koho a ke komu je poštovní zpráva určena.
Dnes existuje několik organizací, které shromažďují informace o poštovních serverech, které se chovají jako open relay. Poštu bychom měli příjmat pouze pro své domény a pouze z těchto domén by pošta měla odcházet.
Dalším krokem je ověřování, zda odesílající server není open relay. Tím, že nebudeme zpracovávat příchozí maily z open relay serverů, zlikvidujeme většinu spamů a virů. Tato kontrola se většinou odehrává přes DNS, odtud název DNSBL - DNS Blocking Lists.
Dále je vhodné kontrolovat, zda existuje doména, ze které mail přichází. Pokud doména neexistuje, tak stejně nebude kam poslat případnou odpověď, takže takový mail můžeme také zahodit. Poněkud drsnější administrátoři vyžadují, aby mail přišel z mail serveru dané domény, tedy aby existoval tzv. MX záznam pro odesílající server.
Právě kvůli kontrolám založeným na reverse lookupu klienta posílajícího poštu je třeba aby externí server byl opravdu „první na ráně,'' pokud nebude server příjmat poštu přímo z Internetu, ztrácí většina kontrol přes DNS smysl. Tyto kontroly jsou též nepoužitelné jestliže pro nás poštu příjmá poskytovatel připojení k Internetu a přeposílá ji na náš poštovní server.
Další možností je kontrola obsahu zpráv - vyhledávání různých řetězců v obsahu a případné zahození zprávy. Například zpráva, jejíž předmět obsahuje více než pět vykřičníků, určitě není objednávka od obchodního partnera. Stejně tak asi neočekáváme, že Vám někdo pošle spořič obrazovky. Při kontrole obsahu zprávy již musíme postupovat opatrně a vzít v úvahu zaměření a komunikační strukturu firmy - distributor léčiv svému správci poštovního serveru asi nepoděkuje za to, že server zahazuje každý mail obsahující slovo „Viagra“.
Pokud máme server nastaven podle výše uvedených doporučení, měli bychom zaregistrovat zhruba dvoutřetinový pokles v „dodávkách'' virů a nevyžádané pošty. To je výsledek, ke kterému je možno dospět bez použití specializovaného antivirového nebo antispamového software. Další doborou zprávou je, že toto řešení nás nestálo nic víc, než hardware a čas na práci, protože takové řešení lze postavit na nekomerčních unixech typu Linux, FreeBSD s použitím opět nekomerčních MTA jako je například postfix či qmail (i když v tomto případě bych doporučil postfix).

Antivirový software

Existuje velké množství různých antivirových produktů, které jsou vhodné pro různá prostředí. My hledáme něco, co by se hodilo pro náš vyladěný mailserver, případně http proxy.
Prakticky všichni výrobci antivirových programů jsou schopni nabídnout svůj antivirový engine obalený jednoduchým smtp serverem. Takovému produktu se říká antivirová brána, nicméně je navýsost vhodné tuto bránu postavit až za náš poštovní server. Hlavní výhodou nasazení antivirové brány je to, že si nepustíme virus do vnitřní sítě. Co všechno by ale antivirová brána měla umět?

  • Detekce, popřípadě odstranění viru z přenášených dat.
  • Upozornění administrátora a příjemce mailu na nalezený virus.
  • Automatický update virové báze a detekčního engine.
  • Možnost integrace s dalšími produkty (mail servery, firewally, management atd.)
  • Podpora pro dekompresi různých archivů - gZIP, tar, bzip2, zip a další.

Některé antiviry umožňují přiložit k mailu patičku, která oznamuje, že mail byl zkontrolován. Tato patička ovšem slouží spíše k uchlácholení uživatelů, protože logické místo pro takovou informaci je v hlavičce zprávy, kde může být jednoduše strojově zpracována.
Diskutabilní je možnost upozornění odesílatele na zavirovanou zprávu. Její použití sice dodává administrátorovi pocit, že bojuje za dobrou věc a ještě nedávno to tak fungovalo, ale objevily se viry, které z těchto notifikací udělaly nástroj obtěžování. Například virus MyDoom po napadení počítače pokračuje v šíření tak, že vezme adresy z adresáře napadeného stroje a pošle na ně kopii sama sebe. Potud žádný problém není. Navíc ale použije jako odesílatele libovolnou adresu z téhož adresáře.
Uživatel A má infikovaný počítač a adresář s kontakty na uživatele B a C. Virus z jeho počítače pošle svoji kopii uživateli B s podvrženou adresou odesílatele, kde uvede C. Chudák C pak dostává od všech antivirových systémů vynadáno, co že to zase poslal.
Důležitá vlastnost je upozornění administrátora na nalezený virus. Některé produkty umožňují varovat administrátora až v případě většího množství incidentů (tzv. outbreak alert), tedy například ve chvíli kdy do hodiny dorazí deset zavirovaných mailů. Administrátor potom dopředu ví, že během dvou dnů virus přinese někdo do firmy například na disketě z domova a může se na to připravit.
Zajímavou alternativou komerčních řešení může být open source software Clam AntiVirus, nebo některý ze souborových komerčních scannerů ve spojení s balíkem AMaViS, což je produkt, který umí vytvorřit můstek mezi poštovním serverem a standardním antivitrovým programem, který se neumí chovat jako mailová brána. Finanční výhody použití levného desktopového antiviru na místo drahé brány mohou být značné, ale je nutno upozornit na to, že ne každé prostředí je pro takovouto implementaci vhodné.
Implementací antivirového řešení na náš poštovní server jsme zlikvidovali přísun virů a zbývá tedy zamezit přísunu nevyžádané pošty.

Obrana proti spamu

O nevyžádané poště již zmínka padla. Také jsme si ukázali, jak se dá efektivně odstranit přibližně dvě třetiny spamu. Nyní se podíváme na zoubek té zbývající třetině.
V současné době většina řešení pro filtrování nevyžádané pošty používá kombinaci několika přístupů k filtrování:

  • content scoring
  • bayesian filter, nebo jiná statistická metoda
  • online ověření

Content scoring je statická metoda, kdy kontrolujeme obsah zprávy a sledujeme její různé charakteristiky a přiřazujeme skóre. Po zkontrolování zprávy provedeme vyhodnocení a měli bychom být schopni říci, zda se jedná o spam nebo legitimní email.
Výhodou statického hodnocení spamu je jeho snadná implementace, nevýhodou je ovšem relativně nízká schopnost detekce a přizpůsobení se změnám ve struktuře nevyžádané pošty.
Metodou, která tento problém částečně řeší je filtr založený na statistické klasifikaci jednotlivých mailů. Vtip spočívá v tom, že bayesiánský filtr si buduje vlastní seznam testů, který je dynamický a reaguje na změny.
Řekněme, že na začátku máme 1000 spamů a 1000 mailů, které jsou legitimní. Filtr prohlédne obě skupiny a vytvoří si seznam klasifikací, které dále používá. Tento dynamický seznam se upravuje s každým mailem, který filtrem projde a umožňuje tak dosáhnout velmi slušných výsledků při klasifikaci.
Vzhledem k tomu, že téměř každý antispamový filtr používá bayesiánskou klasifikaci, je vhodné mu poskytnout zpětnou vazbu a umožnit uživatelům přeposlat nevyžádanou poštu, kterou filtr nebyl schopen klasifikovat správně a naučit jej, že se jedná o spam. Vytvoříme například interní adresu spam@nejaka-firma.cz a požádáme uživatele, aby na ní přeposíali spamy. Veškerým obsah této schránky budeme „krmit'' bayesiánskou databázi.
Třetí metoda je kontrola proti on-line katalogu. Potřebujete agenta, který provede ověření na základě signatur, které si vymění s online databází. Takovou databází je například Vipul's Razor.
Velmi známým software pro kontrolu pošty je SpamAssassin. Tento software kombinuje všechny tři výše uvedené postupy a při vhodné konfiguraci s ním můžete zahodit okolo 98 procent nevyžádané pošty.

O poště závěrem

Implementací výše popsaných řešení jsme schopni vybudovat poštovní server, který bude schopen nevpustit infikovanou a nevyžádanou poštu. Potřebujeme k tomu server s unixem, postfix nebo jiný vhodný MTA, antivirový software a filtr pro kontrolu nevyžádané pošty. Celá struktura se dá implementovat na jednom zařízení, ale nemusí to být vždy vhodné.
Výše popsaný postup vyžaduje jisté znalosti a množství práce. Někteří výrobci proto vrhli na trh zařízení, která jsou „hotová'' a stačí je zapojit. Obyčejně obsahují minimálně jeden antivirový software a filtr nevyžádané pošty kombinující statické hodnocení a bayesiánskou klasifikaci. Většina těchto filtrů je „předučena'' na několika milionech spamů, takže bude od počátku dosahovat velmi dobrých výsledků při filtraci nevyžádané pošty. Tato zařízení jsou ovšem dosti drahá a v některých situacích by se jednalo o kladivo na vrabce.

Kontrola http a ftp

Další nezanedbatelnou cestou virů do vnitřní sítě je protokol http. Zaměstnanci si neustále stahují něco z webu - pracovní dokumenty z extranetů partnerů, vtípky, čtou si noviny.
Drtivá většina firemních extranetů obsahuje dokumenty v nativních formátech produktové rodiny Microsoft Office. Vzhledem k tomu, že tento formát je jednou z nejlepších platforem pro transport makrovirů, měli bychom věnovat určitou pozornost i kontrole http provozu.
Antivirová řešení kontrolující http a ftp provoz se většinou chovají jako proxy servery. Stejně jako v případě pošty se většinou jedná o antivirový engine obalený jednoduchou proxy. Je vhodné v takovém případě použít vlastní proxy server a to zejména ve chvíli, kdy potřebujeme využít některé další vlastnosti a finesy proxy serverů, které jednoduché proxy obalující antivirový engine neumějí.
Další problém, se kterým se setkáme jsou Java Aplety a ActiveX controls, které dělají neplechu. Vzhledem k tomu, že ActiveX neobsahuje prakticky žádné bezpečnostní mechanismy, je vhodné jeho používání regulovat. Toho se dá dosáhnou buď absoultním zákazem, nebo implementací některého z komerčních řešení pro kontrolu Java a ActiveX apletů.

Spolupráce s firewally

Existuje ještě jedna cesta, kterou je možno využít a to je integrace antivirového řešení s firewallem. Mnoho výrobců firewallů má definované API, které slouží k integraci různých produktů s daným firewallem. Výrobci antivirových systémů tato API využívají a k dostání jsou různé antivirové produkty, které jsou schopny přímo s firewallem komunikovat.
Firewall, který propustí http spojení, se zeptá serveru, který provádí kontrolu obsahu dat, zda jsou data v pořádku. K tomu využije API publikované výrobcem firewallu. Antivirový systém data zkontroluje a vyřkne verdikt, podle kterého firewall dále postupuje. Tento postup samozřejmě není omezen pouze na http, dá se použít i pro kontrolu pošty, či FTP.
Tento systém má velkou výhodu v tom, že je pro uživatele transparentní - žádná konfigurace proxy serverů ve všech browserech. To je bezesporu výhoda pro velkou firmu s mnoha počítači, která proxy nepoužívala a najednou by kvůli antivirové ochraně měla překonfigurovat stovky zařízení.
Nevýhody u kontroly poštovního provozu jsou zřejmé: absence kontrol založených na DNS a nutnost konfigurovat základní chování poštovního serveru na firewallu. Navíc je nutno poznamenat, že rozhraní některých firewallů jsou relativně špatně škálovatelná a mají problémy při vyšší zátěži.
Obecně lze říci, že pro kontrolu pošty jsou tato řešení nevhodná, nicméně v některých situacích, kdy je třeba řešit kontrolu http a ftp protokolů, se mohou hodit.

Další okrajová řešení

Neměli bychom zapomenout, že existují zařízení, která sice nejsou antiviry, ale jsou schopna nám ve velké míře pomoci při detekci nebo odstraňování následků virové pohromy. Jedná se zejména o IPS systémy, které jsou schopny detekovat některé červy a uzavřít infikované segmenty sítě.
Existuje velké množství integrovaných zařízení učených pro menší firmy, či malé pobočky velkých firem, která v sobě integrují firewall, antivir a IDS. V případě kontroly http provozu je vhodné pomyslet i na takzvaný URL screening - tedy kontrolu toho, kde uživatelé brouzdají.
Nikdy nesmíme zapomenout na to, že žádné řešení není úplně stoprocentní a měli bychom budovat další obrané valy - v případě virů je vhodné se zaměřit na cíl, tedy na osobní počítače koncových uživatelů. Pravidelně patchované PC s aktuální verzí antivirového software nám pravděpodobně v budoucnosti ušetří spoustu práce.


Referenční odkazy:

ftp://ftp.rfc-editor.org/in-notes/rfc821.txt - RFC821 - Simple Mail Transfer Protocol
http://www.postfix.org - Postfix - SMTP MTA
http://ordb.org - Open Relay Database - DNSBL
http://opm.blitzed.org - Blitzed Open Proxy Monitor - DNSBL
http://www.spamhaus.org - Spamhaus SBL/XBL - DNSBL
http://cbl.abuseat.org - Composite Blocking List - DNSBL
http://www.clamav.net - Clam AntiVirus - GPL antivirus
http://www.amavis.org/howto - AMaViS - rozhraní mezi MTA a souborovými antiviry
http://razor.sourceforge.net - Vipul's Razor - online katalog pro kontrolu spamu
http://www.spamassassin.org - Spamassassin - filtr nevyžádané pošty
http://crm114.sourceforge.net - CRM114 - filtr nevyžádané pošty
http://www.nuclearelephant.com/projects/dspam/index.html - DSPAM - filtr nevyžádané pošty


Základní pojmy

  • open relay - poštovní server, který přijme a pokusí se doručit jakoukoliv poštu. Dříve se open relay servery používaly pro doručování mezi různými nestále propojenými sítěmi. Dnes slouží k šíření spamu.
  • DNSBL - DNS Blocking List - systém, který na základě DNS dotazu poskytne dostatek informací k určení zda máme co do činění s open relay.
  • MX záznam - tzv. Mail Exchanger record. Ukazuje na server kam je možno poslat poštu pro danou doménu.
  • MTA - Message Transfer Agent - označení poštovního serveru. Zde se nejedná pouze o SMTP, ale i o ostatní poštovní technologie, například X.400.
  • UCE - Unsolicited Commercial Email - nevyžádaná pošta, neboli spam
  • Content scoring - metoda klasifikace emailů založená na pravidlech, která přidělují trestné body za některé vlastnosti zprávy. Při nasbírání dostatečného množství bodů je zpráva označena jako spam.
  • Bayesiánský filtr - metoda filtrování spamů na základě pružných klasifikačních metod, které jsou schopny se přizpůsobit postupným změnám ve struktuře spamů.



-p6-
obrazek