Využijte záznam CAA DNS k autorizaci CA k vydávání certifikátů TLS.
Table of Contents
Co je DNS CAA?
CAA je jedním z typů záznamů DNS, které instruují CA, zda mají vydat certifikát nebo ne. Jinými slovy, dáváte světu vědět, kdo by měl vydat vaši doménu SSL/TLS certifikát. Implementace CAA byla na konci roku 2017 povinná, takže je relativně nová a implementovalo ji méně než 5 % oblíbených webů.
Vezměme si příklad – etechblog.cz vlastní web s názvem „gf.dev“, který má následující záznam CAA.
gf.dev. 3586 IN CAA 0 issue "digicert.com; cansignhttpexchanges=yes" gf.dev. 3586 IN CAA 0 issuewild "comodoca.com" gf.dev. 3586 IN CAA 0 issue "comodoca.com" gf.dev. 3586 IN CAA 0 issuewild "digicert.com; cansignhttpexchanges=yes" gf.dev. 3586 IN CAA 0 issuewild "letsencrypt.org" gf.dev. 3586 IN CAA 0 issue "letsencrypt.org"
Při pohledu na výše uvedené výsledky mohu získat certifikát vystavený pouze od DigiCert, Comodo a Let’s encrypt. Pokud požádám Thawte nebo jinou CA o vydání certifikátu pro gf.dev, nebudou moci. Také, pokud budete dávat pozor, všimnete si, že některé položky mají problém a některé issuewild. Pojďme zjistit, jaké to jsou.
- vydat – pokyn CA, aby vydala certifikát pouze pro tuto doménu.
- issuewild – CA může vydat zástupný certifikát, aby jej bylo možné použít v doméně nebo subdoméně.
Záznam CAA také podporuje iodef (formát výměny popisu incidentních objektů), který umožňuje CA odeslat zprávu o porušení na zadaný e-mail nebo kontaktní údaje.
Co se stane, když nebyl nalezen žádný záznam CAA?
Pokud doména nemá záznam CAA, může kdokoli vygenerovat CSR pro tuto doménu a nechat si certifikát podepsat kteroukoli CA. To je bezpečnostní riziko.
Už je to jasné?
Existuje několik zkratek, které jsem použil výše. Pojďme se podívat, jaké to jsou.
- DNS – Systém doménových jmen
- CA – Certifikační autorita
- CAA – Autorizace certifikační autority
- TLS – Zabezpečení transportní vrstvy
- SSL – Secure socket layer
Jak zkontrolovat DNS CAA záznam?
Existuje několik způsobů, jak ověřit záznam CAA. Pokud nechcete opustit svůj terminál, můžete to zkontrolovat pomocí příkazu dig.
dig caa $YOURWEBSITE.COM
Příklad etechblog.cz.com
[email protected]:~# dig caa etechblog.cz.com ; <<>> DiG 9.11.3-1ubuntu1.8-Ubuntu <<>> caa etechblog.cz.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54430 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;etechblog.cz.com. IN CAA ;; ANSWER SECTION: etechblog.cz.com. 3600 IN CAA 0 issuewild "comodoca.com" etechblog.cz.com. 3600 IN CAA 0 issuewild "letsencrypt.org" etechblog.cz.com. 3600 IN CAA 0 issue "comodoca.com" etechblog.cz.com. 3600 IN CAA 0 issue "digicert.com; cansignhttpexchanges=yes" etechblog.cz.com. 3600 IN CAA 0 issue "letsencrypt.org" etechblog.cz.com. 3600 IN CAA 0 issuewild "digicert.com; cansignhttpexchanges=yes" ;; Query time: 7 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: Tue Oct 08 07:12:21 UTC 2019 ;; MSG SIZE rcvd: 298 [email protected]:~#
Pokud to chcete otestovat na dálku, můžete použít Tester DNS CAA online nástroj.
Jak přidat záznam CAA?
Technicky je to stejný způsob, jako přidáváte další záznamy DNS, jako je A, NS, CNAME atd.
Pokud používáte Cloudflare, přejděte na kartu DNS >> přidejte záznam a jako typ vyberte CAA.
Pro GoDaddy přejděte do správy DNS a přidejte záznam
Pokud si nejste jisti, jak přidat, můžete požádat o pomoc svého poskytovatele DNS/hostingu.
Závěr
Pokud ještě ne, měli byste využít záznam CAA k přidání vrstvy zabezpečení domény. Přidání CAA záznamu vás nic nestojí.
Užili jste si čtení článku? Co takhle sdílet se světem?