Modul 4 · 4.4
DKIM: podpis pod Vaší poštou
Modul 4: Záznamy pro e-mail · Doba čtení: 8 min
Cíl lekce: Po této lekci dokážete vysvětlit, jak funguje DKIM, najít a zkontrolovat DKIM záznam, a správně nastavit DKIM záznam externí služby (jako TXT nebo jako CNAME).
Klíčové pojmy: DKIM, digitální podpis, privátní klíč a veřejný klíč, selektor, _domainkey, d= a s=, v=DKIM1; k=rsa; p=, DKIM přes CNAME, rotace klíčů
Pečeť na každé zprávě
SPF (lekce 4.3) kontroluje, ze kterého serveru zpráva přichází. DKIM (DomainKeys Identified Mail, RFC 6376) funguje jinak: připojuje k samotné zprávě digitální podpis.
Funguje to takto:
- Odesílající poštovní server má tajný privátní klíč. Pomocí něj vytvoří pro každou zprávu podpis nad nejdůležitějšími částmi: odesílatelem, předmětem, datem a obsahem.
- Tento podpis se přidá do hlavičky zprávy:
DKIM-Signature. - Odpovídající veřejný klíč je uložen v DNS daného domény, v TXT záznamu.
- Příjemce si tento veřejný klíč vyžádá a zkontroluje podpis. Pokud souhlasí, ví dvě věci: zprávu skutečně podepsal někdo, kdo spravuje DNS dané domény, a zpráva nebyla cestou změněna.
Výhodou je, že DKIM funguje i po přeposlání zprávy, pokud se obsah nezmění. S tím má SPF potíže.
Kde je klíč uložen? Selektor
Doména může mít více DKIM klíčů: jeden z Vašeho vlastního poštovního serveru, jeden z Microsoft 365, jeden od Vaší newsletterové služby. Aby je bylo možné rozlišit, má každý klíč název, selektor.
V podpisu jsou dvě důležitá pole:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail2026; ...d=example.com: doména, která podepisuje.s=mail2026: selektor.
Příjemce pak vyhledá klíč pod tímto názvem:
<selector>._domainkey.<domein>
mail2026._domainkey.example.comČást _domainkey je pevně daná. Záznam vypadá například takto:
mail2026._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."| Část | Význam |
|---|---|
v=DKIM1 | Jedná se o DKIM klíč. |
k=rsa | Druh klíče. RSA je běžný; existuje i ed25519 (RFC 8463). |
p=... | Samotný veřejný klíč, dlouhá řada písmen a číslic. Pokud je p= prázdné, klíč byl zrušen. |
Běžnou volbou je RSA klíč o délce 2048 bitů; 1024 bitů je minimum (RFC 8301). Takový klíč je delší než 255 znaků, takže záznam se skládá z více textových částí (lekce 4.2). Většina panelů to řeší automaticky.
Váš vlastní DKIM a DKIM externích služeb
Váš hostingový balíček nebo poštovní server. Na mnoha serverech je DKIM standardně zapnutý a panel sám umístí záznam do DNS. Uvidíte pak TXT záznam s názvem jako x._domainkey nebo default._domainkey.
Pokud je DNS Vaší domény spravována u jiné strany (například Cloudflare nebo Váš registrátor), nemůže Váš poštovní server záznam umístit tam sám. V takovém případě zkopírujte název a celou hodnotu z hostingového panelu a u Vaší DNS strany vytvořte TXT záznam s přesně tímto názvem a hodnotou. Na to se často zapomíná při změně jmenných serverů: pošta pak najednou míří častěji do spamu.
Externí služby. Microsoft 365, Google Workspace a newsletterové služby podepisují svým vlastním klíčem. Od nich dostanete jeden nebo více záznamů:
- Jako TXT, například Google Workspace: název
google._domainkey, hodnotav=DKIM1; k=rsa; p=s následujícím dlouhým klíčem. - Jako CNAME, například Microsoft 365 (
selector1._domainkeyaselector2._domainkey) nebo Mailchimp (k2._domainkeyak3._domainkey). CNAME odkazuje na klíč, který spravuje samotná služba. Výhoda: služba může svůj klíč vyměnit, aniž byste museli cokoli dělat.
Všechny tyto záznamy mají vlastní selektor, takže si navzájem nepřekážejí. Při přidávání služby neodstraňujte DKIM záznam svého vlastního poštovního serveru.
Proč dva selektory?
Služby jako Microsoft 365 vyžadují dva CNAME záznamy, selector1 a selector2. Podepisují vždy jedním klíčem a v určených chvílích přepínají na druhý (rotace klíčů). Pokud nastavíte pouze selector1, funguje to do první výměny, poté DKIM naráz selže. Vždy proto nastavte všechny záznamy, které služba uvádí.
Časté chyby
- Dvojitý název domény. Zadáte
k2._domainkey.example.comv panelu, který na konec sám přidá název domény. Výsledek:k2._domainkey.example.com.example.com. Zadávejte pouzek2._domainkey. - TXT místo CNAME (nebo naopak). Použijte přesně typ, který služba uvádí.
- Chybějící tečka na konci cíle CNAME. V panelech, které ji vyžadují:
dkim2.mcsv.net.s tečkou. - Useknutý klíč. Při kopírování chybí poslední část
p=. Porovnejte začátek a konec s originálem. - DKIM zapnutý v panelu služby, ale záznamy nejsou nastavené, nebo naopak. U většiny služeb je třeba nejprve nastavit záznamy a až poté v jejich administračním rozhraní zapnout DKIM.
Kontrola, zda DKIM funguje
Pošlete zprávu na adresu u velkého poskytovatele (například Gmail) a zobrazte si originál (Zobrazit originál nebo Zobrazit zdroj). Vyhledejte dkim=pass a podívejte se, jaká doména je u toho uvedena. Nebo pošlete zprávu na testovací službu jako mail-tester.com. Záznam si můžete vyžádat i sami pomocí DNS nástroje: vyžádejte TXT záznam na <selector>._domainkey.<domein>.
V praxi: jak to vypadá v panelu
V tomto příkladu používáme DirectAdmin. V sekci DNS Beheer je TXT záznam s názvem x._domainkey; hodnota začíná v=DKIM1; k=rsa; p=. V sekci E-mail Beheer, E-mail Accounts je tlačítko pro zapnutí nebo vypnutí DKIM. CNAME záznam od služby vytvoříte přes Record toevoegen, typ CNAME, název k2._domainkey, hodnota s tečkou na konci.
V jiných panelech bývá DKIM uveden pod „E-mailová autentizace“ nebo „Zabezpečení e-mailu“, ale záznam v DNS je všude stejný.
Shrnutí
- DKIM připojuje ke každé zprávě digitální podpis; veřejný klíč je uložen v DNS.
- Klíč se nachází na
<selector>._domainkey.<domein>. Selektor je uveden v podpisu (s=), stejně jako doména (d=). - Každá služba má vlastní selektor; záznamy různých služeb stojí vedle sebe.
- Služby často používají CNAME záznamy a více selektorů. Nastavte je všechny, s přesně uvedeným typem.
- Pokud je Vaše DNS spravována u jiné strany, musíte tam DKIM klíč svého vlastního poštovního serveru nastavit sami.
Kvíz
Úkol
Úkol Z4.4: Vyhledání DKIM. Otevřete zprávu, kterou jste obdrželi od nějaké firmy nebo organizace, a prohlédněte si originál. V hlavičce DKIM-Signature vyhledejte doménu (d=) a selektor (s=). Obojí vyplňte. Kontrola vyhledá odpovídající klíč.
Úkol O4.4: Nastavení ve Vaší cvičné zóně. Ve cvičné zóně používáte fiktivní službu; u svého skutečného domény převezmete skutečný klíč nebo CNAME ze svého poštovního serveru nebo služby. U úkolu dostanete cvičný klíč (hodnotu za p=). Tento klíč je dlouhý: vložte jej celý, bez vynechání. Ve své cvičné zóně vytvořte:<code>.dnspractice.eu
- TXT záznam na
cursus._domainkeys hodnotouv=DKIM1; k=rsa; p=<oefensleutel>; - CNAME záznam na
k2._domainkey, který odkazuje nadkim.newsletter-demo.dnspractice.eu.(s tečkou na konci, pokud to Váš panel vyžaduje).
Úkol O4.4
Tento úkol vypracujete ve své vlastní cvičné zóně: skutečné DNS zóně na jmenných serverech WebOké, určené pouze pro Vás. Přihlaste se svou e-mailovou adresou. Odkaz pro přihlášení obdržíte e-mailem a poté se vrátíte zpět na tuto lekci. Vaši adresu používáme pouze pro potřeby kurzu.
Doporučené čtení
Kroky v těchto článcích platí pro panely WebOké; v jiných panelech se postupuje obdobně.
- Příručka k DirectAdmin 5.8: Zapnutí a kontrola DKIM
- Nastavení DKIM, když DNS běží na externím serveru
- Příručka k DirectAdmin 5.4: CNAME záznamy a tečka na konci
- Příručka WebOké 6.7: Karta Nastavení e-mailu (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (délka klíče), RFC 8463 (Ed25519)
