V tomto článku se dozvíte:
- Co je DMARC report?
- Jak DMARC reporty číst?
- Praktický příklad DMARC reportu
- Nástroje na čtení DMARC reportu
DMARC (Domain-based Message Authentication, Reporting & Conformance) je standard pro ověřování e-mailů, který pomáhá zabránit zneužití vaší domény pro phishing a spam. Při správné implementaci DMARC mohou vlastníci domén dostávat pravidelné reporty, které jim poskytují zpětnou vazbu o tom, jak jsou jejich e-maily ověřovány. V tomto článku vám vysvětlím, jak DMARC reporty číst, co jednotlivé části znamenají, a ukážu vám několik nástrojů, které vám usnadní jejich analýzu.
Aby vám reporty DMARC vůbec začaly chodit, musíte mít správně nakonfigurovaný DMARC záznam ve vašem DNS. Tento záznam definuje politiku ověřování e-mailů a specifikuje, kam se mají reporty zasílat. Záznam vypadá například takto:
Název TTL Typ Data
_dmarc 300 TXT v=DMARC1; p=none; rua=mailto:dmarc-reports@mojedomena.cz; ruf=mailto:dmarc-errors@mojedomena.cz; pct=100;"
Tento záznam říká, že:
- p=none – e-maily budou přijaty, i když selžou ověřování (pro monitorování).
- rua=mailto:dmarc-reports@mojedomena.cz – sem se budou zasílat denní agregované reporty.
- ruf=mailto:dmarc-errors@mojedomena.cz – sem se budou posílat podrobné forenzní reporty při chybě ověření.
- pct=100 – pravidlo platí pro 100 % odeslaných e-mailů.
Pokud tento záznam v DNS nemáte, reporty nebudou odesílány. Jakmile je vše správně nastaveno, obdržíte agregované reporty do specifikovaného e-mailu, které vám poskytnou přehled o tom, jak vaše e-maily prochází ověřovacími kontrolami.
Než se pustíme do čtení DMARC reportů, je důležité mít základní znalosti o třech klíčových technologiích pro zabezpečení e-mailů: SPF, DKIM a DMARC. Pokud nejste obeznámeni s tím, co tyto zkratky znamenají a jak fungují, doporučuji přečíst si tento podrobný návod, který vše jednoduše vysvětluje SPF, DKIM a DMARC: Zabezpečení e-mailů.
Co je DMARC report?
DMARC report je soubor, který poskytují e-mailové servery příjemců vašich zpráv, obsahující informace o tom, jak se vaše e-maily ověřily vůči SPF a DKIM, což jsou dva další standardy pro ověřování e-mailů. Tyto reporty vám umožňují zjistit, zda e-maily odesílané z vaší domény procházejí úspěšně autentizačními kontrolami, nebo zda se objevují problémy.
Existují dva typy DMARC reportů:
- Agregační reporty (Aggregate reports) – poskytují přehled o tom, jaký byl výsledek ověřování e-mailů z vaší domény u různých příjemců. Jsou obvykle zasílány denně.
- Forenzní reporty (Failure reports) – jsou podrobnější a jsou zasílány, pokud nějaký e-mail z vaší domény neprojde ověřením.
Většina uživatelů se setká hlavně s agregátními reporty, které jsou posílány ve formátu XML.
Jak DMARC reporty číst?
DMARC reporty mohou být složité na první pohled, protože jsou formátovány v XML, což je strukturovaný způsob, jakým jsou data ukládána. Pojďme si tedy projít několik základních částí, které v DMARC reportu najdete.
1. Informace o odesílateli reportu
Každý report začíná informací o tom, kdo report poslal. To znamená, že uvidíte, z které e-mailové služby (např. Gmail, Yahoo, Outlook) e-mail pochází.
2. Doba trvání reportu
V reportu je také uvedeno, za jaký časový úsek je report platný. DMARC reporty jsou obvykle zasílány denně.
3. Doména odesílatele
Tato část ukazuje, z jaké domény byl e-mail odeslán. V ideálním případě to bude vaše doména.
4. Výsledky SPF a DKIM ověření
V této části najdete výsledek ověření pomocí SPF (Sender Policy Framework) a DKIM (DomainKeys Identified Mail). Tyto dvě technologie ověřují, zda odesílatel je oprávněn odesílat e-maily z dané domény (SPF) a zda zpráva nebyla během přenosu změněna (DKIM).
Výsledky mohou být:
- pass (úspěch) – e-mail prošel ověřením.
- fail (selhání) – e-mail neprošel ověřením.
5. Akce podle DMARC politiky
Zde se dozvíte, jakou akci provádí server příjemce na základě výsledků ověření DMARC. Pokud jste nastavili politiku DMARC, může server příjemce e-mail přijmout, označit jako spam nebo jej zcela odmítnout.
Praktický příklad DMARC reportu
Zde je zjednodušený příklad XML struktury agregátního DMARC reportu:
<feedback>
<report_metadata>
<org_name>google.com</org_name>
<email>dmarc-reports@google.com</email>
<report_id>1234567890</report_id>
<date_range>
<begin>1695148800</begin>
<end>1695235199</end>
</date_range>
</report_metadata>
<policy_published>
<domain>mojedomena.cz</domain>
<adkim>r</adkim>
<aspf>r</aspf>
<p>quarantine</p>
<sp>none</sp>
</policy_published>
<record>
<row>
<source_ip>192.168.1.1</source_ip>
<count>5</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>pass</dkim>
<spf>fail</spf>
</policy_evaluated>
</row>
</record>
</feedback>
V tomto příkladu vidíme, že e-mail odeslaný z IP adresy 192.168.1.1 prošel DKIM kontrolou, ale selhal při ověřování SPF. Protože politika DMARC nastavuje quarantine, měl by server příjemce s tímto e-mailem zacházet opatrně.
Nástroje na čtení DMARC reportů
Čtení XML formátu může být náročné, ale existují nástroje, které vám reporty pomohou snadno analyzovat a zobrazit ve srozumitelném formátu.
Můžete využít například tento jednoduchý převodník napsaný v BASH pro převod XLM formátu do TXT pro snazší čitelnost. Skript najdete najdete v tomto repozitáři na Githubu. Doporučujeme také ParseDMARC, což je modul Pythonu a nástroj CLI pro parsování zpráv DMARC.
Případně máte na výběr některé placené platformy, jako je například DMARC Analyzer, EasyDMARC a mnoho dalšího.