A DMARC-rekordok felépítése és működése
A DMARC (Domain-based Message Authentication, Reporting, and Conformance) egy olyan e-mail hitelesítési protokoll, amely a meglévő SPF (Sender Policy Framework) és DKIM (DomainKeys Identified Mail) technológiákra épül. Segítségével a domain tulajdonosok meghatározhatják, hogyan kezeljék a fogadó levelezőszerverek azokat az e-maileket, amelyek nem mennek át a hitelesítési ellenőrzéseken.
A DMARC-rekord egy DNS TXT rekord, amely pontosan meghatározott szintaktikai szabályok szerint felépülő kulcs-érték párokból áll. A rekord elemzése során a legelső és legfontosabb követelmény, hogy a szövegnek a kis- és nagybetűkre érzékeny v=DMARC1 kifejezéssel kell kezdődnie. Ha ez a tag hiányzik, vagy nem a legelső helyen szerepel, a fogadó rendszerek nem tudják DMARC-rekordként értelmezni a bejegyzést.
A DMARC-rekord ellenőrzése során a rendszer beolvassa a megadott TXT értéket, majd elemzi annak házirendjeit, igazítási beállításait, jelentési címeit és az esetlegesen előforduló elavult paramétereket.
A DMARC-házirendek típusai és prioritásai
A DMARC magját a házirendek alkotják, amelyek meghatározzák a levelek kezelését hitelesítési hiba esetén. Három különböző szinten határozható meg házirend a rekordban:
- Fődomain házirend (p): A fő domainre vonatkozó szabály. Ha a rekordban nem szerepel érvényes
ptag, a domain házirendje automatikusan visszalép a legenyhébb, azaz anoneszintre. - Alszolgáltatási házirend (sp): Az aldomainekre vonatkozó egyedi szabályozás.
- Nem létező aldomainek házirendje (np): Kifejezetten a nem létező aldomainekről küldött levelek kezelésére szolgál.
A házirendek alkalmazásakor szigorú visszalépési (fallback) hierarchia érvényesül. Ha egy specifikusabb tag hiányzik a rekordból, a fogadó szerverek automatikusan a következő szintet veszik alapul: a nem létező aldomainek házirendje (np) hiányában az aldomain házirendje (sp), annak hiányában pedig a fődomain házirendje (p) lép életbe.
A házirendek háromféle értéket vehetnek fel:
none: Ez a szint kizárólag megfigyelésre szolgál. Jelentéseket generál a hibákról, de nem kéri a fogadó szerverektől a sikertelen levelek karanténba helyezését vagy elutasítását.quarantine: A hitelesítésen elbukott leveleket a fogadó félnek gyanúsként kell kezelnie (például a levélszemét mappába helyezve).reject: A hitelesítésen elbukott levelek kézbesítését a fogadó szervernek meg kell tagadnia.
A tesztelési fázisban a t=y paraméter használható. Ez a beállítás ideiglenesen enyhíti a szigorúbb szabályokat: a reject szintet quarantine szintre, míg a quarantine szintet none szintre csökkenti a tesztelés időtartama alatt.
Igazítások és jelentési csatornák beállítása
A DMARC működéséhez elengedhetetlen az SPF és DKIM igazítások (alignment) vizsgálata. Az igazítás határozza meg, hogy a levél fejlécében szereplő feladó (From) domain egyezik-e az SPF ellenőrzés során használt domainnel, illetve a DKIM aláírásban szereplő domainnel.
A DMARC kétféle jelentési csatornát támogat a hibák és a kézbesítési statisztikák nyomon követésére:
- Aggregált jelentések (rua): Ezek a címek fogadják a napi rendszerességű, összesített statisztikai adatokat a küldött levelek hitelesítési állapotáról. Ha a rekordban nem szerepel érvényes
ruacím, a fogadó szerverek nem küldenek aggregált jelentéseket. - Hiba- vagy törvényszéki jelentések (ruf): Ezekre a címekre érkeznek a részletes, egyedi hibajelentések a sikertelen hitelesítésekről.
A hibajelentések küldési gyakoriságát és módját szabályozó fo tag működése közvetlenül függ a ruf beállítástól. Ha nincs megadva érvényes ruf cím, a fogadó szerverek figyelmen kívül hagyják a fo tag beállításait.
Elavult és történeti paraméterek kezelése
A DMARC szabvány fejlődésével bizonyos paraméterek elavulttá váltak, vagy megváltozott a szerepük az újabb specifikációkban.
A százalékos korlátozásra használt pct tag értékei ma már történetinek számítanak. A pct paraméter kizárólag az olyan régebbi DMARC specifikációkat követő fogadó rendszerek esetében korlátozza a házirend érvényesülését, amelyek még nem frissültek az újabb szabványokra.
Hasonló módon a jelentési címek végén korábban használatos !size utótag (amely a maximális jelentésméretet határozta meg) elavulttá vált. A jelenlegi szabványokat követő fogadó rendszereknek ezt a méretkorlátozást figyelmen kívül kell hagyniuk. Az ellenőrzés során az ilyen elavult vagy nem regisztrált tagok azonosításra kerülnek, mivel a modern DMARC fogadók figyelmen kívül hagyják őket.
A DMARC-rekord ellenőrzése eszköz használata
A DMARC-rekord ellenőrzése eszköz lehetővé teszi a DNS TXT rekordok szintaktikai és strukturális elemzését. Az eszköz használata során az alábbi bemeneti és kimeneti jellemzők érvényesülnek:
Bemeneti adatok és korlátok
A vizsgálni kívánt DMARC TXT rekordot a felhasználó adja meg. Az eszköz támogatja az idézőjelek közé tett DNS TXT részeket is, amelyeket az elemzés megkezdése előtt automatikusan összefűz. A bemeneti szöveg hossza nem haladhatja meg a 20 000 karaktert.
Adatkezelés és adatvédelem
Az elemzés teljes mértékben a felhasználó böngészőjében történik. A beírt DMARC-rekord nem kerül feltöltésre, nem mentődik el külső szerverekre, nem íródik be a böngésző tartós tárhelyébe, és az eszköz semmilyen külső hálózati kérést nem indít a rekorddal kapcsolatban.
Az elemzés során megjelenő eredmények és hibaüzenetek
Az ellenőrzés lefutása után az eszköz az alábbi struktúrában jeleníti meg az eredményeket:
- DMARC-elemzés: A vizsgálat fő összegzése.
- DMARC-összefoglaló: A legfontosabb beállítások gyors áttekintése:
- sp: Alszolgáltatási házirend.
- np: Nem létező aldomainek házirendje.
- DKIM / SPF: Azonosító igazítások állapota.
- rua / ruf: Megadott jelentési címek száma.
- pct (RFC 7489): Történeti százalékos érték.
- rua / ruf: A jelentések célállomásainak részletes listája (aggregált és hibajelentések szerint csoportosítva).
- Elemzett kifejezések: Egy táblázat, amely tartalmazza a talált tagokat az alábbi oszlopokkal:
- Kifejezés: A tag neve.
- Érték vagy minősítő: A taghoz rendelt érték.
- Típus: A tag státusza, amely lehet aktív (RFC 9989), történeti (RFC 7489), ismeretlen vagy érvénytelen (✕ DMARC).
- Szintaktikai és házirendbeli megjegyzések: Az esetleges hibák, figyelmeztetések és strukturális észrevételek listája. Ha a rekord hibátlan, a "A beillesztett rekordban nem találtunk szintaktikai vagy házirendbeli kockázatot." üzenet jelenik meg.
Az elemzés során előforduló leggyakoribb hibaüzenetek és figyelmeztetések pontos szövegei:
| Hiba / Figyelmeztetés oka | Megjelenő pontos hibaüzenet |
|---|---|
| Hiányzó bemenet | "Előbb illesszen be egy DMARC-rekordot." |
| Nem támogatott formátum | "Adjon meg egy támogatott DMARC-rekordot." |
| Túl nagy méret | "Ez a rekord szokatlanul nagy. Tartsa 20 000 karakternél rövidebben." |
| Hiányzó verzió tag | "A rekordnak v=DMARC1 értékkel kell kezdődnie." |
| Rossz verzió pozíció | "‹position›. kifejezés: a v=DMARC1 értéknek kell az első kifejezésnek lennie." |
| Duplikált tag | "×2: ‹tag› (‹position›)" |
| Hibás szintaxis | "name=value ✕ (‹position›)" |
| Üres érték | "‹tag›=∅ (‹position›)" |
| Érvénytelen érték | "‹tag›=‹detail› ✕ (‹position›)" |
| Hibás URI formátum | "URI ✕: ‹tag› (‹position›)" |
| Ismeretlen tag | "Ismeretlen: ‹tag› (‹position›)" |
| Történeti tag használata | "RFC 7489 → RFC 9989: ‹tag› (‹position›)" |
| Hiányzó házirend | "p → none" |
| Csak megfigyelési mód | "p=none" |
| Teszt üzemmód aktív | "t=y: reject → quarantine; quarantine → none" |
| Hiányzó aggregált jelentés | "rua=∅" |
| Hibás fo konfiguráció | "fo → ∅ (ruf=∅)" |
| Történeti százalék | "pct=‹detail›% (RFC 7489)" |
| Idézőjeles részek összefűzése | "Az idézőjelek közé tett DNS TXT részeket az elemzés előtt összefűztük." |
| Elavult méretkorlát | "!size → ∅ (RFC 9989)" |
Gyakran Ismételt Kérdések
Szintaktikai és házirendbeli megjegyzések: p / sp / np?
A p a fődomain, az sp az aldomainek, az np pedig a nem létező aldomainek házirendjét határozza meg. Ha a p hiányzik, az érték automatikusan none lesz. A t=y tesztelési beállítás csökkenti a házirendek szigorúságát (reject helyett quarantine, quarantine helyett none). Ha egy specifikusabb tag hiányzik, a kiértékelés az np → sp → p útvonalon lép vissza a tágabb szabályra.
RFC 9989: pct / rf / ri?
Nem. Ez az oldal csak a beillesztett szöveget ellenőrzi. Nem kérdezi le a DNS-t, nem bontja ki a szolgáltatói rekordokat, nem tesztel feladói IP-címet, és nem erősíti meg, mit ad vissza a fogadó levelezőszerver. Az RFC 9989 szabvány szerint a pct, rf és ri tagok már történetinek (historic) számítanak, míg az np, psd és t tagok aktívak.
A hibamentes eredmény bizonyítja, hogy működik az DMARC-beállításom?
Nem. Ez az oldal csak a beillesztett szöveget ellenőrzi. Nem kérdezi le a DNS-t, nem bontja ki a szolgáltatói rekordokat, nem tesztel feladói IP-címet, és nem erősíti meg, mit ad vissza a fogadó levelezőszerver. A hibátlan szintaxis csupán azt jelenti, hogy a megadott szöveg formátuma megfelel a DMARC szabvány követelményeinek.