Hem / Serverdrift / SPF, DKIM och DMARC

Serverdrift

SPF, DKIM och DMARC

Tre DNS-poster avgör om din e-post landar i inkorgen eller skräpposten, och om någon annan kan skicka mejl som ser ut att komma från din domän. Här är vad SPF, DKIM och DMARC faktiskt gör.

Illustration av tre DNS TXT-poster (SPF, DKIM, DMARC) som verifieras mellan en avsändande och en mottagande e-postserver

SPF, DKIM och DMARC är tre separata men samverkande DNS-poster som mottagande e-postservrar använder som en del i bedömningen av om ett meddelande verkligen kommer från den domän det påstår sig komma från. De publiceras alla som TXT-poster i domänens DNS-zon, samma typ av post som beskrivs mer allmänt i genomgången av DNS-drift och namnservrar och i guiden om att peka en domän till rätt webbhotell. Saknas de, eller är de felkonfigurerade, ökar risken för att legitima mejl hamnar i skräpposten, samtidigt som det blir enklare för bedragare att skicka förfalskad e-post som ser ut att komma från din domän.

SPF: vilka servrar får skicka e-post

SPF, Sender Policy Framework, är en TXT-post som radar upp vilka servrar och tjänster som har rätt att skicka e-post för domänen. Mottagande system slår upp posten och jämför avsändarens IP-adress mot listan. Ett vanligt misstag är att lägga till flera separata SPF-poster när fler avsändare tillkommer, till exempel webbhotellet och ett nyhetsbrevsverktyg. En domän får bara ha en SPF-post, så alla avsändare måste radas upp inom samma post. Ett annat vanligt problem är att SPF-posten innehåller för många nästlade uppslag, vilket gör att kontrollen misslyckas även om konfigurationen i övrigt ser korrekt ut.

DKIM: digital signatur på varje meddelande

DKIM, DomainKeys Identified Mail, signerar utgående e-post digitalt med en privat nyckel på sändande server. Den publika nyckeln som behövs för att verifiera signaturen publiceras som en TXT-post i DNS, kopplad till en så kallad selector (ofta något i stil med "s1._domainkey"). Till skillnad från SPF, som bara kontrollerar avsändarens server, verifierar DKIM att själva innehållet i meddelandet inte har manipulerats under vägen. De flesta e-posttjänster och webbhotell genererar DKIM-nyckeln automatiskt, men du behöver aktivt lägga in den genererade TXT-posten i DNS-zonen för att den ska fungera.

DMARC: policyn som knyter ihop de andra två

DMARC, Domain-based Message Authentication, Reporting and Conformance, bygger vidare på SPF och DKIM genom att dels kräva att minst en av dem stämmer överens ("alignment") med avsändaradressen som visas för mottagaren, dels tala om vad som ska hända om kontrollerna misslyckas. Policyn sätts med taggen p= och har tre nivåer:

DMARC-policyEffekt vid misslyckad kontroll
p=noneIngen åtgärd, bara rapportering. Bra startläge för att se vad som faktiskt skickas från domänen
p=quarantineMeddelandet markeras som misstänkt, ofta genom att hamna i skräpposten
p=rejectMeddelandet avvisas helt av mottagande server

Ett vanligt tillvägagångssätt är att börja med p=none under en period, granska rapporterna som skickas till den adress du anger i posten (via rua-taggen), och först därefter höja skyddsnivån stegvis till quarantine och slutligen reject när du är säker på att all legitim e-post passerar kontrollerna korrekt.

Varför det här har blivit viktigare på senare år

Flera stora e-postleverantörer har de senaste åren skärpt sina riktlinjer för avsändarverifiering för att pressa tillbaka spam och phishing. Exakt vilka krav som gäller och hur de tillämpas varierar mellan leverantörer och kan ändras, men i skrivande stund gör trenden att domäner utan korrekt SPF, DKIM och DMARC riskerar sämre leveransgrad även för helt legitim e-post. Det gäller särskilt om domänen skickar större volymer, till exempel nyhetsbrev eller transaktionsmejl från en webbshop. Driftansvaret för dessa poster ligger normalt hos den som hanterar DNS-zonen, ofta webbhotellet, men det är avsändaren, till exempel det verktyg som skickar nyhetsbrevet, som behöver ange vilka poster som ska läggas till. Driftar du själv en Linux-server eller en dedikerad server eller VPS med egen mailfunktion är det du själv som ansvarar för att lägga in posterna hos den namnserver som hanterar domänen.

Kontrollera din egen konfiguration

Innan du ändrar något, ta reda på vilka SPF-, DKIM- och DMARC-poster som redan finns för domänen genom att slå upp DNS-zonen hos den leverantör som hanterar den (är du ny på ämnet, se vår grundgenomgång av DNS för nybörjare). Skicka därefter ett testmejl till dig själv och kontrollera huvudinformationen (headers) i det mottagna meddelandet, där resultatet av SPF-, DKIM- och DMARC-kontrollerna vanligtvis redovisas rad för rad. Byter du webbhotell eller lägger till en ny avsändare, till exempel ett bokningssystem som ska skicka bekräftelsemejl från din domän, bör SPF-posten uppdateras så snart som möjligt för att undvika leveransproblem under övergångsperioden. Vill du säkra webbplatsens trafik på samma sätt som du nu säkrar e-posten, se även vår genomgång av SSL-certifikat.

Ändra aldrig DMARC-policyn direkt till p=reject utan att först ha kört en period med p=none eller p=quarantine och granskat rapporterna, annars riskerar du att stänga ute din egen legitima e-post.

Vanliga frågor

Räcker det med bara SPF för att skydda min e-post?

Nej. SPF talar bara om vilka servrar som får skicka e-post för domänen och kontrolleras inte alltid konsekvent, och skyddar inte mot förfalskat avsändarnamn i själva meddelandet. DKIM lägger till en digital signatur och DMARC talar om vad mottagaren ska göra om kontrollerna misslyckas. Alla tre behövs.

Vad innebär DMARC-policyn p=reject?

Den talar om för mottagande servrar att de ska avvisa meddelanden som misslyckas med SPF- och DKIM-kontrollen enligt DMARC-reglerna. Det är den strängaste nivån och bör bara sättas efter att all legitim e-post redan passerar kontrollerna.

Varför skickar jag korrekt SPF och ändå hamnar mejl i skräpposten?

SPF är bara en av flera signaler. Saknas DKIM-signatur eller en fungerande DMARC-post, eller har domänen dåligt rykte av andra skäl, kan e-post ändå klassas som skräppost trots korrekt SPF.

Kan jag ha flera SPF-poster för samma domän?

Nej, en domän får bara ha en SPF-post. Har du flera avsändare ska de radas upp inom samma TXT-post, annars riskerar kontrollen att misslyckas helt.