An SPF rekord er en sekvens af tests med eksplicitte resultater. Forskellen mellem et kolon, et lighedstegn og en kvalifikation har betydning. En syntaktisk gyldig ændring kan også ændre, hvem der er autoriseret, hvilke DNS afhængigheder der nås, eller hvor behandlingen stopper.
Bruge RFC 7208 §4.6, RFC 7208 §5.2 og RFC 7208 §6 som grammatik og evalueringsreference. Behandl eksemplerne nedenfor som syntetiske inventar, ikke poster, der skal indsættes i produktionen.
Adskil mekanismer fra modifikatorer
En mekanisme spørger, om et input matcher: eksempler inkluderer ip4, ip6, a, mx, include, exists og alle. En kvalifikation, der er knyttet til en matchningsmekanisme, bestemmer dens resultat: + giver bestået, - ikke, ~ softfail og ? neutral. Under RFC 7208 §4.6.2, hvis kvalifikationen er udeladt, er + underforstået.
Modifikatorer bruger et lighedstegn. redirect=policy.example.com delegeret evaluering, når ingen mekanisme matcher. exp=explain.example.com identificerer forklarende tekst for visse fejlresultater. De er ikke yderligere matchende mekanismer. Anerkendte modifikatorer har deres egne regler; syntaktisk gyldige ikke-genkendte modifikatorer ignoreres, mens en ikke-genkendt mekanisme er en fejl.
En rekord begynder med v=spf1 og udgives som en DNS TXT post ved den vurderede identitet. To separate SPF -poster hos samme ejer er ikke en måde at kombinere afsendere på; SPF postvalg vender tilbage permerror under RFC 7208 §4.5. Flere citerede strenge inde i en TXT post er en anden repræsentation og er sammenkædet uden indsat mellemrum under RFC 7208 §3.3.
Spor et komplet eksempel
Antag gyldig syntaks, én SPF -record ved hvert navn og vellykket DNS hentning. Antag, at politikken er v=spf1 ip4:192.0.2.20 include:service.example.net -all. Den inkluderede politik er v=spf1 ip4:198.51.100.10 -all.
For 192.0.2.20 passerer den første mekanisme matcher og returnerer. Inkluderingen er ikke nødvendig for denne evalueringssti. For 198.51.100.10 matcher den første mekanisme ikke, den inkluderede politikretur passerer, og den ydre inkluderer matches med standard + kvalifikation. For 203.0.113.7 mislykkes de inkluderede policeretur; det gør, at inkluderer ikke matcher, og den ydre -all leverer den endelige fejl.
Dette spor forklarer, hvorfor include ikke er tekstsubstitution. Den inkluderede -all afviser ikke umiddelbart alle adresser, der gik glip af tjenestens politik. Den overordnede politik genoptages efter et ikke-matchende inkluderet resultat.
Forstå, hvor behandlingen stopper
En matchningsmekanisme afslutter almindelig mekanismeevaluering. En fejl fra en nået periode kan også afslutte evalueringen. Omarrangering af vilkår kan derfor ændre resultatet eller de afhængigheder, som en modtager skal forespørge på.
Alle-mekanismen matcher altid, så vilkårene efter den kan ikke give yderligere autorisation. EN omdirigeringsmodifikator ignoreres, når en alt-mekanisme er til stede hvor som helst i posten. Skrivning -all redirect= policy.example.com skaber ikke en nødsituation.
Under RFC 7208 §4.7, hvis ingen mekanisme matcher, og der ikke er nogen omdirigering, er standardresultatet neutralt. Gør den tilsigtede slutning eksplicit, så en anden administrator ikke behøver at udlede, om udeladelsen var bevidst.
Tjek stien og hele posten
Før publicering skal du validere den komplette syntaks, ikke kun den del, der forventes at matche en velkendt IP. En ugyldig politik kan ikke gøres sikker ved at antage et gunstigt tidligt match. Evaluer derefter godkendte IPv4 og IPv6 input, et uautoriseret input og afhængigheder, der fejler eller returnerer ingen SPF post.
Den primære DNS -termgrænse dækker evalueret inkluderer, a, mx, ptr, exists og omdirigeringsvilkår, inklusive rekursion. Det er ikke en optælling af citerede TXT fragmenter. Hold et spor, der viser både det valgte resultat og de nåede DNS vilkår. Budget for ændringer i udbyderafhængighed i stedet for at designe en politik uden frihøjde.
Foretag en ændring, der kan gennemgås
Skriv den foreslåede post ud for den aktuelle post og forklar den påtænkte tilladelsesforskel på almindeligt sprog. Bevar den tidligere værdi og TTL, tjek resultatet på autoritativ DNS og gennem en rekursiv resolver, derefter modtog testrepræsentanten beskeder.
Acceptbetingelsen er ikke blot, at en parser accepterer strengen. De påtænkte afsendere skal bestå for den korrekte identitet, utilsigtede afsendere bør ikke få tilladelse og kræves DMARC justering skal forblive intakt.
Den praktiske takeaway
Læs hver SPF sigt efter type, kvalifikation og stilling. Et tydeligt evalueringsspor gør syntaksgennemgang til en tilladelsesgennemgang i stedet for en tegnsætningsøvelse.
Hold beslutningen reproducerbar
I to-record-armaturen passerer den lokale adresse før include, serviceadressen overføres via børnepas, og den ikke-relaterede adresse når forælderens endelige fejl. Hvis barnet i stedet ikke har nogen SPF record, inkluderer de nåede returnerer permerror . Hold denne fejlsag adskilt fra underordnet fejl/ikke-match. Disse er analytiske resultater, ikke en udført parser- eller verifikatortest.