Lion Cipher Lab
Restrict certificate issuance with CAA and test the policy
- Cyber / Security Engineer
- Intermediate
- ~40 min
- Free · no account required
Why it matters
Any of the many publicly trusted certificate authorities (CAs) can issue a certificate for your domain if someone passes its domain-validation check. Most attacks that result in a fraudulent certificate exploit the weakest CA or validation method available, not the one you actually use. CAA (Certification Authority Authorization, RFC 8659) lets a domain owner publish in DNS which CAs may issue for its names, and the CA/Browser Forum's Baseline Requirements oblige publicly trusted CAs to check CAA before issuing. It is cheap, it reduces the number of CAs that can be tricked into issuing for…
What you'll learn
- what CAA records are and why CAs must check them
- the issue, issuewild and iodef properties
- how the relevant RRset is found by climbing the name tree
- why a subdomain's CAA replaces, not adds to, its parent's
- the iodef-only trap that removes all restrictions
- the critical flag
- testing a CAA policy before publishing it
Steps in this lab
- What CAA does, and the rules that decide it
- The sample policy
- Write the checker
- Run it for Let's Encrypt and for DigiCert
- The iodef trap