Co je DNS CAA a jak ověřit a implementovat?

Využijte záznam CAA DNS k autorizaci CA k vydávání certifikátů TLS.

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ě.
  Jak zastavit upozornění „Nastavit Apple Pay“ z jiných aplikací

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 obnovit přerušené stahování v prohlížeči Google Chrome

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?