Den eksisterende mekanismen kan gjøre SPF policy avhenger av et DNS navn satt sammen fra meldingens SMTP innganger. Dette muliggjør finmasket politikk, men synliggjør det TXT post en dårlig beskrivelse av det faktiske søket eller dets personvernimplikasjoner.
Ikke godkjenn en makropolicy fordi den ser kjent ut. Utvid den for representative input, identifiser DNS operatøren som mottar spørringen og finn ut hva et positivt svar betyr.
Forstå den eksisterende testen
exists utvider sin domenespesifikasjon og utfører en A-record-spørring. Den gjør dette selv for en IPv6 SMTP tilkobling. Hvis noen En rekord returneres, samsvarer mekanismen; den returnerte adressen sammenlignes ikke med den tilkoblede IP-en. Et AAAA-svar tilfredsstiller ikke det A-oppslaget. Se RFC 7208 avsnitt 5.7.
Under normal +-kvalifisering gir en kamp pasning. Et manglende navn eller tomt Et svar stemmer ikke; midlertidige DNS feil skal håndteres i henhold til SPF feilregler, ikke stille om til en autorisasjonsbeslutning.
Utvid en syntetisk spørring for hånd
Anta en gyldig enkeltpost, vellykkede DNS svar og ingen overskridelse av grenser. Vurder v=spf1 exists:%{ir}._permit.%{d} -all på example.com for en IPv4 tilkobling fra 192.0.2.9 . Makroen i representerer inngangsadressen. r-transformatoren reverserer delene, og d er det gjeldende evalueringsdomenet. Det utvidede søket er 9.2.0.192._permit.example.com.
Hvis det navnet returnerer en A-post, for eksempel den illustrative verdien 127.0.0.2 , finnes det samsvar selv om den adressen er forskjellig fra 192.0.2.9 . Hvis ingen A-post eksisterer og ingen feil forhindrer evaluering, samsvarer ikke mekanismen, og policyen når -all .
A-verdien her er bare en positiv-svar-markør. Sikkerhetsbetydningen kommer fra kontroll av det spørrede DNS navneområdet og dets regel for å returnere svar. Et jokertegn som svarer på alle mulige spørsmål kan utilsiktet autorisere alle inndata som når det.
Skille makroidentiteter
D-makroen er det gjeldende domenet som evalueres. Makroen o kommer fra avsenderens domene, mens l refererer til avsenderens lokale del. Inkluder eller omdiriger kan endre evalueringskontekst, så ikke anta at d og o forblir utskiftbare i en avhengighet.
Makrotransformatorer kan velge deler, reversere dem og endre skilletegn. IPv6 utvidelse er ikke den samme stiplede desimalstrengen som IPv4 . Bruk RFC 7208 §7.2 og RFC 7208 §7.3 og en implementeringssporing for den faktiske formen i stedet for å gjette fra et IPv4 eksempel.
Misdannede utvidede navn og for lange etiketter krever spesiell forsiktighet. Under RFC 7208 §4.8, merker spesifikasjonen implementeringsforskjeller for noen ugyldige domenespesifikasjonsresultater. Hold inventar innenfor gyldig DNS syntaks og test evaluatoren som brukes i miljøet ditt; ikke hevder at alle mottakere håndterer alle misformede innganger identisk.
Gjennomgå personvern og tilgjengelighet
Som beskrevet i RFC 7208 §11.6, kan en makro som bruker lokale deler eller fullstendig avsenderdata avsløre meldingsrelatert identitetsinformasjon gjennom DNS spørringer til navneområdeoperatøren og relevant DNS infrastruktur. Se gjennom minimumsdataene som kreves før du bruker et slikt design, spesielt med en tredjeparts policytjeneste.
Retningslinjene avhenger også av tilgjengeligheten og integriteten til det svarende DNS systemet. Registrer hvem som driver det, hvordan positive svar genereres, hvordan endringer vurderes og hva som skjer under strømbrudd. Under RFC 7208 §4.6.4, DNS-spørringsfremkallende vilkår og ugyldige oppslag forbli underlagt SPF grenser; eksisterer gir ikke ubegrensede eksterne policy-anrop.
Bygg nyttige akseptarmaturer
Test en autorisert inngang, en uautorisert inngang, IPv6 hvis brukt, et DNS brudd og en gyldig, men uvanlig avsender lokal del hvis det påvirker spørringen. Lagre nøyaktig utvidet navn, spørringstype, DNS svar og terminal SPF -resultat for hver armatur.
Test også jokertegnoppførsel og endringer i målsonen. En post kan forbli syntaktisk korrekt mens svartjenesten endrer tillatelseslogikken. Lukk anmeldelsen bare når DNS avgjørelsen kan forklares og reproduseres.
Den praktiske takeawayen
For eksisterer, er det utvidede DNS spørsmålet policybeviset. Se gjennom inndataene, svarsemantikken, personverneksponeringen og feilatferden før du stoler på den resulterende bestått.
Registrer beslutningen og dens grenser
For den samme 192.0.2.9 inngangen, skille mellom tre kamper: A= 127.0.0.2 gir en kamp og standardkvalifisert pass; en vellykket tom Et svar gir ingen match og når -all ; en midlertidig DNS feil avslutter evalueringen som temperror heller enn å mislykkes. Feilregelen er RFC 7208 §5 og RFC 7208 §4.6.2. Dette er forventede utfall, ikke observerte DNS eller evaluatorkjøringer.