Moderní tvorba webových aplikací

O webu

Co je SPF a jak chrání e-maily

Kompletní průvodce e-mailovou autentisací: SPF, DKIM, DMARC a BIMI. Naučte se chránit svou doménu před spoofingem a zlepšit doručitelnost e-mailů.

19 minut

SPF (Sender Policy Framework) je mechanismus, který pomáhá chránit e-mailovou komunikaci před podvrhováním odesílatele (tzv. spoofing).

Jedná se o DNS záznam, který určuje, které servery jsou oprávněné odesílat e-maily jménem vaší domény.

Problém podvrhování e-mailů

Každý den se po celém světě odešlou stovky miliard e-mailů. V tomto obrovském množství zpráv je pro e-mailové servery kriticky důležité rozlišit legitimní e-maily od spamu a phishingových útoků.

Bez SPF může kdokoliv odeslat e-mail, který vypadá, že pochází z vaší domény. Útočník může například odeslat phishingový e-mail s adresou odesílatele admin@vase-domena.cz, i když s vaší doménou nemá nic společného.

To může poškodit:

  • Důvěryhodnost vaší domény – příjemci můžou vaši doménu spojit s podvody
  • Doručitelnost legitimních e-mailů – e-mailové servery můžou začít vaše e-maily blokovat
  • Reputaci vaší značky – zákazníci můžou přijít o důvěru

Jak SPF funguje

SPF slouží jako první rychlá kontrola příchozích e-mailů, zda vůbec stojí za to e-mail dále zpracovávat. SPF odfiltruje e-maily ze serverů, které nemají povolení odesílat jménem dané domény.

Když e-mailový server přijme zprávu, provede následující kontrolu:

  1. Zjistí doménu odesílatele z e-mailové adresy (část za @)
  2. Vyhledá SPF záznam v DNS dané domény
  3. Porovná IP adresu skutečného odesílacího serveru se seznamem povolených IP adres v SPF záznamu
  4. Na základě výsledku rozhodne, zda e-mail přijmout, odmítnout nebo označit jako podezřelý

Co SPF skutečně ověřuje

Důležité upozornění: SPF ověřuje „envelope from" (technicky MAIL FROM nebo Return-Path), nikoli hlavičku From:, kterou vidí uživatel v e-mailovém klientovi.

To znamená, že útočník může stále podvrhnout viditelnou adresu odesílatele, i když SPF kontrola projde. Proto je SPF nutné kombinovat s DKIM a DMARC, které zajišťují kompletnější ochranu včetně ověření hlavičky From:.

Vytvoření SPF záznamu

SPF záznam se přidává jako TXT záznam v DNS vaší domény. Základní formát vypadá takto:

v=spf1 [mechanismy] [modifikátor]

Základní příklad

Pokud posíláte e-maily pouze z vašeho hostingového serveru s IP adresou 192.0.2.1:

v=spf1 ip4:192.0.2.1 -all

Tento záznam říká:

  • v=spf1 – používáme SPF verse 1
  • ip4:192.0.2.1 – povolit odesílání z IPv4 adresy 192.0.2.1
  • -allodmítnout všechny ostatní odesílatele

Důležité mechanismy

ip4:<IP> – povolit konkrétní IPv4 adresu nebo rozsah

v=spf1 ip4:192.0.2.0/24 -all

ip6:<IP> – povolit konkrétní IPv6 adresu

v=spf1 ip6:2001:db8::1 -all

a – povolit servery z A záznamu domény

v=spf1 a -all

mx – povolit servery z MX záznamů domény

v=spf1 mx -all

include: – zahrnout SPF pravidla jiné domény (užitečné pro služby jako Google Workspace, Mailchimp apod.)

v=spf1 include:_spf.google.com -all

Modifikátory výsledku

Na konci SPF záznamu se uvádí, co dělat s e-maily, které neodpovídají pravidlům:

  • -allhard fail – odmítnout (doporučeno)
  • ~allsoft fail – označit jako podezřelé, ale doručit
  • ?allneutral – žádné tvrzení (používá se zřídka)
  • +allpass – povolit vše (zruší veškerou ochranu)

Příklady reálných SPF záznamů

Použití Google Workspace

v=spf1 include:_spf.google.com ~all

Vlastní server + Google Workspace

v=spf1 ip4:192.0.2.1 include:_spf.google.com -all

Více e-mailových služeb

v=spf1 include:_spf.google.com include:spf.protection.outlook.com include:servers.mcsv.net -all

Tento příklad povoluje odesílání přes Google Workspace, Microsoft 365 a Mailchimp.

Jak nastavit SPF

  1. Přihlaste se do administrace vašeho DNS poskytovatele (často stejný jako registrátor domény)
  2. Najděte sekci pro správu DNS záznamů
  3. Přidejte nový TXT záznam:
    • Název/Host: @ nebo vase-domena.cz
    • Typ: TXT
    • Hodnota: váš SPF záznam, např. v=spf1 include:_spf.google.com -all
    • TTL: 3600 (nebo výchozí hodnota)
  4. Uložte změny
  5. Počkejte na propagaci DNS (může trvat až 48 hodin, obvykle do 1 hodiny)

Testování SPF

Po nastavení SPF záznamu je důležité ověřit, že funguje správně.

Kontrola DNS záznamu

Pomocí příkazu v terminálu:

nslookup -type=TXT vase-domena.cz

Nebo na Linuxu/macOS:

dig TXT vase-domena.cz

Online nástroje

Existuje řada online nástrojů pro testování SPF:

Test odesláním e-mailu

Odešlete testovací e-mail a zkontrolujte hlavičky zprávy (raw headers). Měli byste vidět:

Received-SPF: pass

Časté chyby a problémy

Příliš mnoho DNS dotazů

SPF má limit maximálně 10 mechanismů vyžadujících DNS lookup během vyhodnocování jediného SPF záznamu. Tento limit zahrnuje:

  • include: – započítává se včetně všech vnořených dotazů v odkazovaném SPF záznamu
  • a – dotaz na A/AAAA záznamy
  • mx – dotaz na MX záznamy (každý MX může vyžadovat další A dotaz)
  • redirect= – přesměrování na jiný SPF záznam
  • exists: – kontrola existence domény
  • ptr: – reverzní DNS lookup

Důležité: Mechanismy ip4:, ip6: a all nevyžadují DNS dotazy, takže se do limitu nepočítají.

Při překročení limitu 10 dotazů se celé SPF vyhodnocení okamžitě ukončí s výsledkem PermError a záznam se považuje za neplatný. To může vést k odmítnutí legitimních e-mailů.

Řešení:

  • Používejte raději ip4: a ip6: místo include:, kde je to možné
  • Před nasazením otestujte SPF záznam pomocí online nástrojů, které počítají DNS dotazy
  • Sledujte, kolik DNS dotazů vyžadují vaše include: – např. include:_spf.google.com může sám obsahovat další vnořené include

Více SPF záznamů

Doména by měla mít pouze jeden TXT záznam s SPF začínající v=spf1. Pokud má více takových záznamů, standardní SPF validátory to považují za chybu a SPF kontrola selže.

Technicky DNS umožňuje mít více TXT záznamů, ale je to správná praxe a doporučení standardu SPF, aby byl pouze jeden explicitní v=spf1 záznam pro každou doménu.

Řešení: Spojte všechny mechanismy do jednoho záznamu.

Zapomenutí na subdmény

SPF se nedědí na subdomény. Pokud odesíláte e-maily z newsletter@podpora.vase-domena.cz, potřebujete SPF záznam i pro subdoménu podpora.

Použití +all

Nikdy nepoužívejte +all – tím SPF zcela deaktivujete a povolíte komukoliv odesílat jménem vaší domény.

Problémy s přeposíláním e-mailů (forwarding)

SPF může způsobit problémy při automatickém přeposílání e-mailů (email forwarding). Pokud uživatel nastaví přeposílání z uzivatel@domena-a.cz na uzivatel@domena-b.cz, nastane následující situace:

  1. Původní odesílatel pošle e-mail z odesilatel@puvodni.cz
  2. E-mail dorazí na domena-a.cz a SPF kontrola projde
  3. domena-a.cz e-mail přepošle na domena-b.cz
  4. domena-b.cz provede SPF kontrolu a zjistí, že e-mail přišel z IP adresy domena-a.cz, nikoli z původní puvodni.cz
  5. SPF kontrola selže, protože IP adresa domena-a.cz není v SPF záznamu domény puvodni.cz

Řešení:

  • Přeposílací server může použít SRS (Sender Rewriting Scheme), který přepíše envelope from na vlastní doménu
  • Použít ~all (soft fail) místo -all (hard fail), aby byly přeposílané e-maily pouze označeny, ne odmítnuty
  • Moderní řešení: správně nakonfigurovaný DMARC, který toto zohledňuje

SPF, DKIM a DMARC

SPF je pouze část komplexní e-mailové bezpečnosti. Pro maximální ochranu byste měli používat všechny tři mechanismy:

SPF – První kontrola

SPF ověřuje, že e-mail pochází z povoleného serveru. Je to první kontrola, která rychle odfiltruje neoprávněné odesílatele.

DKIM – Digitální podpis

DKIM (DomainKeys Identified Mail) zajišťuje kryptografické ověření legitimity e-mailu pomocí digitálního podpisu.

DKIM funguje na principu páru veřejného a soukromého klíče:

  1. Veřejný klíč uložíte do DNS jako TXT nebo CNAME záznam
  2. Soukromý klíč je uložen na vašem e-mailovém serveru
  3. Každý odeslaný e-mail je podepsán soukromým klíčem – vytvoří se DKIM podpis v hlavičce e-mailu
  4. Příjemce porovná podpis s veřejným klíčem z DNS a ověří, že e-mail skutečně pochází od vás

DKIM poskytuje ochranu, kterou SPF nemůže – ověřuje, že obsah e-mailu nebyl po cestě změněn a potvrzuje identitu skutečného odesílatele.

Je běžné mít více DKIM záznamů, typicky jeden pro každého poskytovatele e-mailových služeb, kterého používáte (Google Workspace, SendGrid, Mailchimp apod.).

DMARC – Politika a reporting

DMARC (Domain-based Message Authentication, Reporting & Conformance) definuje, co se má stát s e-maily, které neprošly SPF nebo DKIM kontrolou.

DMARC záznam je TXT záznam s následující strukturou:

v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc@vase-domena.cz

Vysvětlení parametrů:

  • v=DMARC1 – verse DMARC protokolu
  • p=politika, co dělat s e-maily, které selžou:
    • nonepouze sledovat, ale nedělat nic (vhodné pro testování)
    • quarantinepřesunout do spamu/karantény (doporučeno)
    • rejectodmítnout doručení (nejpřísnější)
  • pct=100 – procento e-mailů, na které se má politika vztahovat (100 = všechny)
  • rua=mailto:... – e-mailová adresa pro agregované reporty o DMARC kontrolách

Příklady DMARC záznamů

Pro testování (pouze monitoring bez dopadu):

v=DMARC1; p=none; rua=mailto:dmarc-reports@vase-domena.cz

Produkční nastavení (karanténa podezřelých):

v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc-reports@vase-domena.cz

Maximální ochrana (odmítnutí nelegitimních e-mailů):

v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-reports@vase-domena.cz; ruf=mailto:dmarc-forensic@vase-domena.cz

Vliv na reputaci domény

Správná implementace DMARC s politikou quarantine nebo reject výrazně zlepšuje reputaci vaší domény u poskytovatelů e-mailových služeb (Gmail, Outlook, atd.).

Poskytovatelé vidí, že:

  • Aktivně bojujete proti zneužití vaší domény
  • Máte kontrolu nad tím, kdo vaším jménem posílá e-maily
  • Zaručujete, že podezřelé zprávy nebudou doručeny vašim jménem

To vede k lepší doručitelnosti legitimních e-mailů do hlavní složky příjemců.

Doporučený postup implementace

  1. Začněte s SPF – nastavte základní SPF záznam
  2. Přidejte DKIM – implementujte digitální podpisy
  3. DMARC v režimu monitoringu – nastavte p=none a sledujte reporty
  4. Analyzujte reporty – zjistěte, které servery odesílají vaším jménem
  5. Zvyšte úroveň ochrany – postupně přejděte na p=quarantine a nakonec p=reject

Kombinace SPF + DKIM + DMARC poskytuje nejlepší dostupnou ochranu proti podvrhování e-mailů.

BIMI – Visuální identita v inboxu

BIMI (Brand Indicators for Message Identification) je nadstavba nad SPF, DKIM a DMARC, která umožňuje zobrazit logo vaší značky přímo v inboxu příjemce.

BIMI výjimečný způsob, jak vyniknout a zvýšit důvěryhodnost vašich zpráv. Některé e-mailové klienty dokonce zobrazují u BIMI ověřených odesílatelů zaškrtnutí, podobně jako u sociálních sítí (třeba Gmail).

Požadavky pro BIMI

Získání BIMI je náročný proces, který zajišťuje, že ho získají pouze skutečně legitimní značky:

  1. Funkční DMARC na úrovni quarantine nebo reject – politika musí být nastavena na 100% e-mailů (pct=100)
  2. Registrovaná ochranná známka (trademark) – logo musí být oficiálně chráněno
  3. VMC certifikát (Verified Mark Certificate) – ověřuje vaši identitu, vlastnictví domény a ochranné známky
  4. Logo ve formátu SVG – s přísnými požadavky na formát (Tiny SVG)

Struktura BIMI záznamu

BIMI se nastavuje jako TXT záznam v DNS:

v=BIMI1; l=https://vase-domena.cz/logo.svg; a=https://vmc.digicert.com/vase-certifikat.pem;

Parametry:

  • v=BIMI1 – verse BIMI protokolu
  • l= – URL adresa SVG loga (musí být veřejně dostupné přes HTTPS)
  • a= – URL adresa VMC certifikátu (musí být veřejně dostupné přes HTTPS)

Výhody BIMI

  • Visuální rozpoznatelnost – vaše logo se zobrazí u každého e-mailu v inboxu
  • Zvýšená důvěra – příjemci okamžitě poznají, že e-mail je legitimní
  • Ochrana značky – ztěžuje útočníkům vydávání se za vaši firmu
  • Lepší open rate – uživatelé častěji otevírají e-maily s poznanou značkou
  • Profesionální image – signalisuje, že berete bezpečnost vážně

Podpora e-mailových klientů

BIMI podporují zejména:

  • Gmail (webová verse i mobilní aplikace)
  • Yahoo Mail
  • Apple Mail (od iOS 16)
  • Další poskytovatelé postupně přidávají podporu

Poznámka: Implementace BIMI není nutná pro základní e-mailovou bezpečnost, ale je to výborný způsob, jak pozvednout důvěryhodnost vaší značky u příjemců.

Závěr

  • SPF je DNS záznam, který definuje, které servery můžou odesílat e-maily jménem vaší domény. Slouží jako první kontrola příchozích zpráv.

  • SPF ověřuje envelope from (Return-Path), ne viditelnou hlavičku From:, což je důvod pro kombinaci s dalšími mechanismy.

  • Pro skutečnou ochranu je nezbytná trojice SPF + DKIM + DMARC:

    • SPF – kontroluje IP adresu odesílacího serveru
    • DKIM – kryptograficky podepisuje e-maily
    • DMARC – definuje politiku pro neověřené zprávy a poskytuje reporting

  • Správně implementovaný DMARC s politikou quarantine nebo reject výrazně zlepšuje reputaci domény a doručitelnost e-mailů.

  • BIMI je bonusová úroveň, která zobrazuje vaše logo v inboxu, ale vyžaduje splnění přísných podmínek včetně ochranné známky.

  • Vždy testujte SPF záznam po nastavení a ujistěte se, že nepřekračujete limit 10 DNS dotazů.

  • Doporučený postup: začněte SPF, přidejte DKIM, implementujte DMARC v režimu monitoringu (p=none) a postupně zvyšujte úroveň ochrany.

V prostředí stovek miliard e-mailů denně (Statista: Number of sent and received e-mails per day worldwide) je správně nastavená e-mailová autentisace klíčová pro to, aby vaše zprávy byly doručeny příjemcům a neztratily se ve spamu. Bez těchto protokolů e-mailoví poskytovatelé nemohou odlišit vaše legitimní zprávy od spammerů.

Správně nastavená kombinace SPF, DKIM a DMARC je dnes standard pro každou seriosní doménu a významně přispívá k bezpečnosti a důvěryhodnosti vaší e-mailové komunikace.

Odkazy jinam

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků
2013–2025