SPF er ikke SenderID

You're using it wrong

I Januar måned oprettede jeg status.dmarc.dk , hvor man kan se email sikkerheds status for en række udvalgte domæner.
At firmaer over en bred kam ikke bekymrer sig om email sikkerhed er ikke den store nyhed.
Men det er en smule skræmmende at se hvor store problemer der er med at implementere SPF korrekt, vi taler om en over 10 år gammel standard som i nogle tilfælde end ikke store velrenomerede IT firmaer magter at implementere korrekt.

Hvordan kan så mange mislykkes med at implementere noget så forholdsvis simpelt som SPF?

Lad os starte med at se på hvad SPF egentlig er. SPF standarden er defineret i RFC7208 .
Indrømmet det er bestemt ikke læselet læsning, men når man bare igennem introduktionen vil man forstå at SPF beskytter MAIL FROM domænet mod uautoriseret brug.

Næste ting vi skal have slået fast: MAIL FROM domænet er ikke det domæne du kan se som en del af afsender emailadressen i din email klient. 1
MAIL FROM adressen/domænet kan du se hvis du kigger i de rå headers der hører til en email.
Her er et eksempel på en MAIL FROM emailadresse i en email fra Proshop. 2

3fc.c.507834095.j3786771-20809254@proshop.anpdm.com

MAIL FROM domænet er i dette tilfælde

  • proshop.anpdm.com

Det vil sige SPF recorden som var gældende da jeg modtog denne email skal man kigge efter på ovenstående domæne, og ganske rigtigt, der finder man en SPF record som whitelister APSIS email infrastrukturen.
Hvorfor i alverden inkluderer Proshop så APSIS SPF recorden i roden af proshop.dk domænet?
Ja det er et godt spørgsmål. men det har ihvertfald ikke noget med SPF at gøre.
Der er flere mulige forklaringer.

  • Email service provideren aner ikke hvordan SPF virker, det tror jeg nu ikke er tilfældet når vi taler om APSIS, men jeg har talt med mange hvor det var forklaringen.
  • Man forsøger at understøtte den forældede SenderID standard, på en særdeles uelegant og kluntet måde.

Lad os kigge lidt nærmere på SenderID. M3AAWG som er en sammenslutning af firmaer der modtager tæt på alle de emails du sender, skriver meget diplomatisk:

SenderID deprecation

SenderID is a deprecated standard that was intended as an alternative to SPF. SenderID was
officially deprecated with the publication of RFC7208 in 2015, and is no longer considered when
authenticating email. SenderID records can be identified by their v=spf2.0 prefix.
A record that starts with this prefix should not be used and any such record should be deleted.

Kender man lidt til SenderID syntax og fallback til SPF syntax når en SenderID record ikke eksisterer kunne man lave denne lidt mindre diplomatiske oversættelse:

SenderID er død, stendød, hold op med at understøtte det. Skal du død og pine understøtte SenderID, så hav i det mindste anstændighed nok i livet til at anvende den korrekte SenderID syntax, så du ikke samtidig gør skade på eksisterende SPF records. :-)

Lad os komme igang med at få ryddet op efter SenderID, uhyggeligt mange SPF records indeholder include statements som ikke burde være der. Overflødige include statements er den altoverskyggende største årsag til defekte SPF records.

1 SPF er dermed i praksis virkningsløs som beskyttelse mod phishing.
2 Jeg har intet imod hverken Proshop eller APSIS, jeg brugte ganske enkelt det seneste nyhedsbrev jeg har modtaget som eksempel.

Kilder:
M3AAWG Best Practices for Managing SPF Records.
SPF vs. SenderID