Hlavní navigace

Stop podvrženým e-mailovým adresám ve spamu

8. 7. 2009
Doba čtení: 6 minut

Sdílet

Spam je už mnoho let velkým problémem celého internetu. Schránky se plní nevyžádanou poštou, servery jsou zbytečně zatěžovány poštou, kterou pak zahazují a uživatelé jsou obtěžováni. Jednou z hlavních příčin je možnost rozesílat poštu pod libovolnou identitou, která spammerovi nepatří. Jak tomu zabránit?

Aktuální stav spamu

V současné době se odhaduje množství spamu přibližně na 94 % veškeré elektronické pošty. Nejvíce spamu přitom už dlouhou dobu přichází z USA, což potvrdily i nové statistiky. Objevují se stále agresivnější podoby nevyžádané pošty a objevují se důmyslnější ochrany proti nim. Se systémovým řešením však zatím nikdo nepřišel, a tak se musíme spokojit s menšími opatřeními, která nám dohromady poskytnou alespoň nějakou ochranu.

Proč se spamu tak daří

Největším problémem spamu je to, že je v takové míře vůbec možný. Protokol SMTP, který je pro posílání pošty používán, totiž naprosto nepočítá s možností podvržení falešných e-mailových adres, či jiných technik používaných při masovém šíření nevyžádané pošty. Výsledkem je tak naprostá anarchie uživatelů.

Většina nevyžádané pošty dnes odchází z takzvaných botnetů, což jsou ohromné sítě napadených uživatelských počítačů, které jsou kontrolovány několika málo osobami. Největší botnety dnes čítají stovky tisíc jednotlivých PC. Pokud k tomu přičteme fakt, že kdokoliv může posílat jakoukoliv poštu komukoliv v neomezené míře, dostáváme přímo výbušné prostředí.

Na nedávné konferenci Internet a Technologie 09 o tom hovořil Petr Hruška ze sdružení CZ.NIC. Pětadevadesát procent spamu je odesláno ze zombie počítačů v botnetech, to je hlavní zdroj spamu. Nejvíce spamu odchází ze Spojených států, řekl Hruška. Podle něj navíc většina spamu pochází přibližně od pouhých 400 lidí.

Navíc je možno bez potíží falšovat také adresu odesílatele, čímž nemusíme k rozesílání spamu využívat reálně existujících vlastních adres, ale můžeme si vypůjčit libovolnou cizí adresu. Jistě se vám například stalo, že vám přišel mail o nedoručení pošty, kterou jste neodesílali. Někdo to udělal za vás.

Problém je v anonymitě e-mailu. To je stejné jako u papírové pošty, podle které se původně mail vytvářel, potvrdil na konferenci IT 09 Petr Hruška.

Poslední zmíněný problém zamezuje i pokusům o upozornění uživatele o tom, že je jeho počítač napaden a rozesílá nevyžádanou poštu. Pokusy o kontakt vždy skončí v naprosto cizí schránce. Osobně jsem se také setkal s tím, že jsem byl velmi nevybíravě upozorněn na problém u někoho jiného. Ty vořechu, jestli dostanu od tebe ještě jeden email, tak dostaneš obratem takového trojana, že ten svůj server už nerozdejchneš. Poslední varování. Varování sice přísné, ale nikoliv mířené na správného uživatele. Ten je obvykle také obětí, nikoliv viníkem.

Jak na něj?

Na to neexistuje jednoduchá odpověď, velmi by však pomohlo, kdyby nebylo možno rozesílat poštu z cizích (tedy falšovaných) adres. To by znamenalo, že každý spammer (nebo alespoň oběť botnetu) by musel využívat svou vlastní adresu, a tím by se odhalil. V jiném případě by alespoň bylo možné oběti sdělit, že je vlastně onou obětí a bylo by dobré s tím něco dělat.

Bohužel, jak bylo řečeno, protokol SMTP neobsahuje žádný mechanismus, který by podobnému jednání dokázal zabránit. Existuje však poměrně zajímavá technologie, ukrývající se pod zkratkou SPF, která dovoluje našeho falešného hráče odhalit.

Jak funguje SPF

SPF je zkratkou pro Sender Policy Framework a definuje jej RFC 4408. V principu se jedná o mechanismus, který pevně svazuje doménu s SMTP servery, které pro ni mohou odesílat poštu. Majitel domény tak dokáže distribuovat informaci, která říká: pošta od @root.cz může pocházet jen ze serveru mail.root.cz, pokud ne, je to podvržený spam.

Implementace SPF je navíc velmi jednoduchá, technicky se jedná o DNS záznam přidaný k inkriminované doméně. Je definován jednoduchý jazyk, který dovoluje pravidla přesně nadefinovat, vymezit třeba i konkrétní rozsah IP adres, které mohou poštu rozesílat nebo zvolit za odesílatele stroj, na který odhazuje MX záznam domény.

Jazyk umožňuje také odkazovat na jiné domény, přebírat jejich pravidla a podobně. Důležité ovšem je, že se z těchto informací příjemce pošty dozví, které odesílací servery jsou spárovány s doménou, která je uvedena v adrese. Pak je na příjemci, jak se se získanou informací vyrovná. Standardní chování by mělo být takové, že je mail automaticky označen jako spam.

Kde je to k vidění?

Pokud se chcete podívat na funkční implementaci SPF, můžete si pomocí příkazu dig prohlédnout příslušný DNS záznam:

$ dig TXT gmail.com
...
;; ANSWER SECTION:
gmail.com.  300  IN  TXT  "v=spf1 redirect=_spf.google.com"
...

Vidíte, že záznam existuje a obsahuje přesměrování na další záznam, ve kterém by už měly být potřebné informace. Pokračujeme dotazem na tuto subdoménu:

$ dig TXT _spf.google.com
...
;; ANSWER SECTION:
_spf.google.com. 300  IN  TXT  "v=spf1 ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ?all"
...

Tady už vidíme podstatně více informací, konkrétně se jedná o rozsahy IP adres, ze kterých Google obvykle odesílá poštu svých uživatelů. Na konci navíc vidíme příznak ?all, který určuje, že maily mohou být posílány i z jiných adres a ty nejsou striktně zablokovány. To by bylo způsobeno příznakem -all. Antispamový filtr (třeba spamassassin) tak může zohlednit odesílající IP adresu jako pozitivní či negativní bod k hodnocení mailu.

Pokud bychom chtěli striktně určit, že jen MX servery mohou poštu i odesílat a všechno ostatní je podvrh, mělo by pravidlo vypadat takto:

root.cz. IN TXT "v=spf1 a mx -all"

Kdo to používá?

Ačkoliv u nás není SPF příliš rozšířená metoda boje proti spamu, ve světovém měřítku se jí poměrně slušně daří prosadit. Petr Hruška z CZ.NIC si na zmíněné konferenci IT 09 posteskl nad nízkým nasazením SPF v Česku. Bohužel v Česku mají SPF záznamy jen 2 až 3 procenta domén. V zahraničí je to přitom 10 až 20 %.

Přitom implementací je více než dost. Známý antispamový filtr SpamAssassin od verze 3.0 implementuje podporu SPF. Nejedná se tedy o žádnou novinku, SA této řady vychází od roku 2004. Některá MTA podporují SPF přímo: Courier, MS Exchange a další, do jiných je možno podporu přidat: Postfix, Sendmail, Exim a Qmail.

Podle nejnovější studie je rozšíření SPF na velmi vysoké úrovni – více než 50 % světových domén SPF záznam obsahuje. Téměř polovina těchto domén (více než milion) navíc používá pravidlo -all. Podle stejného průzkumu ale většina takto nastavených záznamů (přes 70 %) neobsahuje žádné povolené servery. Administrátoři tak sdělují, že na těchto doménách se elektronická pošta neprovozuje.

Výhody a nevýhody SPF

Mezi hlavní výhody patří velmi jednoduchá implementace na straně odesílatele i příjemce, možnost ověřit správu už při přijetí pouhé její hlavičky, celková nenáročnost řešení na server i datovou kapacitu. Systém sice musí provádět nové dotazy na DNS, výsledky je ale možno cachovat.

root_podpora

SPF má ale i své nevýhody: musí jej podporovat odesílatel i příjemce a striktně omezuje SMTP servery, které může uživatel využít. To je sice ochrana proti spammerům, zároveň to však brání uživatelům využívat například SMTP server poskytovatele. Další kritizovanou vlastností je použití sémantického jazyka v TXT záznamu, který pro takové využití není určen.

Ano či ne?

SPF je určitě velmi dobrou metodou pro boj se spamem. Přináší povinnost dodržovat při odesílání pošty jistá pravidla, která by měla být samozřejmostí, ale nejsou. Jednoduché nasazení a poměrně široké rozšíření předurčují tento mechanismus ke světlé budoucnosti.

Byl pro vás článek přínosný?

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.