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 jménem jeho domény 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 e-mailu z vaší domény. Příjemce ověřuje zprávy podle vaší DMARC politiky a na základě ní s nimi nakládá. Pokud máte nastavené zasílání reportů, můžete dostávat pravidelné zprávy o tom, které zprávy validací neprošly.
Podmínkou pro zavedení DMARC je nastavený DKIM podpis a platný SPF záznam.
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ávy, 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žbu, která vám zprávy podepisuje 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. 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)
- 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ů (u Seznam.cz nejsou podporovány)
- 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.
Agregované reportování (aggregate)
Agregovaný report obsahuje statistické informace o zprávách, které jste do schránek na Seznamu 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 reportu jsou stručně popsány v příslušném RFC.
Forenzní reportování (forensic)
Forenzní reporty v současnosti nejsou podporovány a tedy ani zasílány. Postupujeme takto mj. z bezpečnostních důvodů, podobně jako i další poskytovatelé e-mailových služeb.
Časté dotazy
Chodí mi reporty na zprávy, které neposílám
Chodí-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 v
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ě.
Jak vypnout zasílání reportů
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.