Hva SPF-kontrollen gjør
Den leser TXT-oppføringene for domenet du skriver inn, og finner oppføringen som begynner med v=spf1. Deretter følger den hver include og redirect slik en mottakende server ville gjort, registrerer hvert oppslag som krever en DNS-spørring, og kontrollerer syntaksen i hvert ledd.
Ingen IP-adresse er involvert. Spørsmålet her er om oppføringen er gyldig og ikke for ressurskrevende for dem som må evaluere den, ikke om én bestemt server har tillatelse til å sende. For å kontrollere dette kan du sende en melding gjennom den fullstendige testen. Rapporten viser resultatet mottakeren faktisk fikk.
For mange DNS-oppslag: grensen er ti
RFC 7208 begrenser en SPF-evaluering til ti ledd som krever en DNS-spørring: include, a, mx, ptr, exists og redirect. Antallet gjelder for hele treet, så en include som selv inneholder tre nye include, bruker fire av dem. Overskrides grensen, blir resultatet permerror, som DMARC regner som at SPF ikke består.
Kontrollen teller hvert ledd, også dem evalueringen kanskje aldri når, fordi en reell evaluering stopper ved første treff. Serverne som står tidlig i oppføringen, fortsetter å bestå, mens de lenger nede begynner å feile. Fra utsiden ser dette ut som e-post som fungerer for noen meldinger, men ikke for andre.
ip4- og ip6-ledd koster ingen oppslag. Hvis include erstattes med adresseområder, også kalt flattening, reduseres antallet oppslag. Ulempen er at du manuelt må holde områdene oppdatert i takt med leverandørene.
Vanlige SPF-feil
To SPF-oppføringer på samme domene. Dette skjer når oppsettsveiledningen til en ny leverandør ber deg legge til en oppføring, uten at noen slår den sammen med den første. To oppføringer gir i seg selv permerror.
En avslutning med +all, som lar enhver server på internett bestå, eller ?all, som ikke sier noe om noen og derfor ikke beskytter noe. Et ptr-ledd, som RFC 7208 sier at du ikke skal bruke. include for tjenester selskapet sluttet å bruke for flere år siden, koster fortsatt ett oppslag hver.
Spørsmål
Hvordan ser en SPF-oppføring ut?
Det er én TXT-oppføring på domenet som begynner med v=spf1, angir hvem som kan sende, og avsluttes med en regel for alle andre. v=spf1 include:_spf.google.com ip4:203.0.113.5 ~all lar Google Workspace og én server sende, og gir softfail for resten. Et domene kan bare publisere én.
SPF softfail eller hardfail: ~all eller -all?
Når DMARC er på plass, fungerer begge deler, fordi DMARC bestemmer hva som skjer med en melding som ikke består kontrollen. ~all (softfail) er det tryggeste valget mens du fortsatt finner alle tjenestene som sender på dine vegne. Bytt til -all når DMARC-rapportene viser at ingen legitime meldinger feiler.
Hvorfor består recorden min den fullstendige testen, men viser mer enn ti oppslag her?
Mottakeren avsluttet evalueringen ved det første leddet som samsvarte med serveren din, så resten av oppslagene ble aldri utført. En annen server lenger nede på listen ville fått den samme evalueringen over ti oppslag, og den ville feilet.
Hva er et tomt DNS-oppslag?
En DNS-spørring som ikke returnerer noen records, eller som gjelder et navn som ikke finnes. RFC 7208 tillater to slike oppslag i én evaluering. Det tredje gir permerror. include for domener som ikke lenger finnes, er den vanligste årsaken.
Kan et domene ha to SPF-records?
Nei. RFC 7208 tillater én oppføring som starter med v=spf1. Med to slike ender hver evaluering i permerror. Slå dem sammen: behold én v=spf1, legg inn include- og ip4-leddene fra begge, og avslutt med én all. v=spf1 include:_spf.google.com include:servers.mcsv.net ~all dekker to leverandører i én oppføring.
Full veiledning: Multiple SPF records
Hva betyr SPF permerror?
Permanent feil: Oppføringen kan ikke evalueres slik den er publisert, så et nytt forsøk gir samme resultat. De vanligste årsakene er mer enn ti DNS-oppslag, to SPF-records på ett domene, en syntaksfeil og et tredje tomt oppslag. DMARC regner permerror som at SPF ikke består.
Full veiledning: SPF permerror: too many DNS lookups
Hva skjer hvis ingen SPF-record blir funnet?
Mottakere får resultatet none, som DMARC behandler på samme måte som fail, og hvem som helst kan bruke domenet ditt som konvoluttavsender. Publiser én TXT-oppføring på selve domenet som starter med v=spf1, viser tjenestene som sender for deg, og avsluttes med ~all eller -all.