CAA: hvem må udstede certifikater?
Modul 5: Øvrige records · Læsetid: 6 minutter
Læringsmål: Efter denne lektion kan du læse et CAA-record, og du ved, hvordan et CAA-record kan blokere ansøgningen om et SSL-certifikat.
Centrale begreber: CAA, issue, issuewild, iodef, certifikatautoritet (CA), intet CAA-record betyder: alle må
En hængelås fra en fremmed
Et SSL-certifikat (egentlig et TLS-certifikat) sørger for hængelåsen i browseren. Det udstedes af en certifikatautoritet, forkortet CA: for eksempel Let's Encrypt, Sectigo, DigiCert eller Google Trust Services. Der findes snesevis af CA'er, som browsere stoler på, og i princippet må enhver af dem udstede et certifikat til dit domæne, så længe ansøgeren kan vise, at vedkommende administrerer domænet.
Med et CAA-record (Certification Authority Authorization, RFC 8659) begrænser du dette. Du angiver i DNS, hvilke CA'er der må udstede certifikater til dit domæne. Hver CA er forpligtet til at kontrollere dette record, før den udsteder et certifikat. Står CA'en ikke på listen, skal den afvise ansøgningen.
Det beskytter mod, at et certifikat udstedes i dit navn via en sjusket eller vildledt CA. Det er en ekstra lås, ikke et krav.
Sådan ser et CAA-record ud
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"Et CAA-record består af tre dele:
| Del | Eksempel | Betyder |
|---|---|---|
| Flag | 0 | Næsten altid 0. Et 128 betyder: "forstår du ikke denne regel, så udsted intet". |
| Tag | issue | Hvilken slags regel det er (se nedenfor). |
| Værdi | "letsencrypt.org" | CA'en, angivet med sit eget domænenavn. Mellem anførselstegn. |
De tre tags, du kan støde på:
issue: denne CA må udstede almindelige certifikater (tilexample.com,www.example.comog så videre).issuewild: denne CA må udstede wildcard-certifikater (*.example.com). Står der ikke nogenissuewild, gælderissue-reglerne også for wildcards.iodef: hvor en CA kan sende en meddelelse, hvis nogen ansøger om et certifikat, som ifølge dit CAA ikke er tilladt.
Du må godt have flere issue-regler: så må hver nævnt CA udstede. Vil du derimod sikre, at ingen udsteder en bestemt type certifikat, bruger du en tom værdi: 0 issuewild ";" betyder "ingen må udstede wildcards".
Intet CAA-record: alle må
Har dit domæne ikke noget CAA-record, må enhver CA udstede et certifikat. Det er den normale situation for de fleste domæner, og det er ikke forkert. CAA er et valg.
En CA slår CAA-recordet op ved det eksakte navn på certifikatet. Finder den intet der, kigger den et niveau op, helt op til domænet. Et CAA-record på example.com gælder altså også for shop.example.com, medmindre shop.example.com har sit eget CAA-record.
Sådan kan CAA blokere dit certifikat
Dette er grunden til, at CAA hører hjemme i et begynderkursus: et CAA-record kan gøre, at dit gratis certifikat ikke længere fornyes, og fejlmeddelelsen er ikke altid klar.
Forestil dig: din hjemmeside har i årevis kørt med et certifikat fra en betalt CA. Nogen oprettede dengang et CAA-record:
example.com. CAA 0 issue "sectigo.com"Nu flytter du til hosting, der automatisk ansøger om Let's Encrypt-certifikater. Let's Encrypt kontrollerer CAA, ser at kun Sectigo må, og afviser. Din side får intet certifikat, og besøgende ser en advarsel.
Løsningen: tilføj den CA, du nu bruger, eller fjern det gamle CAA-record, hvis du ikke længere har brug for det.
example.com. CAA 0 issue "sectigo.com"
example.com. CAA 0 issue "letsencrypt.org"Bruger du en tjeneste, der selv ordner certifikater, som en webshop-platform eller et CDN, så spørg hvilken CA de bruger, og tilføj den. Ellers blokerer du også deres certifikat.
I praksis: sådan ser det ud i et panel
Som eksempel bruger vi DNS-skærmen i Mit WebOké, som har en CAA-hjælper med de mest kendte CA'er. I DirectAdmin, Cloudflare og de fleste andre paneler udfylder du de samme tre felter: flag, tag og værdi.
- Klik på Tilføj post og vælg CAA.
- Lad navnet stå på selve domænet (
@). - Lad flaget stå på
0. - Vælg tagget
issue. - Indtast CA'en, for eksempel
letsencrypt.org. - Gem og gentag for hver CA, der må udstede.
Opsummering
- Med et CAA-record bestemmer du, hvilke certifikatautoriteter der må udstede certifikater til dit domæne.
issueer til almindelige certifikater,issuewildtil wildcards,iodeftil meldinger.- Intet CAA-record betyder: enhver CA må. Det er normalt.
- Et CAA-record på domænet gælder også for subdomæner uden eget CAA.
- Et glemt CAA-record kan blokere et nyt eller fornyet certifikat. Tilføj den CA, du nu bruger.
Quiz
Opgave
Opgave Z5.2: Slå CAA op. Slå CAA-recordene for wikipedia.org op. Hvilke certifikatautoriteter må ifølge issue-reglerne udstede certifikater? Indtast dem alle.
Opgave O5.2: Indstil selv i din øvelseszone. Opret i din øvelseszone på selve zonens navn (@) to CAA-records:
0 issue ";"0 iodef "mailto:abuse@dnspractice.eu"
Den første regel betyder: ingen må udstede certifikater til dette navn. I øvelseszonen er det netop rigtigt: der kører ingen rigtig hjemmeside, så der skal heller ikke komme noget certifikat, og sådan kan ingen misbruge øvelseszonen til at få et certifikat. På dit rigtige domæne gør du aldrig dette, hvis du bruger https; der sætter du de CA'er, du rent faktisk bruger, som 0 issue "letsencrypt.org". Iodef-reglen peger i øvelseszonen på meldeadressen for øvelsesmiljøet; på dit rigtige domæne indtaster du din egen adresse.
Klik derefter på Kontrollér.
Opgave O5.2
Denne opgave laver du i din egen øvelseszone: en rigtig DNS-zone på WebOkés navneservere, kun til dig. Tilmeld dig med din e-mailadresse. Du får et login-link på mail og kommer derefter tilbage til denne lektion. Vi bruger kun din adresse til kurset.
Læs videre
Disse artikler beskriver trinene i WebOkés paneler; i andre paneler fungerer de på lignende vis.
