Certificate Authority Authorisation-records (CAA) er en DNS-recordtype standardiseret i RFC 6844 og gjort obligatorisk for CA'er at tjekke i 2017. En CAA-record på dit domæne fortæller CA'er hvilke af dem der har tilladelse til at udstede certifikater til det domæne. Enhver CA der tjekker CAA-records — hvilket alle offentligt betroede CA'er nu er forpligtede til at gøre — skal nægte at udstede et certifikat hvis domænets CAA-records ikke autoriserer dem.

Uden en CAA-record er der ingen begrænsning. Enhver CA kan udstede. Med en CAA-record der lister dine godkendte CA'er er alle andre CA'er forbudt fra at udstede til dit domæne.

Hvad en CAA-record ser ud som

CAA-records har et ligetil format. En typisk konfiguration der autoriserer Let's Encrypt og DigiCert:

ditdomæne.dk.  IN  CAA  0  issue  "letsencrypt.org"
ditdomæne.dk.  IN  CAA  0  issue  "digicert.com"
ditdomæne.dk.  IN  CAA  0  issuewild  "letsencrypt.org"
ditdomæne.dk.  IN  CAA  0  iodef  "mailto:security@ditdomæne.dk"

De vigtigste felter:

  • issue — specificerer en CA autoriseret til at udstede regulære (ikke-wildcard) certifikater
  • issuewild — specificerer en CA autoriseret til at udstede wildcard-certifikater. Hvis fraværende gælder issue-tag for begge. Hvis til stede tilsidesætter det issue for wildcards.
  • iodef — en e-mailadresse eller URL hvor CA'er skal rapportere mislykkede udstedelseforsøg på grund af CAA-politik. Dette giver dig synlighed når nogen forsøger at få et certifikat til dit domæne fra en uautoriseret CA.

CAA-records arves ned i DNS-træet. En CAA-record på ditdomæne.dk gælder for alle underdomæner medmindre den tilsidesættes af en CAA-record på selve underdomænet. Det betyder at en enkelt CAA-record ved apexen dækker hele dit domæne.

Hvad CAA beskytter mod

Useriøs CA-udstedelse. Hvis en CA kompromitteres eller tvinges til at udstede svigagtige certifikater, begrænser CAA påvirkningen til CA'er du allerede har autoriseret. En kompromitteret CA der ikke er på din CAA-liste kan ikke udstede til dit domæne.

Social engineering-angreb på CA'er. Angribere har med held udgivet sig for at være domæneejere for at få certifikater fra CA'er. CAA tilføjer et lag af begrænsning — selv hvis en angriber overbeviser en CA om at udstede, skal CA'en først være autoriseret i dine CAA-records.

Uautoriseret intern udstedelse. Når udviklere eller teams i din organisation henvender sig til en ikke-standard CA uden at gå igennem officielle kanaler, giver CAA synlighed via iodef-rapporter.

Mis-udstedelsesdetektion via CT-overvågning. CAA og Certificate Transparency er komplementære kontroller. CAA forhindrer uautoriseret udstedelse. CT-logs opdager det hvis forebyggelse fejler.

Hvad CAA ikke beskytter mod

  • CA'er du har autoriseret kan stadig mis-udstede. CAA begrænser hvilke CA'er der kan udstede, men forhindrer ikke mis-udstedelse af autoriserede CA'er.
  • CAA tjekkes ved udstedelsestidspunktet, ikke kontinuerligt. En CA tjekker CAA i udstedelsesøjeblikket. Certifikater allerede udstedt af en CA forbliver gyldige indtil de udløber — ændringen er ikke retroaktiv.
  • DNS-kompromis underminerer CAA. Hvis en angriber kan ændre dine DNS-records kan de ændre dine CAA-records.

Sådan implementerer du CAA-records

  1. Identificer hvilke CA'er du bruger. Tjek din certifikatoversigt for de udstedende CA'er til alle certifikater der aktuelt er i brug på tværs af dine domæner. Sørg for at alle er inkluderet i dine CAA-records inden du tilføjer begrænsningen.
  2. Tilføj records til dit primære domæne. Apex CAA-recorden dækker alle underdomæner via arv.
  3. Tilføj en iodef-record. Konfigurer en sikkerhedsemail som iodef-mål for at få synlighed når CA'er afviser udstedelsesanmodninger.
  4. Verificer med et CAA-checker. Flere online-værktøjer giver dig mulighed for at verificere at dine CAA-records er korrekt konfigureret.
  5. Overvåg CT-logs for overtrædelser. Efter tilføjelse af CAA-records, overvåg CT-logs for certifikater fra CA'er der ikke er på din liste.

CAA-records i CertControl

CertControls eksterne scanner tjekker for CAA-records på alle overvågede domæner og markerer domæner der mangler dem som et sikkerhedsfinding. For domæner der har CAA-records krydsreferencerer platformen certifikater fundet i CT-logs mod de autoriserede CA'er i CAA-konfigurationen — og viser øjeblikkeligt certifikater fra uautoriserede CA'er som høj-prioritets findings.