DMARC szabályzat: Teljes védelem a levélhamisítás ellen
A DMARC (Domain-based Message Authentication, Reporting & Conformance) összekapcsolja az SPF-et és a DKIM-et, és utasításokat ad a fogadó szervereknek a nem hitelesített levelek kezeléséhez. Megfelelő beállítással megvédheted a domainedet a levélhamisítástól, és jelentősen javíthatod az e-mail kézbesíthetőséget.
Mi az a DMARC?
A DMARC (Domain-based Message Authentication, Reporting & Conformance) egy e-mail hitelesítési protokoll, amely az SPF (Sender Policy Framework) és a DKIM (DomainKeys Identified Mail) technológiákra épül. Míg az SPF meghatározza, mely szerverek küldhetnek levelet a domain nevében, a DKIM pedig kriptográfiai aláírással igazolja, hogy a levél tartalma nem változott az út során -- a DMARC összeköti ezt a két rendszert, és egy döntési szabályt (policy) ad a fogadó szervernek arra az esetre, ha a hitelesítés sikertelen.
A DMARC működésének kulcsa az alignment (igazítás) fogalma. Nem elég, hogy az SPF vagy a DKIM önmagában átmegy: a DMARC megköveteli, hogy a hitelesítés eredménye összhangban legyen a levél From: fejlécében szereplő domain névvel. Ez azt jelenti, hogy ha valaki meghamisítja a feladó címedet, de az SPF az ő szerverére mutat -- a DMARC ezt kiszűri, mert nincs alignment.
Miért fontos ez? 2024 februárjától a Google és a Yahoo megköveteli a DMARC rekordot minden olyan domaintől, amely napi 5000-nél több levelet küld. De a kisebb küldők számára is kritikus: a DMARC nélküli domainekről érkező levelek nagyobb eséllyel kerülnek spam mappába, és a domain reputáció is sérül, ha valaki visszaél az e-mail címeddel (phishing, spoofing).
A DMARC három pillére:
- Hitelesítés: SPF és DKIM ellenőrzés a fogadó szerveren
- Alignment: A From: fejléc domainjének egyezése az SPF/DKIM domainnel
- Szabályzat (policy): Utasítás a fogadó szervernek, hogy mit tegyen sikertelen hitelesítés esetén
A DMARC három szintje
A DMARC szabályzat (p= paraméter) háromféle utasítást adhat a fogadó szervernek. Fontos, hogy fokozatosan haladj a legenyhébbtől a legszigorúbb felé, és közben figyeld a riportokat:
p=none -- Csak figyelés, nincs blokkolás
A p=none szint az ideális kiindulópont. Ebben az üzemmódban a fogadó szerver nem tesz semmit a sikertelen hitelesítésű levelekkel -- pontosan úgy kezeli őket, mintha nem lenne DMARC rekord. Viszont a rua és ruf címekre küldött riportokból láthatod, kik küldenek levelet a domainedről, és mely levelek buknak el az SPF/DKIM ellenőrzésen.
Tipp: Mindig a p=none szinttel kezdj, és 2-4 héten keresztül gyűjtsd a riportokat. Így feltérképezheted az összes legitim küldőt (hírlevél szolgáltató, CRM, számlázó rendszer, stb.), mielőtt szigorítanál.
p=quarantine -- Spam mappába irányítás
A p=quarantine szinten a fogadó szerver a nem hitelesített leveleket a spam (vagy karantén) mappába irányítja. Ez már aktív védelem: a hamisított levelek nem jelennek meg a címzett fő postaládájában. Ez a szint jó átmeneti megoldás, mert ha véletlenül egy legitim küldő konfigurációja nem stimmel, a levél nem veszik el teljesen -- a spam mappából még kimenthető.
Használhatod a pct= paramétert is a fokozatos bevezetéshez. Például a pct=25 azt jelenti, hogy a sikertelen levelek 25%-ára alkalmazd a karantén szabályt, a többit úgy kezeld, mintha p=none lenne.
p=reject -- Teljes elutasítás
A p=reject a legszigorúbb szint. A fogadó szerver teljes mértékben elutasítja azokat a leveleket, amelyek nem mennek át a DMARC ellenőrzésen. A levél nem kerül sem a bejövő, sem a spam mappába -- egyszerűen visszautasításra kerül. Ez a legerősebb védelem a domain hamisítás ellen, és egyben a legjobb jelzés a fogadó szerverek felé: komolyan vesszük az e-mail biztonságot.
Figyelem: Soha ne ugorj egyből p=reject-re a riportok elemzése nélkül! Ha egy harmadik feles küldőd (pl. hírlevél rendszer, CRM) nincs megfelelően konfigurálva az SPF/DKIM szempontjából, a levelei véglegesen elveszhetnek.
DMARC beállítás lépésről lépésre
Az alábbi lépésekkel biztonságosan és fokozatosan vezetheted be a DMARC-ot a domaineden:
-
1. lépés: Győződj meg róla, hogy az SPF és DKIM működik
A DMARC az SPF-re és a DKIM-re épül -- ha ezek nincsenek beállítva, a DMARC nem tud mit ellenőrizni. Ellenőrizd, hogy a domainded rendelkezik érvényes SPF rekorddal (TXT rekord a domain gyökerén), és hogy a DKIM aláírás aktív a leveleidben. Használj online eszközöket, mint a MXToolbox vagy a Mail-tester az ellenőrzéshez.
-
2. lépés: Hozd létre a DMARC rekordot
A DMARC rekord egy TXT típusú DNS bejegyzés, amelyet a
_dmarc.domain.hualdomainre kell elhelyezni. Íme egy példa kiinduló rekord:v=DMARC1; p=none; rua=mailto:dmarc@domain.hu; ruf=mailto:dmarc@domain.hu; fo=1A paraméterek jelentése:
v=DMARC1-- a DMARC verzió azonosítója (kötelező, mindig ez az első)p=none-- a szabályzat (policy): none, quarantine vagy rejectrua=mailto:...-- az összesített (aggregate) riportok fogadó címeruf=mailto:...-- a forensic (részletes) riportok fogadó címefo=1-- forensic riport generálása már egyetlen sikertelen ellenőrzésnél is
-
3. lépés: Indulj
p=none-nal és figyelj (2-4 hét)A
p=nonebeállítással a DMARC nem befolyásolja a levelek kézbesítését, de elkezdi gyűjteni a riportokat. Ez az időszak arra szolgál, hogy feltérképezd az összes forrást, ahonnan a domainedet használva e-mail érkezik: saját mailszerver, Google Workspace, Microsoft 365, hírlevél szolgáltató (Mailchimp, SendGrid, stb.), CRM rendszer, számlázó szoftver, és bármilyen más rendszer. -
4. lépés: Elemezd a DMARC riportokat (rua/ruf)
A fogadó szerverek (Gmail, Outlook, Yahoo, stb.) napi rendszerességgel küldenek XML formátumú riportokat a
ruacímre. Ezek tartalmazzák az összes, a domainedről küldött levél hitelesítési eredményét. Használj riport-elemző eszközöket a feldolgozáshoz (lásd az "DMARC riportok értelmezése" szekciót). -
5. lépés: Fokozatosan szigorítsd: none → quarantine → reject
Ha a riportok alapján minden legitim küldő átmegy az SPF/DKIM ellenőrzésen és az alignment rendben van, fokozatosan léphetsz tovább. Először állítsd
p=quarantine-re, opcionálisan alacsonypct=értékkel (pl.pct=10), majd növeld fokozatosan. Végül, ha stabilan minden rendben, váltsp=reject-re.
Tipp: A teljes folyamat -- a p=none-tól a p=reject-ig -- általában 4-8 hetet vesz igénybe. Ne siess! Jobb lassabban haladni, mint elveszíteni fontos leveleket.
DMARC alignment (igazítás)
Az alignment a DMARC egyik legfontosabb -- és leggyakrabban félreértett -- koncepciója. A lényege egyszerű: a DMARC megköveteli, hogy az SPF vagy a DKIM által hitelesített domain egyezzen a levél From: fejlécében szereplő domainnel. Két típusa van:
SPF alignment
Az SPF alignment azt vizsgálja, hogy a levél Return-Path: (más néven "envelope from") fejlécében szereplő domain megegyezik-e a From: fejlécben szereplő domainnel. Ha a levelet a info@ceg.hu címről külditek, de a Return-Path bounce@mailservice.com, az SPF ugyan átmehet (mert a mailservice.com szerepel az SPF rekordban), de az SPF alignment nem teljesül, mert a két domain eltér.
DKIM alignment
A DKIM alignment azt vizsgálja, hogy a DKIM aláírásban szereplő d= domain megegyezik-e a From: fejlécben szereplő domainnel. Ha a levelet info@ceg.hu címről külditek, és a DKIM aláírás d=ceg.hu értékkel van aláírva, akkor a DKIM alignment teljesül. A legtöbb hírlevél szolgáltató lehetőséget ad arra, hogy a saját domainedet használd a DKIM aláírásban (ún. custom DKIM).
Relaxed vs. Strict mód
Az alignment kétféle módban működhet:
- Relaxed (alapértelmezett): A
From:domain és az SPF/DKIM domain szervezeti szinten (organizational domain) egyezhet. Tehát anews.ceg.hués aceg.huis átmegy. A DMARC rekordban:aspf=résadkim=r. - Strict: A domaineknek pontosan egyezniük kell. A
news.ceg.hunem felel meg aceg.hu-nak. A DMARC rekordban:aspf=sésadkim=s.
Példa DMARC rekord strict alignment-tel:
v=DMARC1; p=quarantine; rua=mailto:dmarc@ceg.hu; aspf=s; adkim=s
Javaslat: Kezdetben használj relaxed módot (aspf=r; adkim=r), mert ez kevésbé törékeny. Strict módra csak akkor válts, ha pontosan tudod, hogy az összes legitim küldőd milyen domaint használ az SPF és DKIM oldalon.
DMARC riportok értelmezése
A DMARC riportok jelentik a protokoll "szemét" -- nélkülük vakon navigálnál. Két típusú riport létezik:
Aggregate riportok (rua)
Az összesített riportokat a nagy levelezőszolgáltatók (Gmail, Outlook, Yahoo, stb.) naponta egyszer küldik XML formátumban a rua= paraméterben megadott e-mail címre. Ezek a riportok tartalmazzák:
- A küldő szerver IP-címét
- Az ellenőrzött domain nevét
- Az SPF és DKIM eredményét (pass/fail)
- Az alignment eredményét
- Az alkalmazott DMARC szabályzatot
- Az adott forrásból érkezett levelek számát
Forensic riportok (ruf)
A forensic riportok egyedi, sikertelen levelekről szólnak, és részletesebb információt tartalmaznak (pl. a levél fejléceinek másolatát). Fontos: nem minden szolgáltató küld forensic riportot, és a GDPR miatt egyes európai szolgáltatók korlátozzák az ilyen adatok megosztását.
Riport-elemző eszközök
Az XML riportok kézi olvasása nehézkes és időigényes. Az alábbi eszközök segítenek a feldolgozásban:
- DMARC Analyzer -- átlátható dashboard a riportok vizualizálásához
- dmarcian -- részletes elemzés, alignment problémák feltárása, ingyenes szint is elérhető
- Postmark DMARC -- teljesen ingyenes heti összesítő riportok
- MXToolbox DMARC -- gyors ellenőrzés és riport-feldolgozás
Tipp: Ha nem szeretnél külön riport-feldolgozó szolgáltatást, a Postmark ingyenes DMARC eszköze kiváló kiindulópont. Csak állítsd a rua címet a Postmark által megadott e-mail címre, és heti rendszerességgel kapsz áttekinthető összesítést.
Gyakori DMARC hibák
A DMARC bevezetése során az alábbi hibákat követik el leggyakrabban a domain tulajdonosok és a rendszergazdák:
-
Egyből
p=reject-re ugrás riportok nélkül: A leggyakoribb és legsúlyosabb hiba. Ha nem gyűjtöttél riportokat ap=nonefázisban, nem tudhatod biztosan, hogy az összes legitim küldőd megfelelően van-e konfigurálva. Az azonnalip=rejectbevezetése azt eredményezheti, hogy a hírleveled, a számlázó rendszered vagy a CRM-ed e-mailjei nem jutnak el a címzettekhez -- véglegesen. - Harmadik feles küldők elfelejtése: A legtöbb vállalkozás nem csak a saját szerveréről küld e-mailt. Mailchimp, SendGrid, Amazon SES, számlázó rendszerek, helpdesk szoftverek -- mindezeket be kell állítani az SPF rekordba, és lehetőleg DKIM custom domain aláírást is konfigurálni. Egyetlen kihagyott szolgáltató is DMARC hibát okoz.
-
Alignment probléma (subdomain vs. organizational): Ha a hírleveledet a
news.ceg.husubdomainről küldöd, de a DMARC rekord aceg.hugyökér domainen van strict módban (aspf=s), a subdomain levelei nem fognak alignment-et teljesíteni. Ilyenkor vagy relaxed módot használj, vagy hozz létre külön DMARC rekordot a subdomainre. -
A
rua/rufcím elhagyása: Ha nem adod meg a riport címeket, a DMARC technikai szempontból működik (a policy érvényesül), de semmilyen visszajelzést nem kapsz arról, mi történik a leveleiddel. Ez olyan, mintha sötétben lőnél: nem tudod, mi működik és mi nem. -
A DMARC rekord szintaktikai hibái: A DMARC rendkívül szigorú a szintaxist illetően. Egyetlen felesleges szóköz, hiányzó pontosvessző, vagy elírt paraméternév (pl.
ruahelyettrui) azt eredményezi, hogy a rekord érvénytelen, és a fogadó szerverek figyelmen kívül hagyják. Mindig ellenőrizd az új rekordot egy online validátor eszközzel. - DNS propagáció figyelmen kívül hagyása: A DNS módosítások nem azonnal lépnek érvénybe. A TTL (Time to Live) értéktől függően 1-48 óra is eltelhet, mire az új DMARC rekord mindenhol elérhető lesz. Ne módosítsd a policy-t és ne vonj le következtetéseket közvetlenül a DNS változtatás után.
Ellenőrző lista a DMARC bevezetés előtt:
- SPF rekord érvényes és tartalmazza az összes küldő szervert
- DKIM aláírás aktív és a saját domainedre mutat
- Harmadik feles szolgáltatók (hírlevél, CRM, számlázó) konfigurálva
- DMARC rekord szintaktikailag helyes (
v=DMARC1az első tag) ruacím megadva a riportok fogadásához- Kiinduló policy:
p=none
Következő lépés
Ismerd meg, hogyan javíthatod az e-mailjeid spam pontszámát, vagy fedezd fel a teljes Tudástárat: