Afsluiten met ~all of -all (technisch)

Voor wie het interessant vindt een aanvulling op het onderwerp SPF. De SPF afsluiting (“all”) blijkt onder techneuten een onderwerp van discussies en ik was altijd voorstander van de -all (hardfail), maar daar ben ik anders over gaan denken.

SPF is een vastgelegde standaard dat in detail is beschreven in RFC7208, daarover is geen discussie. Onder het kopje “4.6.2. Mechanisms” staat de mogelijkheden (+, -, ~ en ?) en onder kopje “2.6 Results of Evaluation” staan de uitkomsten van elk mechanisme.

Er zijn twee manieren om met ongeautoriseerde mailers om te gaan: softfail (~all) en hardfail (-all). Hiermee zijn er in feite drie mogelijkheden: Accepteer, Accepteer-maar-markeer of Weiger de e-mail:

  • ~all = Softfail, Accepteer en markeer elke mail waar het IP adres dat de mail verzond niet in de whitelist staat
  • -all = (hard)fail, accepteer uitsluitend e-mails waar het IP adres dat de mail verzond wel in de whitelist staat
Weegschaal met in de linkerschaal een envelop en in de rechterschaal een gewicht.
Betaalde publieke verrekijker met de naam Galaxy.

Beide zeggen dus ‘niet doorlaten’, maar met een klein verschil. In de -all (hard)fail zit duidelijk de harde schifting: e-mails van ongeautoriseerde zenders worden verwijderd (DMARC). De softfail laat elke e-mail door, maar markeert de mails afkomstig van mailservers die niet in de whitelist staan. In dit artikel wordt uitgelegd hoe dit is ontstaan.

Als de SPF-controle resulteert in een softfail, betekent dit dat de ontvangende server niet zeker weet of de verzendende server geautoriseerd is om e-mail voor het domein te verzenden, maar dat de controle niet helemaal is mislukt. Een softfail-resultaat betekent niet noodzakelijkerwijs dat de e-mail frauduleus of kwaadaardig is, maar het kan er wel op duiden dat de e-mail eerder spam of ongewenst is.

DKIM is een mechanisme voor e-mailauthenticatie dat cryptografische handtekeningen gebruikt om te verifiëren dat er niet met het bericht is geknoeid tijdens de verzending en dat het afkomstig is van een geautoriseerd domein.

Je zou dus kunnen redeneren dat een softfail voldoende is, omdat het volgende mechanisme, DKIM, vaststelt dat de mail inderdaad afkomstig is van de zender. Een geldige DKIM-handtekening geeft een zekere mate van zekerheid dat een e-mailbericht legitiem is (m.a.w. er niet mee is geknoeid). Toch heeft DKIM niet per se voorrang op het SPF-softfail-resultaat. Dat hangt af van de ontvangende mailservers. Sommige e-mailservers beschouwen een softfail-resultaat (“accepteer en markeer”) als een zware weging in hun algemene beslissing over spamfiltering of berichtclassificatie, zelfs als de DKIM-handtekening geldig is.

DKIM, het versleutelen van de hash van het bericht, kan niet worden nagemaakt, tenzij de prive-sleutel is gelekt door bijvoorbeeld een hack. Dan kan met de publieke sleutel (de DKIM-record in het domein) de hash van het bericht / message-body worden gelezen. Wil je het risico van frauduleuze e-mails tot het absolute minimum beperken, dan kies je voor de -all (hardfail). Is die lijn niet zo hard en vind de organisatie het afleveren van de e-mail belangrijker dan kies je voor de ~all (softfail).

Opmerking: het geven van een HELO- of EHLO-opdracht door de zendende mailserver heeft geen invloed op de SPF-validatie zolang het IP-adres van de verbindende server is geautoriseerd voor het domein in het “envelope from”-adres.

Kom je ergens echt niet uit? Stuur dan een e-mail. De volgende stap is het instellen van DKIM. >>