DMARC

Mechanismus DMARC (Domain-based Message Authentication, Reporting and Conformance) slouží k validaci e-mailových zpráv, k čemuž využívá kombinaci již existujících principů SPF a DKIM. Umožňuje majiteli domény zabezpečit elektronickou komunikaci tím, že pomůže lépe zachytávat nevyžádanou poštu zneužívající jeho doménu.

Aktivovat lze také zasílání reportů o odesílaných zprávách a chování příjemců. Díky těmto možnostem může správce domény kontrolovat, kdo využívá doménu k odesílání zpráv, kolik zpráv odchází a kam a jak jsou zprávy vyhodnocovány na straně příjemců.

Jak DMARC funguje?

Aktivujete-li na své doméně DMARC, získáte široké možnosti nastavení validace zpráv. Tuto validaci provádí příjemce, kterému dorazí zpráva z adresy na vaší doméně. Příjemce následně zprávu vyhodnocuje podle pravidel, která jste v DMARCu domény určili. Nakonec vám příjemce vygeneruje a zašle reporty, pokud jejich zasílání máte nastaveno. Pro aktivaci DMARC je také nutné zavést DKIM a zprávy jím podepisovat a na doméně vytvořit záznam pro SPF politiku.

V rámci DMARC se kontroluje tzv. DKIM alignment a SPF alignment. Porovnává se, zda u přijaté zprávy souhlasí odchozí domény uvedené na různých místech (např. doména v hlavičce zpráva, DKIM podpisu a SMTP komunikaci).
 
  • DKIM alignment porovnává, zda se shoduje doména v DKIM podpisu s doménou odesílatele v hlavičce zprávy (tzn. doména v DKIM/d= v hlavičce a doména header FROM).
  • SPF alignment porovnává, zda se shoduje doména odesílatele z hlavičky zprávy s obálkovým odesílatelem (tzn. header FROM a MAIL FROM v SMTP komunikaci), příp. u zprávy s prázdným MAIL FROM s doménou v HELO/EHLO na začátku SMTP komunikace. Zároveň zpráva musí přijít z autorizované IP adresy dle SPF.

Kdy DMARC projde?
Stačí, aby zpráva prošla alespoň jedním z testů výše (buď DKIM alignment nebo SPF alignment). Není bezpodmínečně nutné mít pozitivní výsledek obou kontrol, což někdy nebude ani možné:
  • používáte-li externí mailingovou služby, které vám zprávy podepisují svým DKIM podpisem, ale vy jste v nich uveden jako odesílatel, výsledek DKIM alignment bude negativní, tj. fail,
  • používáte-li externí mailingovou službu, která v MAIL FROM posílá svoji adresu (pro zachytávání chyb o nedoručení), ale v hlavičce máte adresu na své doméně, kontrola SPF alignment bude negativní, tj. fail.
 

Nastavení DMARC

Aktivaci DMARCu provedete přidáním záznamu v DNS domény. Je-li vaším registrátorem Seznam, více o editaci vašich DNS záznamů se dozvíte v článku DNS záznamy.

DNS záznam (typ TXT) pro DMARC vypadá zhruba následovně:
Doména Typ TTL Data
_dmarc TXT 1800 v=DMARC1; p=quarantine; sp=none; adkim=r; aspf=r; fo=1;…


Příklad záznamu DMARC (pole Data):

v=DMARC1; p=quarantine; sp=none; adkim=r; aspf=r; fo=1; rua=mailto:dmarc@vesela-domena.cz; ruf=mailto:dmarc@vesela-domena.cz; rf=afrf; pct=100; ri=86400


Doména

  • nastavujete-li DMARC pro hlavní doménu, např. vesela-domena.cz, tak za název _dmarc nebudete psát nic dalšího
  • nastavujete-li DMARC pro subdoménu, např. test.vesela-domena.cz, za _dmarc bude název subdomény (_dmarc.test)

Parametry v DNS záznamu
  • v – verze protokolu, v tuto chvíli může nabývat pouze hodnoty DMARC1
  • pct – % zpráv, které budou podléhat kontrole (100 je pro 100 %, tzn. všechny zprávy)
  • ruf – e-mailová adresa pro zasílání forenzních reportů
  • rua – e-mailová adresa pro zasílání agregovaných reportů
  • p – zvolená politika DMARC (určuje, jak bude příjemce zacházet se zprávami, které kontrolou neprojdou)
    • none – žádná politika, DMARC funguje pouze pro účely reportování či testování a příjemce na jeho výsledek nebere ohled
    • quarantine – příjemce na výsledek kontroly bere ohled, zpravidla zprávu, která kontrolou neprošla, může označit za spam
    • reject – příjemce zprávu, která kontrolou neprošla, odmítne a nedoručí
  • sp – zvolená politika pro subdomény (např. neco.vesela-domena.cz), hodnoty stejné jako pro parametr p
  • adkim – mód kontroly pro DKIM alignment
    • r (relaxed) – méně restriktivní; shoda nastane, pokud souhlasí mateřská doména (např. cokoliv.vesela-domena.cz = vesela-domena.cz)
    • s (strict) – striktní; shoda nastane jen pokud je doména totožná
  • aspf – mód kontroly pro SPF alignment
    • r (relaxed) – méně restriktivní; shoda nastane, pokud souhlasí mateřská doména (např. cokoliv.vesela-domena.cz = vesela-domena.cz)
    • s (strict) – striktní; shoda nastane jen pokud je doména totožná
  • rf – formát pro reporty ke zprávám, v tuto chvíli může nabývat pouze hodnot afrf
  • ri – interval pro zasílání agregovaných reportů o zprávách, které neprošly kontrolou DMARC, ve vteřinách
  • fo – mód zasílání forenzních reportů (= reporty pro každou zprávu zvlášť)
    • 0 – report je příjemcem odeslán, pokud zpráva zcela neprojde DMARC kontrolou (tzn. obě kontroly, DKIM alignment a SPF alignment, selžou); výchozí hodnota
    • 1 – report je příjemcem odeslán, pokud zpráva neprojde kontrolou SPF alignment nebo DKIM alignment (tzn. zpráva ovšem stále mohla celkově úspěšně projít DMARC kontrolou)
    • d – report je příjemcem odeslán ke každé zprávě, která neprojde DKIM shodou
    • s – report je příjemcem odeslán ke každé zprávě, která neprojde SPF shodou
 

Reportování

Důležitou součástí DMARC mechanismu je i reportování toho, co se stalo se zprávami u jednotlivých příjemců. Dostávat můžete agregované (aggregate). tj. hromadné reporty v nastavených intervalech, ale i tzv. forenzní reporty (forensic) zvlášť pro každou zprávu.

Agregované reportování (aggregate)
Agregovaný report obsahuje statistické informace o zprávách, které jste nám zaslali v určitém časovém intervalu a jak byly tyto zprávy vyhodnoceny. Toto hromadné reportování aktivujete přidáním parametru rua v DNS záznamu, kam uvedete cílovou e-mailovou adresu pro zasílání reportů, např. rua=mailto:mail@adresa.cz

Ve výchozím nastavení zasíláme denní reporty. Chcete-li získávat reporty za delší časový interval, změňte záznam přidáním parametru ri a vyplněním požadovaného intervalu ve vteřinách. Např. parametr ri=604800 bude reporty zasílat každých 7 dní.

Reporty posíláme z adresy abuse@seznam.cz ve formátu XML. Podrobnosti k formátu a obsahu zasílaných informací jsou stručně popsány např. na stránkách Returnpath.com či příslušného RFC.

Forenzní reportování (forensic)
Forenzní reporty se posílají zvlášť ke každé e-mailové zprávě, u níž selžou DMARC kontroly dle vámi nastaveného módu. Cílovou e-mailovou adresu pro zasílání reportů uvádíte v DNS záznamu do parametru ruf, mód kontroly nastavujete parametrem fo. Většinou by vám měl postačovat mód fo=0, v němž zasíláme report pouze ke zprávám, které neprojdou přes DMARC a mohly být penalizovány.
 
Forenzí reporty neznamenají, že vaše zprávy neprochází přes DMARC a nejsou doručovány. To závisí na tom, jaké parametry reportování jste si nastavili v DNS. Reporty mohou přicházet i ke zprávám, které DMARC kontrolou prošly úspěšně a byly doručeny, máte-li to nastaveno (fo=1, fo=d nebo fo=s).

Forenzní reporty zasíláme z adresy forensicdmarc@seznam.cz a každý obsahuje dvě AFR přílohy – ty stáhněte a otevřete v textovém editoru. V jedné bude hlavička originální zprávy, abyste poznali, k jaké vaší zprávě se report vztahuje. Druhá příloha obsahuje samotný report – výsledky DKIM alignment a SPF alignment a rovněž výsledek celé zprávy (jak jsme zprávu vyhodnotili).

!! Nevidíte-li u reportu přílohu, vaše poštovní rozhraní ji buď nezobrazuje nebo ji smazal antispam. Zkuste zprávu stáhnout a otevřít v poštním klientovi, nebo kontaktujte správce svého poštovního serveru. !!
 
Příklad forenzního (forencic) reportu:

Feedback-Type: auth-failure
User-Agent: szn-mime/2.0.46
Version: 1
Original-Mail-From: ----@vesela-domena.cz
Original-Rcpt-To: ----------@seznam.cz
Source-Ip: 93.99.---.---
Reported-Domain: vesela-domena.cz
Authentication-Results: email.seznam.cz 1;
    spf_align=fail;
    dkim_align=fail

Delivery-Result: reject

Kromě MAIL FROM, RCPT TO  a odchozí IP zprávy v reportu najdete i výsledky kontrol (spf_align=fail/pass a dkim_align=fail/pass) a výsledek pro celou zprávu (Delivery-Result: reject/delivered/spam). Dle nich máte možnost vyhodnotit, co se se zprávou stalo a zda mechanismus DMARC funguje, jak má.
   

Časté dotazy

Chodí mi příliš mnoho reportů
Pokud vám přichází na e-mailovou adresu obrovské množství reportů, ať už od Seznamu nebo jiných příjemců, zřejmě máte aktivní forenzní reportování. To přichází ke každé zprávě, která neprojde nastavenými pravidly kontroly dle toho, pro jaké kontroly máte reporting zapnut.

Např. odešlete-li 10 tisíc zpráv na Seznam, vaše doména v odesílateli má v DNS nastaven reporting fo=1 a 8 tisíc z těchto zpráv neprojde DKIM shodou, zašleme vám 8 tisíc reportů. Toto podrobné reportování může přijít vhod, data můžete průběžně analyzovat. V řadě případů ovšem není detailní reporting nutný a využijete jej nejspíše až ve chvíli, kdy se setkáte s obtížemi, které chcete podrobně diagnostikovat.

Celkové vypnutí reportingu provedete odebráním příslušných parametrů z DMARC záznamu v DNS zóně domény. Forenzní reporty vypnete odebráním parametru ruf, agregované reporty smazáním parametru rua.

Chodí mi reporty na zprávy, které neposílám
Chodíli-li vám reporty ke zprávám, které jste neodeslali, znamená to, že se někdo snaží zprávy odesílat za vás. Příjemce zasílá report na e-mailovou adresu, která je uvedena v DNS záznamu domény, z níž mu zpráva přišla. Pokud se tedy někdo pokusí rozeslat zprávy s vaší e-mailovou adresou v poli Odesílatel, reporty k těmto zprávám obdržíte vy.

Mechanismus DMARC slouží i k odhalení těchto případů. Budete-li ve svém DMARCu používat politiku reject či quarantine, příjemce těchto falešných zpráv je s větší pravděpodobností nedoručí nebo označí za spam, protože neprojdou DMARC kontrolou. Díky DMARCu existuje totiž hned několik kontrol, kterými zpráva prochází, a u falešné zprávy je velká šance, že jimi neprojde úspěšně.


Pomohl Vám tento článek? Ne

Kontaktujte nás