Modul 4 · 4.4
DKIM: podpis pod vašou poštou
Modul 4: Záznamy pre e-mail · Čas čítania: 8 min
Cieľ lekcie: Po tejto lekcii dokážete vysvetliť, ako funguje DKIM, nájsť a skontrolovať DKIM záznam a správne umiestniť DKIM záznam externej služby (ako TXT alebo ako CNAME).
Kľúčové pojmy: DKIM, digitálny podpis, privátny kľúč a verejný kľúč, selektor, _domainkey, d= a s=, v=DKIM1; k=rsa; p=, DKIM cez CNAME, rotácia kľúčov
Pečať na každej správe
SPF (lekcia 4.3) sa pozerá, z akého servera mail prichádza. DKIM (DomainKeys Identified Mail, RFC 6376) funguje inak: pridá na samotnú správu digitálny podpis.
Funguje to takto:
- Odosielajúci mailový server má tajný privátny kľúč. Pomocou neho vytvorí pre každú správu podpis nad najdôležitejšími časťami: odosielateľom, predmetom, dátumom a obsahom.
- Tento podpis je súčasťou hlavičky správy:
DKIM-Signature. - Zodpovedajúci verejný kľúč je uložený v DNS domény, v TXT zázname.
- Príjemca si tento verejný kľúč stiahne a skontroluje podpis. Ak súhlasí, vie dve veci: správu skutočne podpísal niekto, kto spravuje DNS danej domény, a správa nebola počas prenosu zmenená.
Výhoda je, že DKIM funguje aj po presmerovaní správy, pokiaľ sa obsah nezmení. S tým má SPF problém.
Kde je kľúč uložený? Selektor
Doména môže mať viacero DKIM kľúčov: jeden z vlastného mailového servera, jeden od Microsoft 365, jeden od služby pre newslettre. Aby sa dali od seba odlíšiť, má každý kľúč názov, selektor.
V podpise sú dve dôležité polia:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail2026; ...d=example.com: doména, ktorá podpisuje.s=mail2026: selektor.
Príjemca potom vyhľadá kľúč pod týmto názvom:
<selector>._domainkey.<domien>
mail2026._domainkey.example.comČasť _domainkey je pevná. Záznam potom vyzerá napríklad takto:
mail2026._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."| Časť | Význam |
|---|---|
v=DKIM1 | Toto je DKIM kľúč. |
k=rsa | Typ kľúča. RSA je bežný; existuje aj ed25519 (RFC 8463). |
p=... | Samotný verejný kľúč, dlhý reťazec písmen a číslic. Ak je p= prázdne, kľúč bol zrušený. |
RSA kľúč s dĺžkou 2048 bitov je bežná voľba; 1024 bitov je minimum (RFC 8301). Takýto kľúč je dlhší ako 255 znakov, takže záznam pozostáva z viacerých textových úsekov (lekcia 4.2). Väčšina panelov to rieši automaticky.
Váš vlastný DKIM a DKIM externých služieb
Váš hostingový balík alebo mailový server. Na mnohých serveroch je DKIM predvolene zapnutý a panel sám umiestni záznam do DNS. Uvidíte potom TXT záznam s názvom ako x._domainkey alebo default._domainkey.
Ak je DNS vašej domény spravovaná u iného poskytovateľa (napríklad Cloudflare alebo váš registrátor), váš mailový server tam záznam sám umiestniť nemôže. V takom prípade skopírujete názov a celú hodnotu z vášho hostingového panelu a u svojho DNS poskytovateľa vytvoríte TXT záznam s presne tým istým názvom a hodnotou. Na toto sa často zabúda pri zmene menných serverov: mail sa potom zrazu častejšie dostáva do spamu.
Externé služby. Microsoft 365, Google Workspace a služby pre newslettre podpisujú vlastným kľúčom. Od nich dostanete jeden alebo viacero záznamov:
- Ako TXT, napríklad Google Workspace: názov
google._domainkey, hodnotav=DKIM1; k=rsa; p=s dlhým kľúčom za tým. - Ako CNAME, napríklad Microsoft 365 (
selector1._domainkeyaselector2._domainkey) alebo Mailchimp (k2._domainkeyak3._domainkey). CNAME smeruje na kľúč, ktorý spravuje samotná služba. Výhoda: služba môže svoj kľúč vymeniť bez toho, aby ste museli niečo robiť.
Všetky tieto záznamy majú vlastný selektor, a preto si neprekážajú. Keď pridávate službu, neodstraňujte DKIM záznam vlastného mailového servera.
Prečo dva selektory?
Služby ako Microsoft 365 vyžadujú dva CNAME záznamy, selector1 a selector2. Podpisujú naraz jedným kľúčom a v určených intervaloch prepínajú na druhý (rotácia kľúčov). Ak nastavíte iba selector1, funguje to až do prvej výmeny, a potom DKIM zrazu zlyhá. Preto vždy nastavte všetky záznamy, ktoré služba uvádza.
Časté chyby
- Zdvojená doména. Zadáte
k2._domainkey.example.comdo panelu, ktorý názov domény sám pridáva za vaše zadanie. Výsledok:k2._domainkey.example.com.example.com. Zadajte ibak2._domainkey. - TXT namiesto CNAME (alebo naopak). Použite presne ten typ, ktorý služba uvádza.
- Chýbajúca bodka na konci cieľa CNAME. V paneloch, ktoré to vyžadujú:
dkim2.mcsv.net.s bodkou. - Orezaný kľúč. Pri kopírovaní chýba posledná časť
p=. Porovnajte začiatok a koniec s originálom. - DKIM zapnutý v paneli služby, ale záznamy nenastavené, alebo naopak. Pri väčšine služieb musíte najprv nastaviť záznamy a až potom zapnúť DKIM v ich správcovskom rozhraní.
Kontrola, či DKIM funguje
Pošlite mail na adresu u veľkého poskytovateľa (napríklad Gmail) a zobrazte si originál (Zobraziť originál alebo Zobraziť zdroj). Vyhľadajte dkim=pass a pozrite sa, aká doména sa pri tom uvádza. Prípadne pošlite mail do testovacej služby ako mail-tester.com. Záznam si môžete overiť aj sami pomocou DNS nástroja: vyžiadajte TXT záznam pre <selector>._domainkey.<domien>.
V praxi: ako to vyzerá v paneli
V tomto príklade používame DirectAdmin. V DNS správa je TXT záznam s názvom x._domainkey; hodnota začína na v=DKIM1; k=rsa; p=. V časti Správca e-mailov, E-mailové účty je tlačidlo na zapnutie alebo vypnutie DKIM. CNAME od služby vytvoríte cez Pridať záznam, typ CNAME, názov k2._domainkey, hodnota s bodkou na konci.
V iných paneloch sa DKIM niekedy nachádza pod „Autentifikácia e-mailu“ alebo „Zabezpečenie e-mailu“, ale samotný záznam v DNS je všade rovnaký.
Zhrnutie
- DKIM pridá na každú správu digitálny podpis; verejný kľúč sa nachádza v DNS.
- Kľúč je uložený na
<selector>._domainkey.<domien>. Selektor je v podpise (s=), doména tiež (d=). - Každá služba má vlastný selektor; záznamy rôznych služieb existujú vedľa seba.
- Služby často používajú CNAME záznamy a viacero selektorov. Nastavte ich všetky, s presne tým typom, ktorý uvádzajú.
- Ak je vaša DNS spravovaná u iného poskytovateľa, musíte tam DKIM kľúč svojho mailového servera nastaviť sami.
Kvíz
Úloha
Úloha Z4.4: Vyhľadanie DKIM. Otvorte mail, ktorý ste dostali od firmy alebo organizácie, a pozrite si originál. V hlavičke DKIM-Signature nájdite doménu (d=) a selektor (s=). Obe hodnoty vyplňte. Kontrola vyhľadá príslušný kľúč.
Úloha O4.4: Vlastné nastavenie vo vašej cvičnej zóne. V cvičnej zóne použijete fiktívnu službu; pri svojej reálnej doméne prevezmete skutočný kľúč alebo CNAME od svojho mailového servera alebo služby. Pri úlohe dostanete cvičný kľúč (hodnotu za p=). Tento kľúč je dlhý: vložte ho celý, bez vynechania čohokoľvek. Vo svojej cvičnej zóne vytvorte:<code>.dnspractice.eu
- TXT záznam na
cursus._domainkeys hodnotouv=DKIM1; k=rsa; p=<cvičný kľúč>; - CNAME záznam na
k2._domainkey, ktorý smeruje nadkim.newsletter-demo.dnspractice.eu.(s bodkou na konci, ak to váš panel vyžaduje).
Úloha O4.4
Túto úlohu urobíte vo vlastnej cvičnej zóne: skutočnej DNS zóne na menných serveroch WebOké, určenej iba pre vás. Prihláste sa svojou e-mailovou adresou. Dostanete prihlasovací odkaz e-mailom a potom sa vrátite späť na túto lekciu. Vašu adresu používame iba pre účely kurzu.
Ďalšie čítanie
Postupy v týchto článkoch platia pre panely WebOké; v iných paneloch to funguje podobne.
- Návod na DirectAdmin 5.8: Zapnutie a kontrola DKIM
- Nastavenie DKIM, keď DNS beží na externom serveri
- Návod na DirectAdmin 5.4: CNAME záznamy a bodka na konci
- Príručka WebOké 6.7: Karta Nastaviť e-mail (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (dĺžka kľúča), RFC 8463 (Ed25519)
