Běžíme v testovacím provozu, prosíme o shovívavost a zpětnou vazbu.
Jak nastavit DKIM záznam krok za krokem

Jak nastavit DKIM záznam krok za krokem

· 9 min čtení · Tomas Hojgr · dkim

Co potřebujete před nastavením DKIM

DKIM (DomainKeys Identified Mail) ověřuje integritu a původ e-mailů digitálním podpisem. Nastavení vyžaduje tři věci: vygenerovat klíčový pár, publikovat veřejný klíč v DNS a nakonfigurovat podepisování na mailovém serveru. Pokud si potřebujete osvěžit, jak DKIM funguje, přečtěte si Co je DKIM a jak funguje.

Před nastavením ověřte:

  • Přístup k DNS vaší domény (správce DNS, registrátor nebo Cloudflare)
  • Přístup k administraci e-mailové služby (Google Workspace, Microsoft 365, vlastní server)
  • Funkční SPF záznam — DKIM a SPF se doplňují a oba jsou podmínkou pro nasazení DMARC

Krok 1: Vygenerujte klíčový pár

DKIM používá asymetrickou kryptografii — privátní klíč podepisuje zprávy, veřejný klíč v DNS umožňuje příjemci podpis ověřit.

Cloudové služby

Pokud používáte Google Workspace, Microsoft 365 nebo jinou cloudovou e-mailovou službu, nemusíte klíče generovat ručně. Služba je vygeneruje za vás — stačí je aktivovat v administraci a přidat DNS záznam. Podrobnosti najdete v sekci Nastavení DKIM u cloudových služeb.

Vlastní mailový server

Na vlastním serveru vygenerujete klíč pomocí OpenSSL nebo OpenDKIM. Zvolte selektor — unikátní identifikátor klíče (např. mail2025 nebo s1). Selektor umožňuje mít pod jednou doménou více DKIM klíčů současně.

Generování 2048bitového RSA klíče:

openssl genrsa -out dkim-private.pem 2048
openssl rsa -in dkim-private.pem -pubout -outform der | openssl base64 -A > dkim-public.txt

První příkaz vytvoří privátní klíč, druhý z něj extrahuje veřejný klíč v Base64 formátu připraveném pro DNS záznam.

Používejte klíče o délce 2048 bitů. RFC 8301 vyžaduje minimálně 1024bitové RSA klíče a doporučuje 2048 bitů. V praxi je 2048 bitů standard — velcí poskytovatelé (Google, Microsoft, Yahoo) považují 1024bitové klíče za zastaralé a postupně je přestávají přijímat.

Krok 2: Publikujte veřejný klíč v DNS

Veřejný klíč se publikuje jako TXT záznam na adrese {selektor}._domainkey.{doména}:

mail2025._domainkey.firma.cz  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."

Tagy DKIM DNS záznamu

Tag Význam Povinný
v=DKIM1 Verze protokolu doporučený
k=rsa Typ klíče (rsa nebo ed25519) ne (výchozí rsa)
p= Veřejný klíč v Base64 ano
t=y Testovací režim ne
t=s Strict mode — doména v identifikátoru uživatele (i=) musí přesně odpovídat doméně v d=, nesmí být její subdoménou ne

Rozdělení dlouhého klíče

DNS TXT záznamy mají limit 255 znaků na řetězec (RFC 1035). Klíč o délce 2048 bitů tento limit překračuje. Řešení závisí na vašem DNS poskytovateli:

  • Většina DNS správců (Cloudflare, WEDOS, Forpsi a další) rozdělení provede automaticky — vložíte celou hodnotu jako jeden řetězec a systém ji rozdělí sám.
  • Ruční rozdělení je nutné jen při přímé editaci zónového souboru:
mail2025._domainkey.firma.cz  TXT  ("v=DKIM1; k=rsa; "
    "p=MIIBIjANBgkqhkiG9w0BAQE..."
    "...FAAOCAQ8AMIIBCgKCAQEA...")

CNAME místo TXT záznamu

Některé služby (Microsoft 365, SendGrid, Mailchimp) používají místo přímého TXT záznamu CNAME záznam, který odkazuje na DKIM klíč hostovaný na jejich infrastruktuře:

selector1._domainkey.firma.cz  CNAME  selector1-firma-cz._domainkey.firma.onmicrosoft.com

Výhoda CNAME delegace: poskytovatel může klíč rotovat automaticky bez nutnosti úprav ve vašem DNS.

Krok 3: Nakonfigurujte podepisování

Postfix + OpenDKIM (Linux)

Na serverech s Postfixem je nejběžnější kombinace s OpenDKIM:

  1. Nainstalujte OpenDKIM:
apt install opendkim opendkim-tools
  1. Vytvořte konfigurační soubory. Hlavní konfigurace /etc/opendkim.conf:
Syslog          yes
UMask           007
Domain          firma.cz
Selector        mail2025
KeyFile         /etc/opendkim/keys/firma.cz/mail2025.private
Socket          inet:8891@localhost
Canonicalization relaxed/relaxed
Mode            sv
  1. Propojte Postfix s OpenDKIM v /etc/postfix/main.cf:
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
  1. Restartujte oba služby:
systemctl restart opendkim postfix

Důležité parametry konfigurace:

  • Canonicalization relaxed/relaxed — toleruje drobné změny (mezery, velikost písmen), které provádějí přeposílající servery. Doporučeno oproti výchozímu simple/simple.
  • Mode sv — sign (podepisování) + verify (ověřování příchozích).

Nastavení DKIM u cloudových služeb

Google Workspace

  1. Přejděte do Admin konzoleAplikaceGoogle WorkspaceGmailOvěřit e-mail
  2. Vyberte doménu a klikněte na Vygenerovat nový záznam
  3. Zvolte délku klíče 2048 bitů (pokud ji váš DNS poskytovatel podporuje)
  4. Zkopírujte vygenerovaný TXT záznam a přidejte ho do DNS vaší domény
  5. Po propagaci DNS (až 48 hodin) se vraťte do Admin konzole a klikněte na Zahájit ověřování

Google používá výchozí selektor google. Pokud jste dříve nastavili DKIM s 1024bitovým klíčem, vygenerujte nový 2048bitový a aktualizujte DNS záznam.

Microsoft 365

Microsoft 365 používá CNAME záznamy místo přímých TXT záznamů:

  1. Přejděte do Microsoft Defender portáluE-mail a spolupráceZásady a pravidlaZásady hrozebNastavení ověřování e-mailůDKIM
  2. Vyberte svou doménu a klikněte na Vytvořit DKIM klíče
  3. Přidejte dva CNAME záznamy do DNS:
selector1._domainkey.firma.cz  CNAME  selector1-firma-cz._domainkey.firma.onmicrosoft.com
selector2._domainkey.firma.cz  CNAME  selector2-firma-cz._domainkey.firma.onmicrosoft.com
  1. Po propagaci DNS přepněte přepínač Podepisovat zprávy DKIM podpisy na Zapnuto

Dva selektory (selector1, selector2) umožňují Microsoftu automatickou rotaci klíčů.

Marketingové a transakční platformy

Pokud kromě hlavního e-mailu odesíláte zprávy přes marketingové nebo transakční platformy (Mailchimp, SendGrid, Mailgun, Amazon SES), každá služba potřebuje vlastní DKIM konfiguraci:

  • Každá platforma má v administraci sekci pro ověření domény (Domain Authentication)
  • Služba vygeneruje DNS záznamy (TXT nebo CNAME), které přidáte ke své doméně
  • Po ověření bude služba podepisovat e-maily vaším doménovým DKIM klíčem místo svého výchozího

Neověřené služby podepisují e-maily vlastní doménou — příjemce v hlavičce vidí „podepsáno: sendgrid.net" místo vaší domény, což snižuje důvěryhodnost a narušuje DMARC alignment.

Krok 4: Ověřte funkčnost

Po nasazení DKIM ověřte, že podepisování funguje správně:

  1. Odešlete testovací e-mail na adresu mimo vaši doménu (např. na Gmail)
  2. Zkontrolujte hlavičky přijatého e-mailu — hledejte:
Authentication-Results: mx.google.com;
    dkim=pass header.d=firma.cz header.s=mail2025
  1. Ověřte DNS záznam — zkontrolujte, že je veřejný klíč správně publikovaný a dostupný

Pokud DKIM kontrola selhává, zkontrolujte:

  • Zda DNS záznam existuje na správné adrese ({selektor}._domainkey.{doména})
  • Zda hodnota p= obsahuje kompletní veřejný klíč bez hlaviček PEM souboru
  • Zda se selektor v DNS shoduje se selektorem v konfiguraci serveru
  • Zda uplynul dostatek času na propagaci DNS (standardně do 1 hodiny, maximálně 48 hodin)

Rotace klíčů

DKIM klíče byste měli pravidelně rotovat — doporučený interval je každých 6–12 měsíců. Postup bezpečné rotace:

  1. Vygenerujte nový klíčový pár s novým selektorem (např. mail2025q3)
  2. Publikujte nový veřejný klíč v DNS
  3. Počkejte na propagaci DNS
  4. Přepněte podepisování na nový klíč
  5. Starý DNS záznam ponechte ještě 7–14 dní — e-maily podepsané starým klíčem mohou být stále v doručovacích frontách
  6. Po uplynutí přechodného období smažte starý DNS záznam

U cloudových služeb:

  • Google Workspace vyžaduje ruční rotaci — vygenerujte nový klíč v Admin konzoli a aktualizujte DNS
  • Microsoft 365 rotuje klíče automaticky díky dvěma CNAME selektorům

Ed25519 jako doplněk k RSA

RFC 8463 zavedl podporu algoritmu Ed25519 pro DKIM podpisy. Ed25519 nabízí kratší klíče (256 bitů) při vyšší bezpečnosti než RSA 2048 (odpovídá přibližně RSA 3072) a výrazně menší DNS záznamy.

Podpora Ed25519 zatím není univerzální — ne všechny přijímající servery ho umí ověřit. Řešením je dual signing: server podepisuje každou zprávu dvěma podpisy (Ed25519 + RSA). Každý algoritmus vyžaduje vlastní selektor v DNS (např. mail2025-ed pro Ed25519 a mail2025 pro RSA). Příjemce, který Ed25519 nepodporuje, ověří RSA podpis.

Pokud provozujete vlastní server a chcete být připraveni na budoucnost, nasaďte dual signing. U cloudových služeb (Google Workspace, Microsoft 365) tuto volbu zatím nemáte — používají výhradně RSA.

Nejčastější chyby při nastavení DKIM

Chybějící DKIM pro všechny odesílací služby

Nejčastější problém: firma nastaví DKIM pro hlavní mailový server, ale zapomene na marketingovou platformu, helpdesk nebo fakturační systém. Každá služba odesílající e-maily z vaší domény potřebuje vlastní DKIM konfiguraci.

Řešení: Zmapujte všechny služby, které odesílají e-maily z vaší domény. Kompletní analýza domény vám ukáže, odkud se e-maily odesílají.

Zastaralý 1024bitový klíč

Pokud jste DKIM nastavili před lety, pravděpodobně používáte 1024bitový klíč. Přejděte na 2048 bitů — postup je stejný jako rotace klíčů.

Syntaktická chyba v DNS záznamu

Překlep v hodnotě p=, chybějící středník nebo nadbytečné mezery v klíči způsobí selhání ověření. Po přidání záznamu ho vždy zkontrolujte DNS nástrojem.

Zapomenutý krok u cloudových služeb

U Google Workspace nestačí přidat DNS záznam — musíte se vrátit do Admin konzole a kliknout na Zahájit ověřování. U Microsoft 365 musíte přepnout přepínač DKIM podepisování na Zapnuto. Bez tohoto kroku se e-maily nepodepisují, i když DNS záznam existuje.

Kontrolní seznam nastavení DKIM

  • Všechny odesílací služby zmapovány
  • Klíčové páry vygenerovány (min. 2048 bitů RSA)
  • Veřejné klíče publikovány v DNS
  • Podepisování aktivováno na serveru/ve službě
  • Testovací e-mail odeslán a dkim=pass ověřen
  • DKIM záznam ověřen analyzérem
  • Plán rotace klíčů stanoven (6–12 měsíců)
  • DMARC záznam nasazen pro kompletní ochranu
Číst v jiném jazyce: English

Související články

Co je DKIM a jak funguje

Co je DKIM a jak funguje

DKIM ověřuje integritu a původ e-mailů digitálním podpisem. Zjistěte, jak funguje, jak ho nastavit a proč je nezbytný pro DMARC a doručitelnost.

· 8 min čtení
Co je SPF záznam a proč ho potřebujete
spf

Co je SPF záznam a proč ho potřebujete

SPF záznam chrání vaši doménu před zneužitím k rozesílání podvodných e-mailů. Zjistěte, jak funguje, jak ho nastavit a proč je nezbytný pro…

· 6 min čtení