Den existerande mekanismen kan göra SPF policyn beror på ett DNS namn som sammanställts från meddelandets SMTP ingångar. Detta möjliggör en finslipad policy, men gör det synliga TXT post en dålig beskrivning av den faktiska frågan eller dess integritetskonsekvenser.
Godkänn inte en makropolicy eftersom den ser bekant ut. Utöka den för representativa indata, identifiera DNS operatören som tar emot frågan och fastställa vad ett positivt svar betyder.
Förstå testet som finns
exists utökar sin domänspecifikation och utför en A-postfråga. Den gör detta även för en IPv6 SMTP anslutning. Om någon Ett rekord returneras, matchar mekanismen; den returnerade adressen jämförs inte med den anslutande IP-adressen. Ett svar med endast AAAA uppfyller inte den A-uppslagningen. Se RFC 7208 avsnitt 5.7.
Under det normala +-kvalet ger en match passning. Ett saknat namn eller tomt Ett svar matchar inte; tillfälliga DNS fel ska hanteras enligt SPF :s felregler, inte tyst omvandlas till ett auktorisationsbeslut.
Utöka en syntetisk fråga för hand
Antag en giltig enskild post, framgångsrika DNS svar och inga överskridna gränser. Överväga v=spf1 exists:%{ir}._permit.%{d} -all på example.com för en IPv4 anslutning från 192.0.2.9 . Makrot i representerar ingångsadressen. r-transformatorn vänder delarna och d är den aktuella utvärderingsdomänen. Den utökade frågan är 9.2.0.192._permit.example.com.
Om det namnet returnerar en A-post, till exempel det illustrativa värdet 127.0.0.2 , finns matchningar även om den adressen skiljer sig från 192.0.2.9 . Om ingen A-post finns och inget fel förhindrar utvärdering, matchar inte mekanismen och policyn når -all .
A-värdet här är bara en markör för positivt svar. Säkerhetsbetydelsen kommer från kontroll av det efterfrågade DNS namnområdet och dess regel för att returnera svar. Ett jokertecken som svarar på alla möjliga frågor kan oavsiktligt auktorisera varje indata som når den.
Särskilj makroidentiteter
D-makrot är den aktuella domänen som utvärderas. Makrot o kommer från avsändarens domän, medan l avser avsändarens lokala del. Inkludera eller omdirigera kan ändra utvärderingskontext, så anta inte att d och o förblir utbytbara i ett beroende.
Makrotransformatorer kan välja delar, vända dem och ändra avgränsare. IPv6 expansion är inte samma prickade decimalsträng som IPv4 . Använda RFC 7208 §7.2 och RFC 7208 §7.3 och ett implementeringsspår för den faktiska formen snarare än att gissa från ett IPv4 -exempel.
Missformade utökade namn och för långa etiketter kräver särskild försiktighet. Under RFC 7208 §4.8, noterar specifikationen implementeringsskillnader för vissa ogiltiga domänspecifika resultat. Håll fixturer inom giltig DNS syntax och testa utvärderaren som används i din miljö; hävdar inte att alla mottagare hanterar alla felaktiga ingångar identiskt.
Granska integritet och tillgänglighet
Som beskrivs i RFC 7208 §11.6, kan ett makro som använder lokal del eller fullständig avsändardata exponera meddelanderelaterad identitetsinformation genom DNS frågor för namnområdesoperatören och relevant DNS infrastruktur. Granska minimidata som krävs innan du använder en sådan design, särskilt med en tredjepartspolicytjänst.
Policyn beror också på tillgängligheten och integriteten hos det svarande DNS systemet. Registrera vem som driver det, hur positiva svar genereras, hur förändringar granskas och vad som händer under avbrott. Under RFC 7208 §4.6.4, DNS-förfrågan-orsakande termer och ogiltiga uppslagningar förbli föremål för SPF gränser; existerar ger inte obegränsade externa policysamtal.
Bygg användbara acceptansarmaturer
Testa en auktoriserad ingång, en obehörig ingång, IPv6 om den används, ett DNS avbrott och en giltig men ovanlig avsändarlokal del om det påverkar frågan. Spara exakt utökat namn, frågetyp, DNS svar och terminal SPF -resultat för varje fixtur.
Testa även jokerteckenbeteende och ändringar av målzonen. En post kan förbli syntaktisk korrekt medan telefonsvararen ändrar sin behörighetslogik. Stäng granskningen endast när DNS beslutet kan förklaras och återges.
Den praktiska takeawayen
För existerar, är den utökade DNS frågan policybeviset. Granska dess indata, svarssemantik, sekretessexponering och felbeteende innan du förlitar dig på det resulterande passet.
Anteckna beslutet och dess gränser
För samma 192.0.2.9 inmatning, särskilj tre matcher: A= 127.0.0.2 ger en matchning och standardkvalificerad pass; ett framgångsrikt tomt Ett svar ger ingen matchning och når -all ; ett tillfälligt DNS fel avslutar utvärderingen som temperror snarare än att misslyckas. Felregeln är RFC 7208 §5 och RFC 7208 §4.6.2. Dessa är förväntade resultat, inte observerade DNS eller utvärderingskörningar.