Modul 4 · 4.5
Čitanje DMARC izvještaja
Modul 4: Dostavljivost: SPF, DKIM i DMARC u praksi · Vrijeme čitanja: 12 minuta
Cilj učenja: Nakon ove lekcije moći ćete otvoriti i pročitati DMARC zbirni izvještaj, po retku odrediti koji je izvor u pitanju i zašto uspijeva ili ne uspijeva, te odlučiti što treba popraviti, što možete zanemariti i kada možete pooštriti svoja pravila.
Ključni pojmovi: zbirni izvještaj (aggregate report, RFC 9990), rua, XML, gzip ili zip, report_metadata, policy_published, record, row, source_ip, count, policy_evaluated (disposition, dkim, spf), identifiers (header_from, envelope_from), auth_results, selektor, izvještaj o greškama (ruf, RFC 9991), usluga izvještavanja, privatnost
Što dobivate
Ako ste u svom DMARC zapisu postavili adresu rua (lekcija 4.4), veliki primatelji poput Googlea, Microsofta i Yahooa šalju Vam otprilike svaki dan zbirni izvještaj. To je poruka s privitkom, obično zipanom XML datotekom s nazivom poput:
receiver.example!example.com!1793923200!1794009599.xml.gzTo znači: od primatelja receiver.example, o Vašoj domeni example.com, za razdoblje između dva vremenska biljega (sekunde od 1970.; ovdje 6. studenoga 2026., cijeli dan po UTC-u).
Izvještaj ne sadrži sadržaj poruka, ne sadrži predmete, a najčešće ni adrese primatelja. Sadrži, po poslužitelju koji šalje, broj poruka i ishod SPF-a, DKIM-a i DMARC-a. Zbog toga je pouzdan pregled tko šalje poštu u ime Vaše domene, uključujući izvore koje ste i sami zaboravili, kao i prevarante.
Struktura izvještaja
Izvještaj ima tri dijela. U nastavku su najvažniji dijelovi iz primjera datoteke uz ovu lekciju (dmarc-rapport-1.xml).
1. Tko izvještava, za koje razdoblje
<report_metadata>
<org_name>receiver.example</org_name>
<email>noreply-dmarc@receiver.example</email>
<report_id>receiver.example-20261106-7f3c2a91</report_id>
<date_range>
<begin>1793923200</begin>
<end>1794009599</end>
</date_range>
</report_metadata>2. Koja su pravila kod Vas pronađena
<policy_published>
<domain>example.com</domain>
<p>none</p>
<sp>none</sp>
<np>none</np>
<adkim>r</adkim>
<aspf>r</aspf>
<testing>n</testing>
</policy_published>Ovo uvijek provjerite: ako ovdje ne piše ono što mislite da je u Vašem DNS-u, znači da je primatelj pročitao drugi (ili stari) zapis.
3. Po izvoru: jedan zapis
Svaki record odnosi se na jednu IP adresu pošiljatelja s jednom kombinacijom ishoda:
<record>
<row>
<source_ip>198.51.100.40</source_ip>
<count>1250</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>fail</dkim>
<spf>fail</spf>
</policy_evaluated>
</row>
<identifiers>
<envelope_from>bounce.mailer.example</envelope_from>
<header_from>example.com</header_from>
</identifiers>
<auth_results>
<dkim>
<domain>mailer.example</domain>
<selector>k1</selector>
<result>pass</result>
</dkim>
<spf>
<domain>bounce.mailer.example</domain>
<scope>mfrom</scope>
<result>pass</result>
</spf>
</auth_results>
</record>| Dio | Značenje |
|---|---|
source_ip | IP adresa poslužitelja koji je dostavio poštu |
count | Koliko poruka s te IP adrese ima ovaj ishod |
policy_evaluated | Ishod DMARC-a: je li DKIM usklađeno uspio (dkim), je li SPF usklađeno uspio (spf), i što je primatelj napravio (disposition: pass, none, quarantine ili reject) |
header_from | Domena u adresi From |
envelope_from | Domena iz Return-Path |
auth_results | Sirovi ishodi SPF-a i DKIM-a, s domenom za koju vrijede, a kod DKIM-a i selektor |
Najvažnija razlika: auth_results naspram policy_evaluated
Ovdje je srž čitanja. U primjeru iznad, u auth_results dva se puta pojavljuje pass: DKIM je uspio za mailer.example, a SPF je uspio za bounce.mailer.example. Ipak, u policy_evaluated dva se puta pojavljuje fail. To nije proturječnost: policy_evaluated broji samo uspješnu provjeru koja je usklađena (aligned) s header_from. Nijedna od tih dviju domena ne pripada example.com, pa DMARC ne uspijeva.
Ovako čitate svaki redak:
- Pogledajte
policy_evaluated. Piše li koddkimilispfpass? Tada DMARC uspijeva i taj je izvor u redu. - Sve ne uspijeva? Pogledajte domene u
auth_results. Je li to Vaša usluga koja uspijeva, ali za svoju vlastitu domenu? Tada kod te usluge trebate uključiti DKIM s Vašom vlastitom domenom (lekcija 4.3). - Ne uspijeva ni u
auth_results, ili DKIM uopće nedostaje? Istražite kome pripada IP adresa (reverse DNS, lekcija 5.1, ili provjera putem whoisa). Je li riječ o jednom od Vaših sustava: popravite. Je li nepoznato i radi li se o sumnjivim količinama: vjerojatno je riječ o krivotvorenju.
Obrasci koje stalno viđate
| Obrazac | Što to obično znači | Što trebate učiniti |
|---|---|---|
| DKIM pass i SPF pass, oboje za Vašu vlastitu domenu | Vaš vlastiti mail poslužitelj | Ništa |
| DKIM pass za Vašu domenu, SPF fail ili softfail, nepoznata IP adresa | Preusmjeravanje pošte: netko preusmjerava Vašu poštu, DKIM je preživio | Ništa; upravo zato je DKIM važan |
| DKIM pass za Vašu domenu, SPF pass za drugu domenu | Usluga s vlastitim Return-Path i Vašim DKIM-om | Ništa, DMARC uspijeva na temelju DKIM-a |
| Oboje pass, ali za domenu neke usluge | Usluga koja potpisuje svojom vlastitom domenom | Uključite DKIM s Vašom domenom kod te usluge |
| SPF softfail za Vašu domenu, bez DKIM-a, vlastiti poslužitelj | Vlastiti poslužitelj ili adresa koja nije u Vašem SPF-u i ne potpisuje | Dodajte u SPF i uključite DKIM |
| SPF fail ili softfail, bez DKIM-a, nepoznata IP adresa, promjenjive količine | Krivotvorenje (spoofing) | Zanemarite; s p=quarantine ili reject ovo zaustavljate |
Obratite pažnju i na IPv6: vlastiti poslužitelj koji ponekad šalje preko IPv6, dok Vaš SPF navodi samo IPv4 adresu, daje softfail u tim recima. S DKIM potpisom DMARC ipak uspijeva, ali to je znak da je Vaš SPF nepotpun.
Od izvještaja do odluke
Spremni ste pooštriti svoja pravila (s none na quarantine, zatim na reject) kada:
- svaki izvor koji je Vaš ima u
policy_evaluatedbarem jedan pass; - to je tako već nekoliko tjedana, kod svih velikih primatelja;
- ono što još ne uspijeva jest samo preusmjerena pošta s valjanim DKIM potpisom (koja tada ipak uspijeva) ili jasno krivotvorenje.
Ako ne uspijeva veliki vlastiti izvor, kao u primjeru newsletter usluga s 1250 poruka, još je prerano. S p=reject primatelj bi odbio tih 1250 newslettera.
Kako izvještaje učiniti čitljivima
Jedan izvještaj u uređivaču teksta je izvedivo. Dvadeset dnevno nije. Postoje tri načina:
- Usluga izvještavanja (postoji ih mnogo, uključujući besplatne varijante). Njihovu adresu unosite u
rua, a oni od toga izrađuju grafikone i popise. Pazite: time toj usluzi dajete uvid u to koji poslužitelji šalju u Vaše ime, a adresa izvještaja nalazi se na njihovoj domeni (pogledajte odobrenje putem_report._dmarcu lekciji 4.4). Odaberite uslugu kojoj vjerujete i koja poštuje GDPR. - Vlastiti alat: postoje programi otvorenog koda koji dohvaćaju izvještaje iz mailbox i pretvaraju ih u pregled.
- Samostalno čitanje pomoću XML preglednika ili preglednika weba, za povremene provjere.
Izvještaji o greškama (ruf, RFC 9991) su drugačiji: po pojedinačnoj neuspješnoj poruci, ponekad s dijelovima same poruke. Gotovo nijedan veliki primatelj ih ne šalje, upravo zbog privatnosti. Ne trebaju Vam za ispravnu primjenu DMARC-a.
U praksi: ovako to izgleda
Kod WebOké adresu izvještaja možete unijeti u DMARC pomoći u DirectAdminu ili Mojem WebOké (pogledajte lekciju 4.4), a sami birate mailbox u koju stižu izvještaji; posebna adresa poput dmarc@ s vlastitom mapom sprječava da Vam izvještaji preplave uobičajenu poštu. Čitanje obavljate pomoću usluge izvještavanja ili programa po izboru. To funkcionira jednako kod svakog pružatelja usluga: izvještaj je u standardnom formatu.
Sažetak
- Zbirni izvještaj je dnevna XML datoteka (često zipana) po primatelju, s brojem poruka i ishodima po poslužitelju koji šalje.
auth_resultsdaje sirovi ishod SPF-a i DKIM-a;policy_evaluatedsamo ono što je uspjelo usklađeno. Pass uauth_resultsmože biti fail u DMARC-u.- Preusmjerenu poštu prepoznajete po DKIM pass uz SPF fail; krivotvorenje po tome što sve ne uspijeva s nepoznate IP adrese.
- Pooštrite svoja pravila tek kad svi Vaši vlastiti izvori uspijevaju već nekoliko tjedana.
- Izvještaji o greškama (
ruf) su rijetki i nisu potrebni.
Kviz
Zadatak
Zadatak Z4.5: Čitanje DMARC izvještaja. Otvorite primjer datoteke dmarc-rapport-1.xml (zbirni izvještaj o example.com, s izmišljenim podacima). Odgovorite na pitanja: koja su pravila primatelj pronašao, koliko ukupno poruka stoji u izvještaju, koliko ih od toga nije prošlo DMARC, koji je redak newsletter usluga i što treba napraviti u vezi s njim, koji je redak preusmjerena pošta, koji je redak vjerojatno krivotvorenje, što prema retku 6 treba promijeniti u SPF zapisu, koji redak uspijeva isključivo zahvaljujući DKIM-u kod usluge s vlastitim Return-Path, te smije li domena sada prijeći na p=quarantine? Program provjerava Vaše odgovore prema fiksnom ključu i za svako pitanje objašnjava koji redak izvještaja daje odgovor.
Dodatno štivo
Koraci u ovim člancima vrijede za panele WebOké; kod drugih pružatelja usluga postupak je sličan.
- Što je DMARC? Objašnjenje jednostavnim jezikom
- DirectAdmin priručnik 5.9: DMARC postavljanje
- Besplatni DNS tečaj 4.5: DMARC: što primatelji trebaju raditi s lažnom poštom
- RFC 9990 (DMARC Aggregate Reporting), s primjerom izvještaja u dodatku B; RFC 9991 (Failure Reporting)
