Víte, že teoreticky je velmi snadné, aby někdo zneužil vaši e-mailovou adresu a vaším jménem rozesílal SPAM? Prakticky naštěstí existují systémy, které těmto zneužitím brání. V následujícím článku se zaměříme na jeden z těchto takzvaných ověřovacích systémů „DKIM“.
Jelikož Seznam.cz oznámil, že se chystá tento systém implementovat, je vhodné být připraven a znát podrobnosti.
DKIM zabrání zneužívání adres
Jedním z hlavních problémů, který musí řešit poskytovatelé freemailů je ten, že spameři mohou zfalšovat jakoukoliv adresu. Existuje však několik systémů, které umožňují příjemcům pošty rozpoznat, zda je odesílatel pošty oprávněn použít konkrétní adresu. Mezi tyto takzvané ověřovací systémy řadíme například DKIM, SPF a DMARC.
DKIM je technologie podobná SPF. SPF má však jednu velkou nevýhodu – pokud máte nastavené přeposílání e-mailů, pošta odchází z nového serveru a ten není uveden v SPF DNS záznamu. Přijímací server pak zjistí, že pošta přichází z nepovoleného serveru a obvykle jí označí za spam. DKIM však tímto netrpí.
SPF záznam je svázán s konkrétními IP adresami, ze kterých může pošta odcházet. Naproti tomu DKIM používá metodu elektronického podpisu. Ten se generuje na straně odesílatele, ale není pevně svázán s konkrétní IP adresou. Přeposlání jednou podepsané pošty tak toto nenarušuje.
Pokud posíláte své babičce pohled z dovolené, na závěr se podepíšete. Stejně tak funguje DKIM – je to podpis odesílatele, ovšem elektronický.
DKIM je klíč v DNS
DKIM vychází z technologie Yahoo a Cisco Systems a je jednoduchým rozšířením, které nijak nezasahuje do mailového systému a je s ním plně kompatibilní. V poště se projevuje pouze přidáním hlavičky, tzv. DKIM-Signature. Ta obsahuje elektronický podpis generovaný SMTP serverem odesílatele.
DKIM-Signature: v=1; a=rsa-sha256; d=example.net; s=brisbane;
c=relaxed/simple; q=dns/txt; l=1234; t=1117574938; x=1118006938;
h=from:to:subject:date:keywords:keywords;
bh=MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=;
b=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4zGeeruD00lszZ
VoG4ZHRNiYzR
DKIM tedy nemá žádné nároky na koncového uživatele. Na rozdíl od klasických elektronických podpisů nemusí koncový uživatel vůbec nic řešit. U klasického privátního certifikátu musí jeho fungování podporovat e-mailový klient odesílatele i příjemce.
Veřejná část klíče serveru je uložena jako TXT DNS záznam v doméně, pro kterou je pošta odesílána. Každý příjemce tedy může klíč z DNS záznamu snadno získat a ověřit pravost přijatého e-mailu. Klíč je uložen v subdoméně, která začíná jedinečným selektorem a pokračuje povinnou částí _domainkey. Selektor je vždy součástí hlavičky e-mailu a příjemce ho nalezne za parametrem s=. DNS dotaz je možné sestavit až ve chvíli, kdy nám přijde e-mail a my známe selektor, kterým se zeptáme DNS na příslušný záznam. Zde je ukázka dotazu na konkrétní klíč.
$ dig TXT gamma._domainkey.gmail.com
...
gamma._domainkey.gmail.com. 300 IN TXT "k=rsa\; t=y\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIhyR3oItOy22ZOaBrIVe9m/iME3RqOJeasANSpg2YTHTYV+Xtp4xwf5gTjCmHQEMOs0qYu0FYiNQPQogJ2t0Mfx9zNu06rfRBDjiIU9tpx2T+NGlWZ8qhbiLo5By8apJavLyqTLavyPSrvsx0B3YzC63T4Age2CDqZYA+OwSMWQIDAQAB"
Pro příjemce je tedy ověření pouze zasláním jednoho DNS dotazu navíc, který následně zkontroluje v hlavičce e-mailu. Podle výsledku se rozhodne, co dál s konkrétním e-mailem udělá.
Nasazení DKIM
Nasazení a fungování DKIM je mnohem bezpečnější než SPF. Pokud totiž do DNS zadáte špatný SPF záznam, nebudou vám e-maily chodit vůbec. S DKIM nic takového nehrozí. Ověření může provádět server nebo e-mailový klient. Ve většině případů však vše zařizuje server. Zpětná kompatibilita je možná, protože pokud strana příjemce DKIM vůbec nezná (nepoužívá tento ověřovací systém), může příjemce DKIM podpis ingnorovat a nic se nestane.
To, jak server s ověřenou nebo neověřenou zprávou naloží, je pouze na administrátorovi. Pevná pravidla v tomto směru neexistují. DKIM řeší pouze samotné ověření. Obvykle správný DKIM podpis znamená například zvýhodnění ve spamfiltru, bonusové body na SpamAssasinu a jiné.
Pokud užíváte správný DKIM podpis, vaše zprávy mohou snadněji procházet přes antispamové filtry. Jeho užíváním si tedy můžete jen přilepšit.
E-mailový klient (Seznam.cz, Gmail apod.) pak nejčastěji podobně jako u HTTPS dá uživateli najevo, že se jedná o ověřený e-mail, který pochází od správného odesílatele. Takto postupuje například Gmail, který svým uživatelům zobrazuje podpisovou doménu u e-mailu, který jim dorazí do schránky. Z pohledu koncového uživatele by nasazení DKIM mělo znamenat zlepšení situace nebo by měl být výsledek neutrální. Uživatel to nejčastěji pozná tak, že mu regulerní pošta nepadá do spamu (pokud k tomu dříve docházelo).
Existuje také nepovinné rozšíření DKIM zvané ADSP. To v DNS záznamu říká příjemci, jak by se měl k poště z naší domény chovat. Je možné nastavit tři různé politiky:
- unknown dává stejný výsledek, jako by ADSP nebylo použito,
- all říká, že veškerá pošta je podepisována,
- discardable je nejrestriktivnější; pokud podpis chybí, poštu zahazuj.
DKIM se kombinuje s DNSSEC (zabezpečená verze DNS), aby nebylo možné podvrhnout falešné DNS záznamy. Celé podepisování by totiž ztrácelo smysl, pokud by bylo možné DNS záznam podvrhnout a vyměnit tak klíče odesílatele za jiné.
DKIM není antispam
DKIM není primárně vytvořen pro ochranu proti spamu, je využíván především jako nástroj pro boj s nevyžádanou poštou. DKIM tedy není antispamová ochrana, ale umožňuje ověřit pravost odesílatele. Použití při filtraci spamu je však velkým bonusem. Pozor, i spamové zprávy mohou být podepsány DKIM. Jsou však pevně svázány s konkrétní doménou a tu je poté možné snadno odfiltrovat.
DKIM ověří, zda je odesílatel pravý. Použijme příklad zasílání pohledu pro vaši babičku – připojíte-li na pohled váš (DKIM) podpis, babička si může být jistá, že píšete vy a ne nějaký vtipálek.
DKIM tedy přidává možnost dohledat odesílatele spamu. Díky podpisu dohledáme zodpovědnou osobu a tu můžeme potrestat. V dnešní době viry nejčastěji získají přihlašovací údaje uživatelů a poštu odešlou přes standardní server.