Technická infrastruktura

DKIM

Digitální podpis e-mailu ověřující, že zpráva nebyla pozměněna – nutný pro doručitelnost

(DomainKeys Identified Mail)

Co je DKIM

DKIM (DomainKeys Identified Mail) je digitální podpis, kterým odesílající server opatří každou odchozí zprávu. Podpis vzniká soukromým klíčem, k ověření slouží klíč veřejný a ten leží v DNS domény pod adresou ve tvaru selektor._domainkey.vasedomena.cz. Příjemce si ho vytáhne a spočítá, jestli podpis sedí.

Co podpis dokazuje

Dvě věci naráz. Že zprávu odeslal někdo s přístupem k doméně, a že s ní po cestě nikdo nehnul: kdyby se změnil předmět nebo tělo, kontrolní součet přestane odpovídat a ověření selže. V tom je rozdíl proti SPF, které hlídá jen adresu odesílajícího serveru a o obsahu zprávy neví nic. Fungují vedle sebe, ne místo sebe.

Nastavení bez šroubováku

Klíče nikdo negeneruje ručně. Ecomail, Mailchimp i Google Workspace vám ve chvíli ověřování domény vypíšou hotový záznam k vložení do DNS, obvykle CNAME mířící na jejich server, někdy TXT s klíčem přímo v hodnotě. Vaše práce končí zkopírováním a stiskem tlačítka Ověřit. Zdržení bývá jinde: DNS se propisuje podle nastaveného TTL, takže když se ověření nechytne hned, počkejte pár hodin a zkuste to znovu. Pokud za vás odesílá víc nástrojů, každý dostane vlastní selektor a záznamů v DNS přibude několik. To je v pořádku, tady se na rozdíl od SPF nic neslučuje.

Na transakční poštu se zapomíná

Zelenou fajfku v administraci nástroje beru jako začátek, ne jako výsledek. Ověřuju si to ručně: odešlu zkušební e-mail na svůj Gmail, dám Zobrazit původní a v hlavičce hledám dkim=pass. Nejvíc mě pokaždé zaskočí transakční pošta. Potvrzení objednávek z e-shopu a doklady z fakturačního systému jedou přes jiný server než newsletter, potřebují vlastní podpis a při nasazení se na ně zapomíná. Zákazník pak dostane nabídku do doručené pošty a fakturu do spamu.

Časté otázky

Pozná DKIM, že někdo cestou změnil obsah zprávy?

Ano, přesně na to je. Podpis se počítá z hlaviček a z těla zprávy, takže jakýkoli zásah do předmětu nebo obsahu způsobí, že kontrola u příjemce neprojde.

Musím DKIM nastavovat zvlášť pro každý nástroj, který za mě odesílá?

Ano. Každá služba podepisuje vlastním klíčem, takže dostane vlastní selektor a vlastní záznam v DNS. Na rozdíl od SPF se záznamy neslučují, klidně jich vedle sebe běží několik.

Kde ověřím, že se podpis opravdu přidává?

Nejrychleji ve zdrojovém kódu doručené zprávy. V Gmailu otevřete Zobrazit původní a v hlavičce hledáte řádek s dkim=pass. Stejná informace je v hlavičce i v jiných klientech, jen se položka jmenuje jinak.