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.
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.
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, 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ě.
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).
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.
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.
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.
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ů.
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.
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.
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
- 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-


