Vad är DNS CAA och hur valideras och implementeras?

Dra nytta av CAA DNS-posten för att auktorisera CA att utfärda TLS-certifikaten.

Vad är DNS CAA?

CAA är en av DNS-posttyperna som instruerar CA om de ska utfärda ett certifikat eller inte. Med ett annat ord, du låter världen veta vem som ska utfärda din domän SSL/TLS-certifikat. CAA-implementeringen blev obligatorisk i slutet av 2017, så den är relativt ny, och mindre än 5 % av populära webbplatser har implementerat detta.

Låt oss ta ett exempel – adminvista.com äger en webbplats som heter ”gf.dev”, som har följande CAA-post.

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"

Genom att titta på ovanstående resultat kan jag få certifikatet utfärdat endast från DigiCert, Comodo och Let’s encrypt. Om jag ber Thawte eller annan CA att utfärda ett certifikat för gf.dev, så kommer de inte att kunna göra det. Dessutom, om du är uppmärksam, kommer du att märka att vissa poster har problem och några problemwild. Låt oss ta reda på vad de är.

  • issue – instruera CA att endast utfärda certifikatet för den domänen.
  • issuewild – CA kan utfärda jokerteckencertifikatet så att det kan användas i en domän eller underdomän.

CAA-posten stöder även iodef (Incident Object Description Exchange-format) som tillåter CA att skicka överträdelserapport till angiven e-post eller kontaktinformation.

Vad händer när ingen CAA-post hittas?

Om en domän inte har en CAA-post kan vem som helst generera en CSR för den domänen och få certifikatet signerat av vilken CA som helst. Detta är en säkerhetsrisk.

Är det klart nu?

Det finns några förkortningar jag har använt ovan. Låt oss kolla vad de är.

  • DNS – Domännamnssystem
  • CA – Certifikatmyndighet
  • CAA – Certification Authorization
  • TLS – Transportlagersäkerhet
  • SSL – Secure socket layer

Hur kontrollerar jag DNS CAA-posten?

Det finns flera sätt att validera CAA-posten. Om du inte vill lämna din terminal kan du kontrollera med dig-kommandot.

dig caa $YOURWEBSITE.COM

Exempel på adminvista.com.com

[email protected]:~# dig caa adminvista.com.com

; <<>> DiG 9.11.3-1ubuntu1.8-Ubuntu <<>> caa adminvista.com.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:
;adminvista.com.com.			IN	CAA

;; ANSWER SECTION:
adminvista.com.com.		3600	IN	CAA	0 issuewild "comodoca.com"
adminvista.com.com.		3600	IN	CAA	0 issuewild "letsencrypt.org"
adminvista.com.com.		3600	IN	CAA	0 issue "comodoca.com"
adminvista.com.com.		3600	IN	CAA	0 issue "digicert.com; cansignhttpexchanges=yes"
adminvista.com.com.		3600	IN	CAA	0 issue "letsencrypt.org"
adminvista.com.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]:~#

Om du gillar att testa detta på distans kan du använda DNS CAA-testare onlineverktyg.

Hur lägger man till en CAA-post?

Tekniskt sett är detta på samma sätt som du lägger till andra DNS-poster som A, NS, CNAME, etc.

Om du använder Cloudflare, gå till DNS-fliken >> lägg till en post och välj CAA som typ.

För GoDaddy, gå till DNS Management och lägg till en post

Om du inte är säker på hur du lägger till kan du kontakta din DNS-/värdleverantör för hjälp.

Slutsats

Om inte redan, bör du dra nytta av CAA-posten för att lägga till ett lager av domänsäkerhet. Att lägga till en CAA-post kostar dig inte.

Gillade du att läsa artikeln? Vad sägs om att dela med världen?