Mit ellenőriz az SPF-ellenőrző?
Beolvassa a megadott domain TXT-rekordjait, és kiválasztja azt, amelyik v=spf1 értékkel kezdődik. Ezután ugyanúgy követ minden include és redirect elemet, ahogy egy fogadó szerver tenné, rögzít minden DNS-lekérdezést igénylő elemet, és ellenőrzi az összes elem szintaxisát.
Itt nincs szó IP-címről. A kérdés az, hogy a rekord érvényes-e, és a DNS-lekérdezési korláton belül kiértékelhető-e bárki számára, nem pedig az, hogy egy adott szerver küldhet-e. Ennek ellenőrzéséhez küldjön üzenetet a teljes teszten keresztül, a jelentés pedig megmutatja a fogadó által ténylegesen kapott eredményt.
Túl sok DNS-lekérdezés: a limit tíz
Az RFC 7208 az SPF kiértékelését legfeljebb tíz olyan elemre korlátozza, amely DNS-lekérdezést igényel: include, a, mx, ptr, exists és redirect. A számlálás a teljes fán végigfut, így egy olyan include, amely maga további hármat tartalmaz, négyet használ fel. A korlát túllépése permerror eredményt ad, amit a DMARC úgy értékel, hogy az SPF nem ment át.
Az ellenőrző minden elemet megszámol, azokat is, amelyekhez a kiértékelés esetleg soha nem jut el, mivel a valós kiértékelés az első egyezésnél leáll. A lista elején szereplő szerverek továbbra is megfelelnek, a későbbiek pedig hibát adnak. Kívülről ez úgy látszik, mintha a levelezés egyes üzeneteknél működne, másoknál pedig nem.
Az ip4 és ip6 elemek nem számítanak bele a korlátba. Az include elemek címtartományokra cserélése, vagyis a flattening, csökkenti a lekérdezések számát, viszont ezeket a tartományokat kézzel kell összhangban tartania a szolgáltatói változásokkal.
Gyakori SPF-hibák
Két SPF-rekord ugyanazon a domainen. Ez akkor fordul elő, amikor egy második szolgáltató beállítási útmutatója új rekord hozzáadását kéri, de senki nem egyesíti azt az elsővel. Két rekord önmagában is permerror hibát okoz.
A +all végződés az internet bármely szerverét elfogadja, a ?all pedig senkiről nem mond semmit, így semmilyen védelmet nem nyújt. Az RFC 7208 szerint a ptr elem használata kerülendő. A vállalat által évek óta nem használt szolgáltatásokhoz tartozó include elemek továbbra is egy-egy lekérdezésnek számítanak.
Kérdések
Hogyan néz ki egy SPF-rekord?
Ez egyetlen TXT-rekord a domainen, amely v=spf1 értékkel kezdődik, felsorolja, hogy ki küldhet levelet, majd egy mindenki másra vonatkozó szabállyal végződik. A v=spf1 include:_spf.google.com ip4:203.0.113.5 ~all engedélyezi a Google Workspace és egy szerver számára a küldést, minden más esetben pedig softfail eredményt ad. Egy domain csak egyet tehet közzé.
SPF softfail vagy hardfail: ~all vagy -all?
Ha már be van állítva a DMARC, mindkettő megfelelő, mert a DMARC határozza meg, mi történjen a sikertelen ellenőrzésű üzenettel. A ~all (softfail) a biztonságosabb választás, amíg még keresi az összes olyan szolgáltatást, amely az Ön nevében küld. Akkor váltson -all értékre, amikor a DMARC-jelentések szerint egyetlen szabályos üzenet ellenőrzése sem sikertelen.
Miért felel meg a rekordom a teljes tesztben, miközben itt tíznél több lekérdezés látható?
A fogadó az Ön szerverére illeszkedő első kifejezésnél leállította a kiértékelést, így a többi lekérdezést már nem végezte el. A lista későbbi elemére illeszkedő másik szerver esetén ugyanaz a kiértékelés túllépné a tíz lekérdezést, és sikertelen lenne.
Mi az üres DNS-lekérdezés?
Olyan DNS-lekérdezés, amely nem ad vissza rekordot, vagy nem létező névre irányul. Az RFC 7208 szerint egy kiértékelésben kettő ilyen engedélyezett, a harmadik permerror hibát okoz. Ezt általában már nem létező domainekre mutató include elemek okozzák.
Lehet két SPF rekordja egy domainnek?
Nem. Az RFC 7208 egyetlen, v=spf1 kezdetű rekordot engedélyez. Ha kettő van, minden kiértékelés permerror eredménnyel zárul. Egyesítse őket: tartson meg egyetlen v=spf1 rekordot, helyezze bele mindkettő include és ip4 elemeit, majd zárja egyetlen all elemmel. A v=spf1 include:_spf.google.com include:servers.mcsv.net ~all két szolgáltatót fed le egy rekordban.
Teljes útmutató: Multiple SPF records
Mit jelent az SPF permerror?
Állandó hiba: a rekord a közzétett formájában nem értékelhető ki, ezért az újrapróbálás ugyanazt az eredményt adja. A szokásos okok: tíznél több DNS-lekérdezés, két SPF rekord egy domainen, szintaktikai hiba vagy egy harmadik eredmény nélküli lekérdezés. A DMARC a permerror eredményt sikertelen SPF-ellenőrzésnek számítja.
Teljes útmutató: SPF permerror: too many DNS lookups
Mi történik, ha nem található SPF rekord?
A fogadó szerverek none eredményt kapnak, amelyet a DMARC ugyanúgy kezel, mint a fail eredményt, és bárki használhatja a domainjét envelope senderként. Tegyen közzé magán a domainen egyetlen TXT rekordot, amely v=spf1 értékkel kezdődik, felsorolja az Ön nevében küldő szolgáltatásokat, és ~all vagy -all értékkel végződik.