A DMARC (Domain-based Message Authentication, Reporting and Conformance) egy DNS-ben közzétett szabály, amely megmondja a fogadó levelezőrendszereknek, mit tegyenek a nevedben küldött levéllel, ha az megbukik a hitelesítésen. A rekord egyszerre házirend és jelentéskérés: dönt a hamis levelek sorsáról, és visszajelzést kér arról, ki küld a domainedről.
Hogyan működik
A beállítás egyetlen TXT rekord a _dmarc.pelda.hu néven. Három dolgot tartalmaz:
- a házirendet:
p=none, p=quarantine vagy p=reject,
- a jelentések gyűjtőcímét:
rua=mailto:...,
- a szigorúsági kapcsolókat:
adkim=, aspf=, sp=.
A fogadó szerver először megnézi, átment-e a levél SPF (Sender Policy Framework) vagy DKIM (DomainKeys Identified Mail) ellenőrzésen. Ez önmagában kevés lenne. A DMARC azt is megköveteli, hogy a hitelesített domain egyezzen a From: fejlécben látható domainnel. Ezt hívják igazításnak (alignment). Ha nincs egyezés, életbe lép a házirend.
Mit old meg, amit a másik kettő nem
Az SPF a küldő szerver IP-címét ellenőrzi. A DKIM kriptográfiai aláírást tesz a levélre. Egyik sem foglalkozik azzal, mi áll a felhasználónak megjelenő feladó mezőben. Egy támadó küldhet levelet a saját szerveréről, saját érvényes SPF-fel, a te címedet írva feladónak. A DMARC pontosan ezt a rést zárja be. A három elem együtt alkot működő láncot, ezt részletesen az E-mail-hitelesítés: SPF, DKIM, DMARC cikk bontja ki.
A jelentés, amit mindenki kihagy
A rua címre naponta érkeznek XML formátumú összesítő jelentések a nagy levelezőszolgáltatóktól. Ezekből derül ki, mely rendszerek küldenek a nevedben. Enélkül vakon szigorítasz. A riportokban rendszeresen látunk p=reject házirendet rua cím nélkül. Az ilyen beállítás véd, de nem tudod, mit tiltasz ki vele.
Számít-e a keresőknek
A DMARC nem rangsorolási tényező, és egy nyelvi modell sem látja, mert DNS-ben él, nem a HTML-ben. Az automatizált állapotfelmérők viszont nézik. Olcsó, objektív jelzés arról, hogy a domaint valaki karbantartja.
Röviden: a DMARC mondja meg, mi történjen azzal a levéllel, amely a te domainedet írja feladónak, de nem tőled jön.
Hogyan javítod
Minden rendszernél közös sorrend
- Gyűjtsd össze, mely szolgáltatások küldenek a nevedben.
- Állítsd be előbb az SPF (Sender Policy Framework) és a DKIM (DomainKeys Identified Mail) rekordokat mindegyikre.
- Vedd fel a DMARC rekordot
p=none házirenddel és rua címmel.
- Olvasd a jelentéseket legalább 2-4 hétig.
- Ha minden jogos küldő átmegy, lépj
p=quarantine, majd p=reject szintre.
WordPress
A beépített wp_mail() a szerver PHP levélküldőjét használja, ami ritkán igazodik a domainhez. Tegyél be egy SMTP-bővítményt, és küldj a saját postafiókodon vagy egy tranzakciós szolgáltatón keresztül. A küldő címe egyezzen a domaineddel. A WooCommerce rendelési levelei ugyanezen az úton mennek, ezért ezeket külön teszteld.
Shopify
A küldő e-mail címet a bolt beállításaiban hitelesíteni kell. A felület megadja a DNS-bejegyzéseket, amelyeket a domain szolgáltatódnál kell felvenni. Amíg ez hiányzik, a rendszer saját domainről küld a te neved helyett. A DMARC rekordot ettől függetlenül te teszed be.
Unas és Shoprenter
Az adminban állítsd be a saját domaines feladó címet. Vedd fel a szolgáltató által megadott SPF-kiegészítést és DKIM bejegyzést a DNS-ben. Csak ezután szigoríts a házirenden, különben a rendelés-visszaigazolások tűnnek el.
Egyedi fejlesztés
A From: fejléc domainje egyezzen az aláíró domainnel. Ne küldj levelet az alkalmazásszerver alapértelmezett címéről. A Reply-To mezővel oldd meg, ha más címre kéred a választ. A visszapattanó leveleket külön boríték-domainen kezeld, és figyelj az aspf=r laza igazításra.
Technikai példa
Induló rekord megfigyeléshez, majd az éles, szigorú változat:
; első lépés: mérés, tiltás nélkül
_dmarc.pelda.hu. 3600 IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@pelda.hu; adkim=r; aspf=r"
; cél állapot néhány hét jelentés után
_dmarc.pelda.hu. 3600 IN TXT "v=DMARC1; p=reject; sp=reject; rua=mailto:dmarc@pelda.hu; adkim=s; aspf=s"
; nem küldő, parkolt domain
_dmarc.regi-domain.hu. 3600 IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc@pelda.hu"
Ellenőrzés parancssorból, és amit egy beérkezett levél fejlécében látnod kell:
dig +short TXT _dmarc.pelda.hu
# "v=DMARC1; p=quarantine; rua=mailto:dmarc@pelda.hu"
# Authentication-Results fejléc egy sikeres levélnél:
# spf=pass (google.com: domain of hirlevel@pelda.hu ...)
# dkim=pass header.d=pelda.hu
# dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=pelda.hu
A header.from=pelda.hu a kulcs: az igazítás erre a domainre vonatkozik.
Gyakori kérdések
Elég, ha van SPF és DKIM, kell még DMARC is?
Kell. Az SPF és a DKIM nem ellenőrzi a felhasználónak megjelenő feladó mezőt. A DMARC köti össze a hitelesítést a látható From: domainnel, és ez dönti el, hogy egy hamis levél kézbesüljön-e. E nélkül a másik kettő önmagában nem véd a névvel való visszaélés ellen.
Miért kockázatos azonnal p=reject értékkel indítani?
Mert a legtöbb cég nem tudja fejből, hány rendszer küld a nevében. A számlázó, a CRM és a régi tárhely levelei egyik napról a másikra eltűnhetnek. Indulj p=none házirenddel, olvasd a jelentéseket pár hétig, és csak utána szigoríts. A lépcsőzetes bevezetés néhány hét, nem hónapok kérdése.
Javítja a DMARC a Google-rangsorolást?
Nem, közvetlenül nem. DNS-rekord, a keresőrobot nem használja rangsorolási jelzésként. A kézbesíthetőséget viszont érdemben javítja, és a legtöbb technikai audit alapkövetelménynek tekinti. Közvetve a márkád védelmét szolgálja, mert nehezebb a nevedben csalni.
Mit kezdjek a DMARC jelentésekkel, ha nem tudom olvasni az XML-t?
A nyers XML valóban nem emberi olvasásra készült. Használj jelentésfeldolgozó szolgáltatást, amely grafikonná alakítja a napi adatokat. Kisebb domainnél a heti egyszeri átnézés is elég. A lényeg, hogy lásd, mely IP-címekről megy levél a nevedben.
Olyan domainre is kell, amelyről soha nem küldünk levelet?
Igen, sőt ott a legegyszerűbb. Tegyél be egy p=reject házirendet, és nem kell mérlegelned a jogos küldőket. A nem használt domainek különösen vonzó célpontok, mert senki nem figyeli őket. Ez néhány perc munka domainenként.