Een geautoriseerde server kan een ongewenst bericht versturen. Een geldige handtekening kan toebehoren aan een ander domein dan het domein dat de ontvanger te zien krijgt. Elke controle beantwoordt een andere vraag over het bericht.
Wat bewijst elke controle?
SPF controleert het verzendende IP, DKIM controleert een handtekening en DMARC koppelt een geslaagd resultaat aan het zichtbare From-domein.
| Controle | Gecontroleerde identiteit | Wat een pass vaststelt | Wat het niet vaststelt |
|---|---|---|---|
| SPF | Envelope-from-domein, normaal gebruikt voor bounces | Het verbindende IP is geautoriseerd door het beleid van dat domein. | Het zichtbare From-domein of de integriteit van het bericht. |
| DKIM | Ondertekeningsdomein in de d=-waarde van de handtekening | De handtekening verifieert tegen de gepubliceerde sleutel en ondertekende inhoud. | Dat elk deel van het bericht ondertekend was of dat ontvangers het willen. |
| DMARC | Zichtbaar From-domein | Minstens één geslaagd SPF- of DKIM-resultaat is uitgelijnd met dat domein. | Gegarandeerde bezorging of inboxplaatsing. |
Hoe werkt SPF?
De ontvanger vergelijkt het IP van de verbindende server met het SPF-beleid dat in DNS is gepubliceerd voor het envelope-from-domein. Die controle kan plaatsvinden vóór ontvangst van de berichttekst, omdat SPF de inhoud niet onderzoekt.
- Je publiceert de servers of diensten die geautoriseerd zijn om dat domein te gebruiken.
- De ontvanger zoekt het beleid op en evalueert de regels tegen het verbindende IP.
- De ontvanger gebruikt het resultaat samen met zijn eigen acceptatie- en filterbeleid.
Als een alumni-mailbox een bericht doorstuurt naar een andere provider zonder het envelope-from-adres te wijzigen, heeft het doorstuur-IP mogelijk geen autorisatie. Een mailinglijst kan hetzelfde probleem veroorzaken wanneer die een bericht opnieuw verstuurt. Een doorstuurder kan Sender Rewriting Scheme (SRS) gebruiken, dat het envelope-from-adres wijzigt naar een domein dat het kan authenticeren.
Een SPF-record specificeert geautoriseerde afzenders. Geneste providerbeleiden tellen mee voor de DNS-lookuplimiet.
Hoe werkt DKIM?
Je verzendserver ondertekent berichtinhoud met een privésleutel. De ontvanger gebruikt de bijbehorende publieke sleutel in DNS om die handtekening te verifiëren.
De handtekening identificeert het ondertekeningsdomein met d= en de sleutelselector met s=. De selector bepaalt welk DNS-record de publieke sleutel bevat. De ontvanger zoekt de publieke sleutel op en verifieert de handtekening aan de hand van dat domein en die selector.
Doorsturen alleen maakt DKIM niet ongeldig, omdat de controle niet afhankelijk is van het IP van de doorstuurserver. Het wijzigen van ondertekende inhoud, zoals het toevoegen van een mailinglijst-footer, kan de handtekening wel ongeldig maken. De handtekening authenticeert de inhoud die het dekt; het versleutelt het bericht niet.
Hoe verbindt DMARC de identiteiten?
DMARC vereist een geslaagd SPF- of DKIM-resultaat waarvan het domein uitgelijnd is met het zichtbare From-domein. Eén uitgelijnd geslaagd resultaat is voldoende.
Een bericht met From: billing@example.com kan bijvoorbeeld SPF slagen voor send.example.com onder relaxte uitlijning. Een geslaagde DKIM-handtekening met d=example.com is ook uitgelijnd. Authenticatie voor unrelated.example is niet uitgelijnd met example.com alleen omdat het slaagt.
Je publiceert een DMARC-beleid om verwerking van falende berichten en authenticatierapporten aan te vragen. Deelnemende ontvangers leveren rapporten; hun afwezigheid bewijst niet dat er geen e-mail je domein heeft gebruikt.
Wat moet je configureren voor Bird?
Je publiceert DKIM, de return-path-CNAME en DMARC voor je verzenddomein. De return-path-CNAME verwijst naar de bounce-infrastructuur van Bird, die SPF-autorisatie biedt zonder een extra apex SPF-record.
Kopieer de records uit dns_records. Controleer capabilities.sending.status op verzendgereedheid. De waarden geven aan wat je hierna moet doen:
| Status | Betekenis en actie |
|---|---|
pending | Verificatie is niet uitgevoerd of loopt; wacht op het resultaat. |
verified | De DNS-records van de capability komen overeen met de verwachte waarden. |
warning | Eerder geverifieerde records komen niet meer overeen; corrigeer ze voordat de respijtperiode eindigt. Verzending is nog niet beïnvloed. |
failed | Een DNS-waarde is onjuist; corrigeer deze. |
temporary_failure | Een DNS-lookup is tijdelijk mislukt; verificatie probeert automatisch opnieuw. |
not_configured | De capability is niet ingesteld voor dit domein. |
Je publiceert de authenticatierecords en verifieert je verzenddomein.
Welke controles moet je gebruiken?
Gebruik SPF en DKIM met DMARC, zodat de geauthenticeerde identiteiten gekoppeld zijn aan het domein dat je ontvangers zien.
- Autoriseer de verzendinfrastructuur van het envelope-from-domein met SPF.
- Onderteken uitgaande berichten met DKIM en publiceer de verificatiesleutel.
- Publiceer DMARC, beoordeel gerapporteerde authenticatiefouten en corrigeer legitieme afzenders voordat je quarantaine of afwijzing afdwingt.