Utnytt DNS CAA-posten for å autorisere sertifikatutstedere
Bruk av en CAA DNS-oppføring gir deg muligheten til å styre hvilke sertifiseringsinstanser (CA) som har tillatelse til å utstede TLS-sertifikater for ditt domene. Denne funksjonen legger til et ekstra lag med sikkerhet.
Hva betyr DNS CAA?
CAA er en spesifikk type DNS-post som forteller sertifiseringsinstanser om de skal utstede et sertifikat for domenet eller ikke. Det fungerer som en mekanisme for å angi hvilke CA-er som er autorisert til å utstede SSL/TLS-sertifikater for ditt domene. Implementeringen av CAA ble obligatorisk sent i 2017 og er relativt ny, og derfor er det fortsatt under 5% av populære nettsteder som har implementert dette.
La oss illustrere med et eksempel. Anta at «tipsbilk.net» eier nettsiden «gf.dev», som har følgende CAA-oppføringer:
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"
Ut ifra dette kan man se at sertifikater kun kan utstedes fra DigiCert, Comodo og Let’s Encrypt. Om en annen CA, som for eksempel Thawte, skulle forsøke å utstede et sertifikat for gf.dev, vil det bli avvist. Merk at noen oppføringer bruker «issue» og andre «issuewild». La oss se nærmere på hva de betyr.
- issue – gir instruksjon til CA om å kun utstede sertifikater for det spesifikke domenet.
- issuewild – tillater CA å utstede wildcard-sertifikater som kan brukes for domenet og alle underdomener.
CAA-posten støtter også iodef (Incident Object Description Exchange Format), som gjør det mulig for CA å sende bruddrapporter til en spesifisert e-postadresse eller kontaktinformasjon.
Konsekvensen av manglende CAA-post
Dersom et domene ikke har en CAA-post, kan hvem som helst generere en CSR (Certificate Signing Request) for det og få sertifikatet signert av hvilken som helst CA. Dette utgjør en sikkerhetsrisiko.
Er du med så langt?
Her er en oppsummering av forkortelser som er brukt:
- DNS – Domenenavnsystem
- CA – Sertifiseringsinstans
- CAA – Autorisasjon fra sertifiseringsinstans
- TLS – Transport Layer Security
- SSL – Secure Socket Layer
Hvordan sjekke en DNS CAA-post
Det finnes flere metoder for å validere en CAA-post. Hvis du foretrekker å bruke terminalen, kan du bruke kommandoen «dig»:
dig caa $DITTDOMENE.COM
Et eksempel for tipsbilk.net.com:
[email protected]:~# dig caa tipsbilk.net.com ; <<>> DiG 9.11.3-1ubuntu1.8-Ubuntu <<>> caa tipsbilk.net.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: ;tipsbilk.net.com. IN CAA ;; ANSWER SECTION: tipsbilk.net.com. 3600 IN CAA 0 issuewild "comodoca.com" tipsbilk.net.com. 3600 IN CAA 0 issuewild "letsencrypt.org" tipsbilk.net.com. 3600 IN CAA 0 issue "comodoca.com" tipsbilk.net.com. 3600 IN CAA 0 issue "digicert.com; cansignhttpexchanges=yes" tipsbilk.net.com. 3600 IN CAA 0 issue "letsencrypt.org" tipsbilk.net.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]:~#
Hvis du heller vil benytte et eksternt verktøy, finnes det online DNS CAA-testverktøy.
Hvordan legge til en CAA-post
Rent teknisk legges en CAA-post til på samme måte som andre DNS-poster, som A, NS og CNAME.
Hvis du bruker Cloudflare, går du til DNS-fanen, legger til en ny oppføring og velger CAA som type.
For GoDaddy finner du DNS Management og legger til en oppføring der.
Hvis du trenger hjelp, ta kontakt med din DNS- eller hosting-leverandør.
Oppsummering
Dersom du ikke allerede har gjort det, bør du dra nytte av CAA-poster for å styrke sikkerheten til ditt domene. Det koster deg ingenting å legge til en CAA-post.
Likte du artikkelen? Del den gjerne med andre!