SPF-fouten oplossen: te veel lookups, syntaxfouten en softfail

Gewijzigd op Vr, 5 Jun om 10:53 AM

Een SPF-record bepaalt welke servers namens uw domein e-mail mogen verzenden. Fouten in de SPF-configuratie leiden tot afgewezen e-mail of een te zwakke bescherming. Veelvoorkomende problemen zijn te veel DNS-lookups, syntaxfouten en een verkeerd gekozen fail-mechanisme. In dit artikel leest u hoe u deze SPF-fouten oplost.

Probleem

Uw e-mail wordt geweigerd of als verdacht gemarkeerd met een melding over SPF, of een SPF-controle geeft een PermError of een onverwachte uitkomst. De SPF-bescherming werkt niet zoals bedoeld door een fout in het record.

Oorzaak

De bekendste SPF-fout is de limiet van tien DNS-lookups. SPF mag tijdens evaluatie maximaal tien opzoekacties uitvoeren; met veel include-mechanismen wordt deze limiet snel overschreden, wat resulteert in een PermError en een mislukte SPF-controle.

Een tweede oorzaak zijn syntaxfouten: meerdere SPF-records voor één domein, een ontbrekend afsluitend mechanisme, of een verkeerd geplaatst teken. SPF staat slechts één record per domein toe.

Een derde oorzaak is een verkeerd gekozen fail-mechanisme. Een softfail (~all) markeert verdachte mail slechts, terwijl een hardfail (-all) deze afwijst. Een te ruime instelling biedt weinig bescherming.

Oplossing

Tel het aantal DNS-lookups in uw SPF-record. Blijft u onder de tien? Zo niet, verminder includes, gebruik waar mogelijk directe ip4/ip6-mechanismen of een SPF-flattening-oplossing.

Zorg voor één geldig SPF-record per domein met correcte syntax en een afsluitend all-mechanisme.

Kies bewust tussen ~all (softfail) en -all (hardfail), afgestemd op hoe streng u wilt zijn en in combinatie met DMARC.

Stappenplan

  1. Vraag uw huidige SPF-record op met een SPF-checker.
  2. Controleer of er slechts één SPF-record bestaat.
  3. Tel het aantal DNS-lookups en blijf onder de tien.
  4. Verwijder overbodige includes of vervang ze door directe ip4/ip6-mechanismen.
  5. Controleer de syntax en het afsluitende all-mechanisme.
  6. Kies bewust tussen softfail (~all) en hardfail (-all).
  7. Sla het gecorrigeerde record op en wacht op propagatie.
  8. Verstuur een testmail en controleer de SPF-uitslag in de headers.

Voorbeeld correct SPF-record

Een goed SPF-record bevat de toegestane verzenders en sluit af met een fail-mechanisme. Onderstaand een voorbeeld voor een domein dat via Microsoft 365 verzendt.

Voorbeeld:

v=spf1 include:spf.protection.outlook.com -all

# Fout: twee SPF-records of >10 lookups

De tien-lookup-limiet begrijpen

De limiet van tien DNS-lookups is bedoeld om misbruik en eindeloze verwijzingen te voorkomen. Elk include-, a-, mx-, ptr- en exists-mechanisme telt mee. Diensten die zelf weer naar andere domeinen verwijzen, kunnen het aantal lookups onverwacht opdrijven.

Wanneer u de limiet nadert, helpt het om alleen de daadwerkelijk gebruikte verzenders op te nemen en includes van ongebruikte diensten te verwijderen. SPF-flattening, waarbij includes worden vervangen door de onderliggende IP-adressen, kan het aantal lookups verlagen, maar vraagt onderhoud omdat IP-adressen kunnen wijzigen.

Het is belangrijk te beseffen dat een PermError door te veel lookups de hele SPF-controle laat falen, niet slechts een deel. Eén te veel kan dus uw afleverbaarheid raken.

  • Maximaal tien DNS-lookups bij SPF-evaluatie
  • include, a, mx, ptr en exists tellen mee
  • Een PermError laat de hele SPF-controle falen

Veelgemaakte fouten

  • Meerdere SPF-records voor één domein instellen.
  • De limiet van tien DNS-lookups overschrijden.
  • Een te ruim mechanisme zoals +all gebruiken, wat alle verzenders toestaat.
  • Includes van ongebruikte diensten laten staan.
  • Een syntaxfout of ontbrekend all-mechanisme.
  • SPF instellen zonder DMARC, waardoor handhaving beperkt blijft.

Controle na afloop

  1. Controleer met een SPF-checker dat er één geldig record is.
  2. Controleer dat het aantal lookups onder de tien blijft.
  3. Verstuur een testmail en bekijk de SPF-uitslag in de headers.
  4. Controleer dat de gekozen fail-instelling het gewenste effect heeft.

Praktische tips

  • Houd uw SPF-record minimaal: alleen de verzenders die u echt gebruikt.
  • Gebruik bij voorkeur -all in combinatie met een goed DMARC-beleid.
  • Controleer het aantal lookups na elke wijziging.
  • Documenteer welke include bij welke dienst hoort.

Veelgestelde vragen

Wat betekent een SPF PermError?

Een PermError betekent meestal dat het SPF-record ongeldig is of dat de limiet van tien DNS-lookups is overschreden. De SPF-controle faalt dan volledig.

Mag ik twee SPF-records hebben?

Nee. Per domein is slechts één SPF-record toegestaan. Combineer alle verzenders in één record met meerdere include-mechanismen.

Wat is het verschil tussen ~all en -all?

~all is een softfail die verdachte mail markeert maar doorlaat; -all is een hardfail die niet-geautoriseerde mail afwijst. -all biedt strengere bescherming, zeker met DMARC.

Samenvatting

Veelvoorkomende SPF-fouten zijn meerdere records, het overschrijden van de tien-lookup-limiet, syntaxfouten en een te ruim fail-mechanisme. Houd één geldig SPF-record per domein, blijf onder de tien lookups, kies bewust tussen ~all en -all en combineer SPF met DMARC. Controleer na elke wijziging de SPF-uitslag in een testmail.

Gerelateerde artikelen


Komt u er niet uit? Plan een gratis strategiegesprek via https://www.bdmnl.nl/plan.

Was dit artikel nuttig?

Dat is fantastisch!

Hartelijk dank voor uw beoordeling

Sorry dat we u niet konden helpen

Hartelijk dank voor uw beoordeling

Laat ons weten hoe we dit artikel kunnen verbeteren!

Selecteer tenminste een van de redenen
CAPTCHA-verificatie is vereist.

Feedback verzonden

We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren