Direct naar de inhoud

Cookie-instellingen

Kies per soort welke cookies je toestaat. Je kunt je keuze altijd wijzigen via Cookie-instellingen onderaan elke pagina. Privacyverklaring

Noodzakelijk

Altijd aan

Nodig om in te loggen, je winkelwagen te bewaren en je keuzes te onthouden. Deze staan altijd aan.

Welke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: je sessie en ingelogd blijven
  • weboke_basket: je winkelwagen
  • wkBtwIncl: prijzen met of zonder btw tonen
  • wok_cookies: je cookiekeuze, 12 maanden

Meet welke advertentie tot een bezoek of bestelling leidt, zodat we niet betalen voor advertenties die niets doen.

Welke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), tot 90 dagen
  • OpenAI Ads, advertenties in ChatGPT
  • wok_aff: via welke partner je bij ons kwam (affiliateprogramma), 60 dagen

4,6

Land en taal

Elk land heeft zijn eigen site, met prijzen en btw van dat land.

Bekijken

CAA: wie mag certificaten uitgeven?

Module 5: Overige records · Leestijd: 6 minuten

Leerdoel: Na deze les kun je een CAA-record lezen en weet je hoe een CAA-record het aanvragen van een SSL-certificaat kan blokkeren.

Kernbegrippen: CAA, issue, issuewild, iodef, certificaatautoriteit (CA), geen CAA-record betekent: iedereen mag

Een slotje van een vreemde

Een SSL-certificaat (eigenlijk een TLS-certificaat) zorgt voor het slotje in de browser. Het wordt uitgegeven door een certificaatautoriteit, kortweg CA: bijvoorbeeld Let's Encrypt, Sectigo, DigiCert of Google Trust Services. Er zijn tientallen CA's die browsers vertrouwen, en in principe mag elk van hen een certificaat voor jouw domein uitgeven, zolang de aanvrager laat zien dat hij het domein beheert.

Met een CAA-record (Certification Authority Authorization, RFC 8659) beperk je dat. Je zet in de DNS welke CA's voor jouw domein certificaten mogen uitgeven. Elke CA is verplicht dat record te controleren voordat hij een certificaat uitgeeft. Staat de CA er niet in, dan moet hij weigeren.

Dat beschermt tegen een certificaat dat via een slordige of misleide CA op jouw naam wordt uitgegeven. Het is een extra slot, geen verplichting.

Hoe een CAA-record eruitziet

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"

Een CAA-record heeft drie delen:

DeelVoorbeeldBetekent
Vlag0Bijna altijd 0. Een 128 betekent: "begrijp je deze regel niet, geef dan niets uit".
TagissueWat voor regel het is (zie hieronder).
Waarde"letsencrypt.org"De CA, aangeduid met zijn eigen domeinnaam. Tussen aanhalingstekens.

De drie tags die je tegenkomt:

  • issue: deze CA mag gewone certificaten uitgeven (voor example.com, www.example.com enzovoort).
  • issuewild: deze CA mag wildcardcertificaten uitgeven (*.example.com). Staat er geen issuewild, dan gelden voor wildcards de issue-regels.
  • iodef: waar een CA een melding kan sturen als iemand een certificaat aanvraagt dat volgens jouw CAA niet mag.

Je mag meerdere issue-regels hebben: elke genoemde CA mag dan. Wil je juist dat niemand een bepaald soort certificaat uitgeeft, dan gebruik je een lege waarde: 0 issuewild ";" betekent "niemand mag wildcards uitgeven".

Geen CAA-record: iedereen mag

Heeft je domein geen CAA-record, dan mag elke CA een certificaat uitgeven. Dat is de normale situatie voor de meeste domeinen, en het is niet fout. CAA is een keuze.

Een CA zoekt het CAA-record op bij de exacte naam van het certificaat. Vindt hij daar niets, dan kijkt hij een niveau hoger, tot aan het domein. Een CAA-record op example.com geldt dus ook voor shop.example.com, tenzij shop.example.com een eigen CAA-record heeft.

CAA: wie mag certificaten uitgeven? 0:55

Hoe CAA je certificaat kan blokkeren

Dit is de reden dat CAA in een beginnerscursus thuishoort: een CAA-record kan ervoor zorgen dat je gratis certificaat niet meer vernieuwd wordt, en de foutmelding is niet altijd duidelijk.

Stel: je website draaide jaren met een certificaat van een betaalde CA. Iemand heeft toen een CAA-record gemaakt:

example.com.  CAA  0 issue "sectigo.com"

Nu verhuis je naar hosting die automatisch Let's Encrypt-certificaten aanvraagt. Let's Encrypt controleert CAA, ziet dat alleen Sectigo mag, en weigert. Je site krijgt geen certificaat en bezoekers zien een waarschuwing.

De oplossing: voeg de CA toe die je nu gebruikt, of verwijder het oude CAA-record als je het niet meer nodig hebt.

example.com.  CAA  0 issue "sectigo.com"
example.com.  CAA  0 issue "letsencrypt.org"

Gebruik je een dienst die zelf certificaten regelt, zoals een webwinkelplatform of een CDN, vraag dan na welke CA die gebruikt en zet die erbij. Anders blokkeer je hun certificaat ook.

In de praktijk: zo ziet het eruit in een paneel

Als voorbeeld gebruiken we het DNS-scherm van Mijn WebOké, dat een CAA-hulp heeft met de bekendste CA's. In DirectAdmin, Cloudflare en de meeste andere panelen vul je dezelfde drie velden in: vlag, tag en waarde.

  1. Klik op Record toevoegen en kies CAA.
  2. Laat de naam op het domein zelf staan (@).
  3. Laat de vlag op 0.
  4. Kies de tag issue.
  5. Vul de CA in, bijvoorbeeld letsencrypt.org.
  6. Sla op en herhaal voor elke CA die mag uitgeven.

Samenvatting

  • Met een CAA-record bepaal je welke certificaatautoriteiten certificaten voor je domein mogen uitgeven.
  • issue is voor gewone certificaten, issuewild voor wildcards, iodef voor meldingen.
  • Geen CAA-record betekent: elke CA mag. Dat is normaal.
  • Een CAA-record op het domein geldt ook voor subdomeinen zonder eigen CAA.
  • Een vergeten CAA-record kan een nieuw of vernieuwd certificaat blokkeren. Zet de CA die je nu gebruikt erbij.

Quiz

1. Je domein heeft geen CAA-record. Wie mag een certificaat uitgeven?



2. Er staat example.com CAA 0 issue "sectigo.com". Je hosting vraagt een certificaat aan bij Let's Encrypt. Wat gebeurt er?



3. Wat regelt de tag issuewild?



4. Er staat een CAA-record op example.com en geen op shop.example.com. Geldt de regel ook voor een certificaat voor shop.example.com?



Opdracht

Opdracht Z5.2: CAA opzoeken. Zoek de CAA-records van wikipedia.org op. Welke certificaatautoriteiten mogen volgens de issue-regels certificaten uitgeven? Vul ze allemaal in.

Opdracht Z5.2: CAA opzoeken


Wat je invult en wat we live vinden, slaan we niet op. Je browser onthoudt je antwoorden en of je de opdracht hebt gehaald. Ben je aangemeld, dan bewaren we alleen dat je de opdracht (bijna) goed had in Mijn cursussen; daar kun je het ook verwijderen.

Opdracht O5.2: Zelf instellen in je oefenzone. Maak in je oefenzone op de naam van de zone zelf (@) twee CAA-records:

  • 0 issue ";"
  • 0 iodef "mailto:abuse@dnspractice.eu"

De eerste regel betekent: niemand mag certificaten uitgeven voor deze naam. In de oefenzone is dat precies goed: er draait geen echte website, dus er hoort ook geen certificaat te komen, en zo kan niemand de oefenzone misbruiken om een certificaat te krijgen. Bij je echte domein doe je dit nooit als je https gebruikt; daar zet je de CA's die je wél gebruikt, zoals 0 issue "letsencrypt.org". De iodef-regel wijst in de oefenzone naar het meldadres van de oefenomgeving; bij je echte domein vul je je eigen adres in.

Klik daarna op Controleren.

Opdracht O5.2

Deze opdracht doe je in je eigen oefenzone: een echte DNS-zone op de nameservers van WebOké, alleen voor jou. Meld je aan met je e-mailadres. Je krijgt een inloglink per mail en komt daarna terug op deze les. We gebruiken je adres alleen voor de cursus.

Verder lezen

Deze artikelen beschrijven de stappen in de panelen van WebOké; in andere panelen werken ze vergelijkbaar.

Even geduld…

Stel je domeinen in

Regel per domein de nameservers, de koppeling aan je hosting en wie de eigenaar wordt.

Je domeinen laden…