SPF je zkratka pro Sender Policy Framework. Jde o DNS záznam, kterým vlastník domény říká, které servery smějí posílat e-maily jménem jeho domény. V praxi je to jeden ze základních technických pilířů doručitelnosti, protože příjemce si může ověřit, zda zpráva přišla z povoleného zdroje, nebo z cizího serveru, který se za doménu jen vydává.
Co SPF ve skutečnosti ověřuje
SPF je užitečný právě proto, že se nedívá jen na to, co příjemce vidí v e-mailovém klientu, ale na technické údaje při samotném doručení zprávy. Konkrétně se kontroluje hlavně takzvaný MAIL FROM nebo Return-Path, tedy adresa použitá při SMTP komunikaci mezi servery.
To je důležité, protože mnoho lidí si myslí, že SPF ověřuje přímo běžnou adresu v poli Od / From. To ale není úplně přesné. Pokud má být ochrana silnější, musí se SPF spojit ještě s DKIM a DMARC.
Proč je SPF důležitý
- omezuje podvržení domény – útočník si nemůže jen tak vybrat vaši doménu a bez následků z ní posílat zprávy přes libovolný server,
- zvyšuje důvěryhodnost rozesílky – servery příjemců vidí, že máte základní autentizaci pod kontrolou,
- pomáhá doručitelnosti – správně nastavený SPF je dnes technické minimum, ne bonus navíc,
- usnadňuje diagnostiku – když se něco pokazí, snáz odhalíte, jestli problém vzniká na straně odesílací infrastruktury.
Jak vypadá SPF záznam
SPF se zapisuje do DNS jako TXT záznam. Nejčastěji vypadá podobně jako tento příklad:
v=spf1 ip4:203.0.113.10 include:_spf.google.com include:spf.mailprovider.example -all
Na první pohled to může působit nepřehledně, ale jednotlivé části mají jasný význam:
- v=spf1 – určuje, že jde o SPF záznam ve verzi SPF1,
- ip4:203.0.113.10 – povoluje konkrétní IPv4 adresu,
- include:_spf.google.com – přebírá povolené servery z jiného SPF záznamu, například od poskytovatele e-mailových služeb,
- include:spf.mailprovider.example – další externí služba, která smí posílat za vaši doménu,
- -all – všechny ostatní zdroje mají být považovány za nepovolené.
Co znamenají nejčastější SPF parametry
V praxi se nejčastěji setkáte s těmito prvky:
- ip4: – povolená IPv4 adresa nebo rozsah,
- ip6: – povolená IPv6 adresa nebo rozsah,
- include: – zahrnutí SPF záznamu jiné služby, například e-mailingové platformy,
- a – povolí IP adresu spojenou s A záznamem dané domény nebo hostname,
- mx – povolí IP adresy serverů uvedených v MX záznamech,
- ~all – takzvaný softfail, tedy měkčí signál, že ostatní zdroje nejsou povolené,
- -all – hard fail, tedy jasné sdělení, že ostatní zdroje nejsou autorizované,
- ?all – neutrální varianta, která prakticky moc nepomáhá,
- +all – v běžné praxi špatně, protože fakticky povoluje skoro všechno.
Už jste četli? Bangladéš x Bangladéž
Jak SPF nastavit v praxi
Postup bývá v zásadě jednoduchý, ale často se pokazí na detailech:
- sepište všechny zdroje, které posílají e-maily za vaši doménu – firemní pošta, CRM, e-shop, formuláře, fakturační systém, newsletterový nástroj, helpdesk,
- zjistěte, co po vás chce každý poskytovatel – někdo dodá konkrétní IP adresy, jiný požaduje include záznam,
- složte vše do jednoho SPF záznamu – SPF má být pro jednu doménu jen jeden,
- nahrajte záznam do DNS jako TXT,
- ověřte výsledek – ideálně testem konkrétní zprávy i kontrolou samotného DNS záznamu.
Ukázky SPF záznamů a co znamenají
Jednoduchý SPF pro jednu IP adresuv=spf1 ip4:203.0.113.10 -all
To znamená: e-maily smí posílat jen server s touto jednou IP adresou. Vše ostatní je nepovolené.
SPF pro Google Workspace a newsletterový nástrojv=spf1 include:_spf.google.com include:spf.example-newsletter.com -all
To znamená: za doménu smějí posílat servery Google a zároveň konkrétní e-mailingová služba.
Opatrnější varianta při přechoduv=spf1 include:_spf.google.com ~all
To znamená: Google je povolený zdroj, ostatní jsou podezřelí, ale zatím ne úplně tvrdě odmítnutí.
Nejčastější chyby při SPF
- existují dva SPF záznamy najednou – to je špatně, SPF má být jen jeden,
- ve záznamu chybí některý legitimní odesílatel – typicky po nasazení nového CRM nebo e-mailingového nástroje,
- ve záznamu zůstávají staré služby – povolujete servery, které už vůbec nepoužíváte,
- SPF je zbytečně složitý – příliš mnoho include a DNS dotazů může dělat problémy,
- subdomény nejsou řešené zvlášť – to, co platí pro hlavní doménu, nemusí automaticky stačit pro rozesílací subdoménu,
- použije se +all – tím se prakticky ztrácí ochranný smysl SPF.
Co SPF nevyřeší
SPF není ochrana proti všemu. Sám o sobě neřeší:
- zda je obsah zprávy relevantní,
- zda má odesílatel dobrou reputaci,
- zda příjemci vaše e-maily chtějí,
- zda někdo neposílá podvržený e-mail s jinou viditelnou adresou v poli From.
Právě proto se SPF běžně kombinuje s DKIM a DMARC. Pokud řešíte celé téma dopodrobna, navazují na to další oblasti jako reputace IP adresy, complaint rate, spamové pasti, ale také správná práce s vlastní databází kontaktů/CRM apod.