SPF Syntaxis opnemen

We hebben deze uitgebreide gids ontwikkeld om uw te verhogen SPF begrijpen en helpen bij het oplossen van problemen die onze applicatie mogelijk onder uw aandacht heeft gebracht. Geldig en nauwkeurig zijn SPF record zal leiden tot verbeterde verificatiedekking, afleverbaarheid en helpen bij het bevorderen van het gewenste beveiligingsniveau voor uw domeinen.

Heeft een niet dmarcian account? U kunt nog steeds de inhoud van uw opvragen SPF opnemen met behulp van onze SPF Enquêtetool.

Maak een gratis account aan nu te hebben dmarcian controleer uw SPF, DKIM en DMARC registreert automatisch voor u. Krijg bijvoorbeeld inzicht in bezorgfouten, phishing en imitatiepogingen met dmarcian'S SaaS-platform.

Gebruik het navigatiemenu net onder om naar het specifieke element van uw te springen SPF record in kwestie. Aanvullende informatie over SPF vindt u in de gekoppelde artikelen onderaan dit document.

mechanismen

Mechanismen kunnen worden gebruikt om de set hosts te beschrijven die uitgaande mailers voor het domein zijn en kunnen worden voorafgegaan door een van de vier kwalificatiemogelijkheden:

+ (Voorbij lopen)
(Fail)
~ (SoftFail)
? (Neutrale)

Als een mechanisme resulteert in een treffer, wordt de kwalificatiewaarde gebruikt. De standaardquotifier is "+", Dwz" Pass ".

Mechanismen worden in volgorde geëvalueerd. Als geen mechanisme of modifier overeenkomt, is het standaardresultaat "Neutraal".

Meer diepgaande informatie over de verschillen tussen '~"En"" is te vinden hier

Voorbeelden:

"V = spf1 -all"

"V = spf1 a -all"

"V = spf1 a mx -all"

"V = spf1 + a + mx -all"

Als een domein geen SPF record helemaal, het resultaat is "Geen". Als een domein een tijdelijke fout heeft tijdens de DNS-verwerking, krijgt u het resultaat "TempError" (in eerdere versies "fout" genoemd). Als er een soort syntaxis of evaluatiefout optreedt (het domein geeft bijvoorbeeld een niet-herkend mechanisme aan) is het resultaat "PermError" (voorheen "onbekend").

Evaluatie van een SPF record kan een van deze resultaten retourneren:

Resultaat Uitleg Voorgenomen actie
Passeren De SPF record geeft de host aan die mag worden verzonden accepteren
Mislukken De SPF record heeft de host aangewezen als NIET toegestaan ​​om te verzenden af te wijzen
SoftFail De SPF record heeft de host aangewezen als NIET toegestaan ​​om te verzenden maar is in transitie accepteer maar markeer
Neutraal De SPF record geeft expliciet aan dat er niets over geldigheid kan worden gezegd accepteren
Geen Het domein heeft geen SPF record of de SPF record wordt niet geëvalueerd tot een resultaat accepteren
PermError Er is een permanente fout opgetreden (bijvoorbeeld slecht geformatteerd SPF record) gespecificeerd
TempError Er is een tijdelijke fout opgetreden accepteren of weigeren

Het "alle" mechanisme

alle

Dit mechanisme komt altijd overeen. Het moet altijd aan het einde van de SPF record.

Voorbeelden:

"V = spf1 mx -all"
Domein MX's toestaan ​​om e-mail voor het domein te verzenden, verbieden alle andere.

"V = spf1 -all"
Het domein verzendt helemaal geen e-mail.

"V = spf1 + alles"
Het domein staat alle IP-adressen op internet toe om e-mail te verzenden. Hoewel 'geldig', wordt dit niet aanbevolen.

Het "ip4" -mechanisme

ip4: <ip4-adres>
ip4: <ip4-netwerk> / <prefix-length>

Het argument voor het "ip4:" -mechanisme is een IPv4-netwerkbereik. Als geen prefix-length wordt gegeven, wordt / 32 aangenomen (een individueel hostadres uitkiezen). Zorg ervoor dat u een prefixlengte groter dan / 16 opneemt, omdat levering aan kleine kleinere ontvangers kan worden beïnvloed.

Voorbeelden:

"V = spf1 ip4: 192.168.0.1 / 16 -all"
Elk IP-adres toestaan ​​tussen 192.168.0.1 en 192.168.255.255.

Het "ip6" -mechanisme

ip6: <ip6-adres>
ip6: <ip6-netwerk> / <prefix-length>

Het argument voor het "ip6:" -mechanisme is een IPv6-netwerkbereik. Als Nee prefix-length wordt gegeven, / 128 wordt verondersteld (het uitzoeken van een individueel host-adres).

Voorbeelden:

“v=spf1 ip6:1080::8:800:200C:417A/96 -all”
Elk IPv6-adres toestaan ​​tussen 1080 :: 8: 800: 0000: 0000 en 1080 :: 8: 800: FFFF: FFFF.

“v=spf1 ip6:1080::8:800:68.0.3.1/96 -all”
Elk IPv6-adres toestaan ​​tussen 1080 :: 8: 800: 0000: 0000 en 1080 :: 8: 800: FFFF: FFFF.

Het "a" -mechanisme

a
a / <prefix-length>
a: <domein>
a: <domein> / <prefix-length>

Alle A-records voor domein zijn getest. Als het client-IP tussen hen wordt gevonden, komt dit mechanisme overeen. Als de verbinding via IPv6 tot stand wordt gebracht, wordt in plaats daarvan een AAAA-lookup uitgevoerd.

If domein is niet gespecificeerd, de current-domein is gebruikt.

De A-records moeten exact overeenkomen met het IP-adres van de client, tenzij a prefix-length wordt verstrekt, in welk geval elk IP-adres dat door de A lookup wordt geretourneerd, wordt uitgebreid tot het overeenkomstige CIDR-voorvoegsel en het client-IP binnen dat subnet wordt gezocht.

Voorbeelden:

"V = spf1 a -all"
Het huidige domein wordt gebruikt.

"V = spf1 a: example.com -all"
Equivalent als het huidige domein example.com is.

"V = spf1 a: mailers.example.com -all"
Misschien heeft example.com ervoor gekozen om alle uitgaande mailers expliciet op te nemen in een speciale A-record onder mailers.example.com.

"V = spf1 a / 24 a: offsite.example.com/24 -all"
Als example.com naar 192.0.2.1 werkt, wordt de hele klasse C van 192.0.2.0 / 24 doorzocht naar het client-IP. Evenzo voor offsite.example.com. Als er meer dan één A-record werd geretourneerd, zou elk worden uitgebreid naar een CIDR-subnet.

Het "mx" -mechanisme

mx
mx / <prefix-length>
mx: <domein>
mx: <domein> / <prefix-length>

Alle A-records voor alle MX-records voor domein worden getest in volgorde van MX-prioriteit. Als het client-IP tussen hen wordt gevonden, komt dit mechanisme overeen.

If domein is niet gespecificeerd, de current-domein is gebruikt.

De A-records moeten exact overeenkomen met het IP-adres van de client, tenzij een prefixlengte wordt opgegeven. In dat geval wordt elk IP-adres dat door A lookup wordt geretourneerd, uitgebreid tot het bijbehorende CIDR-prefix en wordt het IP-adres van de client binnen dat subnet gezocht.

Voorbeelden:

"V = spf1 mx mx: delferrals.domain.com -all"
Misschien stuurt een domein mail via zijn MX-servers plus een andere set servers waarvan de taak is om e-mail opnieuw te proberen voor het uitstellen van domeinen.

"V = spf1 mx / 24 mx: offsite.domain.com/24 -all"
Misschien ontvangen de MX-servers van een domein e-mail op één IP-adres, maar verzenden ze e-mail op een ander maar in de buurt gelegen IP-adres.

Het "ptr" -mechanisme

ptr
PTR: <domein>

De hostnaam of hostnamen voor het IP-adres van de client worden opgezocht met behulp van PTR-query's. De hostnamen worden vervolgens gevalideerd: ten minste één van de A-records voor een PTR-hostnaam moet overeenkomen met het oorspronkelijke IP-adres van de client. Ongeldige hostnamen worden genegeerd. Als een geldige hostnaam eindigt in een domein, komt dit mechanisme overeen.

Als het domein niet is opgegeven, wordt het huidige domein gebruikt.

Gebruik dit mechanisme, indien mogelijk, niet in uw SPF record, omdat dit resulteert in een groter aantal dure DNS-zoekopdrachten.

Voorbeelden:

"V = spf1 ptr -all"
Een domein dat rechtstreeks al zijn machines bestuurt (in tegenstelling tot een inbel- of breedband-ISP) staat alle servers toe om e-mail te verzenden. Bijvoorbeeld, hotmail.com of paypal.com kan dit doen.

"V = spf1 ptr: otherdomain.com -all"
Elke server waarvan de hostnaam eindigt op otherdomain.com wordt aangewezen.

Het "bestaat" mechanisme

bestaat: <domein>

Voer een A-query uit op het opgegeven domein. Als een resultaat wordt gevonden, vormt dit een overeenkomst. Het maakt niet uit wat het opzoekresultaat is - het zou 127.0.0.2 kunnen zijn.

Wanneer u macro's met dit mechanisme gebruikt, kunt u omgekeerde IP-lookups naar RBL-stijl uitvoeren of uitzonderingen per gebruiker instellen.

Voorbeelden:

In het volgende voorbeeld is het client-IP 1.2.3.4 en het huidige domein example.com.

"V = spf1 bestaat: example.com -all"

Als example.com niet wordt opgelost, is het resultaat mislukt. Als het probleem wordt opgelost, resulteert dit mechanisme in een overeenkomst.

Het "include" -mechanisme

zijn onder andere: <domein>

De opgegeven domein is gezocht naar een match. Als de zoekopdracht geen overeenkomst of fout retourneert, gaat de verwerking door naar de volgende richtlijn. waarschuwing: Indien de domein heeft geen geldig SPF record, het resultaat is een permanente fout. Sommige e-mailontvangers weigeren op basis van een PermError.

Voorbeelden:

In het volgende voorbeeld is het client-IP 1.2.3.4 en het huidige domein example.com.

"V = spf1 include: example.com -all"

Als example.com geen heeft SPF record, het resultaat is PermError.
Stel dat voorbeeld.com's SPF record waren "V = spf1 a -all".
Zoek het A-record op voor example.com. Als het overeenkomt met 1.2.3.4, retourneert u Pass.
Als er geen overeenkomst is, anders dan de "-all" van het opgenomen domein, kan de include als geheel niet overeenkomen; het uiteindelijke resultaat is nog steeds Mislukt van de buitenste richtlijn die in dit voorbeeld is ingesteld

Vertrouwensrelaties - Het "include:" -mechanisme is bedoeld om administratieve grenzen te overschrijden. Er is grote zorg nodig om ervoor te zorgen dat “include:” -mechanismen geen risico lopen op het geven van domeinen SPF Geef resultaten door aan berichten die het gevolg zijn van vervalsing door meerdere gebruikers. Tenzij technische mechanismen aanwezig zijn op het gespecificeerde andere domein om vervalsing door meerdere gebruikers te voorkomen, moeten mechanismen voor "omvatten:" eerder een neutraal dan een geslaagd resultaat geven. Dit wordt gedaan door "?" Toe te voegen voor "include:".

Het voorbeeld zou dan zijn:

"V = spf1? Include: example.com -all"

modifiers

Modifiers zijn optioneel. Een wijziging kan slechts eenmaal per record verschijnen. Onbekende modifiers worden genegeerd.

De "redirect" -bepaling

redirect = <domein>

De SPF opnemen voor domein vervang de huidige record. De macro-uitgebreid domein wordt ook vervangen door de current-domein in die look-ups.

Als een 'redirect'-modifier wordt gebruikt, wordt de SPF record moet niet ook het 'all'-mechanisme bevatten. Als beide aanwezig zijn, wordt de modificatie 'omleiden' genegeerd. Alle 'omleidings'-modificaties voorbij de eerste worden genegeerd.

Voorbeelden:

In het volgende voorbeeld is het client-IP 1.2.3.4 en het huidige domein example.com.

"V = spf1 omleiden = example.com"

Als example.com geen heeft SPF record, dat is een fout; het resultaat is onbekend.
Stel dat voorbeeld.com's SPF record was "V = spf1 a -all".
Zoek het A-record op voor example.com. Als het overeenkomt met 1.2.3.4, retourneert u Pass.
Als er geen overeenkomst is, kan de exec niet overeenkomen en wordt de -alle waarde gebruikt.

De "exp" -modifier

exp = <domein>

Als een SMTP-ontvanger een bericht weigert, kan dit een verklaring bevatten. Een SPF uitgever kan de verklaringsreeks opgeven die afzenders zien. Op deze manier kan een ISP niet-conforme gebruikers doorverwijzen naar een webpagina met verdere instructies voor het configureren van SASL.

Het domein is uitgebreid; er wordt een TXT-zoekopdracht uitgevoerd. Het resultaat van de TXT-query wordt vervolgens macro-uitgebreid en aan de afzender getoond. Andere macro's kunnen worden gebruikt om een ​​aangepaste uitleg te geven.

De exp-modifier mag alleen afdrukbare ASCII-tekens bevatten.

Te veel opzoekingen?

In de afgelopen tien jaar is het steeds eenvoudiger geworden om e-mail te verzenden. ontelbaar bronnen zijn op de markt gekomen en bieden elk een gespecialiseerde toolset op maat om tegemoet te komen aan de hedendaagse behoeften van marketeers, ontwikkelaars en kleine bedrijven. Naast deze uitbreiding, specifiek voor e-mailverificatie SPF, is een steeds complexere zaak geworden om te navigeren.

Binnen SPF RFC-specificatie (voornamelijk internetwetgeving), hun leugens zijn een praktische limiet voor het aantal "DNS-query-mechanismen" SPF record kan bevatten. Die limiet is tien. De tien max lookup stelt dat een domeinbeheerder (dat ben jij!) Niet vereist dat Gmail of andere ontvangers meer dan tien opeenvolgende DNS-lookups uitvoeren om te zien of je een bepaald IP-adres machtigt om namens jou e-mail te verzenden.

Omdat het voor elke organisatie enigszins gebruikelijk is geworden om een ​​groot aantal ongelijksoortige netblocks te autoriseren (vanwege de uitbestede aard van e-mailinfrastructuur), blijft er wat lijkt op de constante en onnodige inbreuk op de tien max lookup. Deze limiet blijft echter volledig praktisch en moet worden nageleefd om een ​​tijdige levering en gunstige inbox-tarieven te garanderen. Verder wordt de oplossing om de limiet te voorkomen vierkant aangepakt door andere gangbare best practices voor e-mail, lang aangemoedigd door grote inkomende ontvangers zoals Gmail en Yahoo.

De meest praktische oplossing om het probleem 'teveel opzoeken' te voorkomen, is het gebruik van subdomeinen. Aangezien elk discreet subdomein zijn eigen maximum van tien opzoekingen krijgt, SPF is effectief grenzeloos. Voorbeeld: hello.com mag tien opzoeken + sub.hello.com mag tien opzoeken. Het is duidelijk dat u nooit in de tien max. Opzoekconditie moet komen als u verschillende e-mailstromen (bijv. Transactionele, zakelijke, marketing, etc.) correct segmenteert op discrete naamruimte.

In deze subsectie 'bezorgtips' van de Gmail-postmaster-sitehet wordt aanbevolen om;

  • Gebruik afzonderlijke e-mailadressen
  • Verzend e-mail vanuit verschillende domeinen en / of IP-adressen

Samenvattend: u mag nooit maximaal 10 opzoeken. Als u dat doet, hebben we een aantal aanvullende strategieën en kennisbasismaterialen geschetst over hoe te navigeren.

Extra Reading:

- Video: hoe SPF werkt - Link
- Extra informatie over 'te veel opzoekingen' - Link
- Veel voorkomende misvattingen over SPF – Link
– SPF Surveyor Tool - Link

Wilt u het gesprek voortzetten? Ga naar het dmarcian- forum