CAA Record
Καθορίζει ποιες Certificate Authorities επιτρέπεται να εκδίδουν SSL για το domain σου.
Τι είναι το CAA
Το CAA (Certification Authority Authorization) record ορίζει ποιες
Certificate Authorities (CAs) έχουν δικαίωμα να εκδίδουν SSL πιστοποιητικά για το domain σου.
Είναι ένας μηχανισμός προστασίας από certificate mis-issuance: αν κάποιος επιτιθέμενος
πάει σε διαφορετική CA για να βγάλει cert για το example.com, η CA οφείλει να
ελέγξει το CAA και να αρνηθεί.
Παράδειγμα
example.com. IN CAA 0 issue "letsencrypt.org"
example.com. IN CAA 0 issue "digicert.com"
example.com. IN CAA 0 issuewild ";"
example.com. IN CAA 0 iodef "mailto:security@example.com"
Στοιχεία:
0— flags (συνήθως 0)issue— ποια CA επιτρέπεται για κανονικά πιστοποιητικάissuewild— ποια CA επιτρέπεται για wildcard. Το";"σημαίνει «καμία».iodef— αν παραβιαστεί το CAA, στείλε αναφορά εδώ
Πώς εφαρμόζεται
Από τον Σεπτέμβριο του 2017, όλες οι CAs υποχρεούνται να ελέγχουν το CAA πριν εκδώσουν πιστοποιητικό. Αν δεν υπάρχει CAA, επιτρέπεται οποιαδήποτε CA. Αν υπάρχει αλλά δε σε αναφέρει, η έκδοση απορρίπτεται.
Πότε αξίζει
- Για corporate domains όπου ξέρεις ότι θα χρησιμοποιείς πάντα 1-2 συγκεκριμένες CAs.
- Όταν θες audit trail (μέσω
iodef) για προσπάθειες έκδοσης. - Για να αποτρέψεις «εκπληξεις» από rogue πιστοποιητικά.
Συχνά λάθη
- Βάζεις CAA με
letsencrypt.orgκαι ξεχνάς ότι ο CDN σου χρησιμοποιεί Cloudflare/AWS που έχει δικές του CAs → cert renewal αποτυγχάνει. - Wildcard απαιτεί
issuewildεκτός απόissue. Αν χρειάζεσαι wildcard, βάλε και τα δύο.
Συνήθης ονόματα CA για το issue: letsencrypt.org, digicert.com,
sectigo.com, globalsign.com, pki.goog, amazon.com.