Modul 5 · 5.2
CAA: kdo smí vydávat certifikáty?
Modul 5: Další záznamy · Doba čtení: 6 min
Cíl lekce: Po této lekci budete umět přečíst CAA záznam a budete vědět, jak může CAA záznam zablokovat žádost o SSL certifikát.
Klíčové pojmy: CAA, issue, issuewild, iodef, certifikační autorita (CA), chybějící CAA záznam znamená: smí kdokoli
Zámeček od cizí osoby
SSL certifikát (přesněji TLS certifikát) zajišťuje zámeček v prohlížeči. Vydává ho certifikační autorita, zkráceně CA: například Let's Encrypt, Sectigo, DigiCert nebo Google Trust Services. Existují desítky CA, kterým prohlížeče důvěřují, a v zásadě může certifikát pro Vaši doménu vydat kterákoli z nich, pokud žadatel prokáže, že doménu spravuje.
Pomocí CAA záznamu (Certification Authority Authorization, RFC 8659) to omezíte. V DNS nastavíte, které CA smí pro Vaši doménu vydávat certifikáty. Každá CA je povinna tento záznam před vydáním certifikátu zkontrolovat. Pokud v něm daná CA není uvedena, musí vydání odmítnout.
Chrání to před certifikátem, který by na Vaše jméno vydala nedbalá nebo oklamaná CA. Je to dodatečný zámek, nikoli povinnost.
Jak CAA záznam vypadá
example.com. 3600 IN CAA 0 issue "letsencrypt.org"
example.com. 3600 IN CAA 0 issue "sectigo.com"
example.com. 3600 IN CAA 0 iodef "mailto:beveiliging@example.com"CAA záznam má tři části:
| Část | Příklad | Význam |
|---|---|---|
| Příznak | 0 | Téměř vždy 0. Hodnota 128 znamená: „pokud této hodnotě nerozumíte, nic nevydávejte“. |
| Tag | issue | O jaký typ pravidla jde (viz níže). |
| Hodnota | "letsencrypt.org" | CA označená vlastní doménovým jménem. V uvozovkách. |
Tři tagy, se kterými se setkáte:
issue: tato CA smí vydávat běžné certifikáty (proexample.com,www.example.coma podobně).issuewild: tato CA smí vydávat wildcard certifikáty (*.example.com). Pokudissuewildchybí, platí pro wildcard certifikáty pravidlaissue.iodef: kam může CA poslat hlášení, pokud někdo žádá o certifikát, který podle Vašeho CAA není povolen.
Můžete mít více pravidel issue: pak smí vydávat každá uvedená CA. Pokud naopak chcete, aby daný typ certifikátu nevydával nikdo, použijete prázdnou hodnotu: 0 issuewild ";" znamená „wildcard certifikáty nesmí vydávat nikdo“.
Žádný CAA záznam: smí kdokoli
Pokud Vaše doména nemá CAA záznam, smí certifikát vydat kterákoli CA. To je běžná situace pro většinu domén a není to chyba. CAA je volitelná možnost.
CA vyhledává CAA záznam u přesného názvu, pro který se certifikát vydává. Pokud tam nic nenajde, podívá se o úroveň výš, až k doméně. CAA záznam na example.com tedy platí i pro shop.example.com, pokud shop.example.com nemá vlastní CAA záznam.
Jak může CAA zablokovat Váš certifikát
Právě proto CAA patří do začátečnického kurzu: CAA záznam může způsobit, že se Váš bezplatný certifikát přestane obnovovat, a chybová hláška přitom není vždy jasná.
Představte si: Váš web léta fungoval s certifikátem od placené CA. Někdo tehdy vytvořil CAA záznam:
example.com. CAA 0 issue "sectigo.com"Nyní přecházíte na hosting, který automaticky žádá o certifikáty Let's Encrypt. Let's Encrypt zkontroluje CAA, zjistí, že smí pouze Sectigo, a žádost odmítne. Váš web certifikát nedostane a návštěvníci uvidí varování.
Řešení: přidejte CA, kterou nyní používáte, nebo starý CAA záznam odstraňte, pokud ho už nepotřebujete.
example.com. CAA 0 issue "sectigo.com"
example.com. CAA 0 issue "letsencrypt.org"Pokud používáte službu, která si certifikáty řeší sama, například platformu pro e-shop nebo CDN, zjistěte, kterou CA používá, a tu doplňte. Jinak zablokujete i její certifikát.
V praxi: jak to vypadá v panelu
Jako příklad použijeme obrazovku DNS v Můj WebOké, která má pomůcku pro CAA s nejznámějšími CA. V DirectAdmin, Cloudflare a většině ostatních panelů vyplňujete stejná tři pole: příznak, tag a hodnotu.
- Klikněte na Přidat záznam a vyberte CAA.
- Ponechte název na samotné doméně (
@). - Ponechte příznak na
0. - Zvolte tag
issue. - Zadejte CA, například
letsencrypt.org. - Uložte a opakujte pro každou CA, která smí vydávat.
Shrnutí
- Pomocí CAA záznamu určujete, které certifikační autority smí vydávat certifikáty pro Vaši doménu.
issueje pro běžné certifikáty,issuewildpro wildcard certifikáty,iodefpro hlášení.- Chybějící CAA záznam znamená: smí kterákoli CA. To je normální.
- CAA záznam na doméně platí i pro subdomény bez vlastního CAA.
- Zapomenutý CAA záznam může zablokovat nový nebo obnovovaný certifikát. Doplňte CA, kterou nyní používáte.
Kvíz
Úkol
Úkol Z5.2: Vyhledání CAA. Vyhledejte CAA záznamy domény wikipedia.org. Které certifikační autority smí podle pravidel issue vydávat certifikáty? Vypište je všechny.
Úkol O5.2: Vlastní nastavení ve Vaší cvičné zóně. Ve Vaší cvičné zóně vytvořte na názvu samotné zóny (@) dva CAA záznamy:
0 issue ";"0 iodef "mailto:abuse@dnspractice.eu"
První pravidlo znamená: pro tento název nesmí vydávat certifikáty nikdo. Ve cvičné zóně je to přesně správně: nefunguje na ní žádný skutečný web, takže by tam ani žádný certifikát neměl vzniknout, a nikdo tak nemůže cvičnou zónu zneužít k získání certifikátu. U Vaší skutečné domény, pokud používáte https, toto nikdy nedělejte; tam uvedete CA, které skutečně používáte, například 0 issue "letsencrypt.org". Pravidlo iodef ve cvičné zóně směřuje na ohlašovací adresu cvičného prostředí; u Vaší skutečné domény zadáte svou vlastní adresu.
Poté klikněte na Zkontrolovat.
Úkol O5.2
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á literatura
Tyto články popisují jednotlivé kroky v panelech WebOké; v jiných panelech postupujete obdobně.
