Ενότητα 5 · 5.2
CAA: ποιος επιτρέπεται να εκδίδει πιστοποιητικά;
Ενότητα 5: Λοιπές εγγραφές · Χρόνος ανάγνωσης: 6 λεπτά
Στόχος μαθήματος: Μετά από αυτό το μάθημα θα μπορείτε να διαβάζετε μια εγγραφή CAA και θα γνωρίζετε πώς μια εγγραφή CAA μπορεί να εμποδίσει την αίτηση ενός SSL-πιστοποιητικού.
Βασικές έννοιες: CAA, issue, issuewild, iodef, αρχή πιστοποίησης (CA), καμία εγγραφή CAA σημαίνει: όλοι επιτρέπεται
Μια κλειδαριά από έναν άγνωστο
Ένα SSL-πιστοποιητικό (στην πραγματικότητα ένα TLS-πιστοποιητικό) εξασφαλίζει το λουκετάκι στον browser. Εκδίδεται από μια αρχή πιστοποίησης, εν συντομία CA: για παράδειγμα Let's Encrypt, Sectigo, DigiCert ή Google Trust Services. Υπάρχουν δεκάδες CA που εμπιστεύονται οι browsers, και κατ' αρχήν οποιαδήποτε από αυτές μπορεί να εκδώσει πιστοποιητικό για το domain σας, αρκεί ο αιτών να αποδείξει ότι διαχειρίζεται το domain.
Με μια εγγραφή CAA (Certification Authority Authorization, RFC 8659) περιορίζετε αυτό. Ορίζετε στο DNS ποιες CA επιτρέπεται να εκδίδουν πιστοποιητικά για το domain σας. Κάθε CA είναι υποχρεωμένη να ελέγχει αυτή την εγγραφή πριν εκδώσει πιστοποιητικό. Αν η CA δεν αναφέρεται εκεί, οφείλει να αρνηθεί.
Αυτό προστατεύει από την έκδοση πιστοποιητικού στο όνομά σας μέσω μιας απρόσεκτης ή παραπλανημένης CA. Είναι μια επιπλέον κλειδαριά, όχι υποχρέωση.
Πώς μοιάζει μια εγγραφή CAA
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"Μια εγγραφή CAA αποτελείται από τρία μέρη:
| Μέρος | Παράδειγμα | Σημαίνει |
|---|---|---|
| Σημαία | 0 | Σχεδόν πάντα 0. Η τιμή 128 σημαίνει: "αν δεν καταλαβαίνεις αυτόν τον κανόνα, μην εκδώσεις τίποτα". |
| Ετικέτα | issue | Τι είδους κανόνας είναι (δείτε παρακάτω). |
| Τιμή | "letsencrypt.org" | Η CA, η οποία προσδιορίζεται με το δικό της domain. Μέσα σε εισαγωγικά. |
Οι τρεις ετικέτες που θα συναντήσετε:
issue: αυτή η CA επιτρέπεται να εκδίδει κανονικά πιστοποιητικά (γιαexample.com,www.example.comκαι ούτω καθεξής).issuewild: αυτή η CA επιτρέπεται να εκδίδει wildcard-πιστοποιητικά (*.example.com). Αν δεν υπάρχειissuewild, τότε για τα wildcard ισχύουν οι κανόνες τουissue.iodef: πού μπορεί μια CA να στείλει ειδοποίηση αν κάποιος ζητήσει πιστοποιητικό που δεν επιτρέπεται σύμφωνα με τη δική σας εγγραφή CAA.
Μπορείτε να έχετε περισσότερους από έναν κανόνες issue: τότε κάθε αναφερόμενη CA επιτρέπεται να εκδώσει. Αν θέλετε αντίθετα κανείς να μην εκδίδει έναν συγκεκριμένο τύπο πιστοποιητικού, χρησιμοποιήστε μια κενή τιμή: 0 issuewild ";" σημαίνει "κανείς δεν επιτρέπεται να εκδίδει wildcard-πιστοποιητικά".
Καμία εγγραφή CAA: όλοι επιτρέπεται
Αν το domain σας δεν έχει εγγραφή CAA, τότε κάθε CA επιτρέπεται να εκδώσει πιστοποιητικό. Αυτή είναι η συνήθης κατάσταση για τα περισσότερα domains και δεν είναι λάθος. Το CAA είναι θέμα επιλογής.
Μια CA αναζητά την εγγραφή CAA στο ακριβές όνομα του πιστοποιητικού. Αν δεν βρει τίποτα εκεί, κοιτάζει ένα επίπεδο πιο πάνω, μέχρι το domain. Μια εγγραφή CAA στο example.com ισχύει λοιπόν και για το shop.example.com, εκτός αν το shop.example.com έχει δική του εγγραφή CAA.
Πώς το CAA μπορεί να εμποδίσει το πιστοποιητικό σας
Αυτός είναι ο λόγος που το CAA ανήκει σε ένα μάθημα για αρχάριους: μια εγγραφή CAA μπορεί να προκαλέσει το δωρεάν πιστοποιητικό σας να μην ανανεώνεται πλέον, και το μήνυμα σφάλματος δεν είναι πάντα σαφές.
Ας υποθέσουμε ότι ο ιστότοπός σας λειτουργούσε για χρόνια με πιστοποιητικό από μια επί πληρωμή CA. Κάποιος τότε δημιούργησε μια εγγραφή CAA:
example.com. CAA 0 issue "sectigo.com"Τώρα μεταφέρεστε σε hosting που ζητά αυτόματα πιστοποιητικά Let's Encrypt. Η Let's Encrypt ελέγχει το CAA, βλέπει ότι επιτρέπεται μόνο η Sectigo και αρνείται. Ο ιστότοπός σας δεν λαμβάνει πιστοποιητικό και οι επισκέπτες βλέπουν προειδοποίηση.
Η λύση: προσθέστε την CA που χρησιμοποιείτε τώρα ή αφαιρέστε την παλιά εγγραφή CAA αν δεν τη χρειάζεστε πλέον.
example.com. CAA 0 issue "sectigo.com"
example.com. CAA 0 issue "letsencrypt.org"Αν χρησιμοποιείτε μια υπηρεσία που ρυθμίζει μόνη της τα πιστοποιητικά, όπως μια πλατφόρμα ηλεκτρονικού καταστήματος ή ένα CDN, ρωτήστε ποια CA χρησιμοποιεί και προσθέστε τη. Διαφορετικά εμποδίζετε και το δικό της πιστοποιητικό.
Στην πράξη: έτσι φαίνεται σε έναν πίνακα ελέγχου
Ως παράδειγμα χρησιμοποιούμε την οθόνη DNS του Το WebOké μου, η οποία διαθέτει βοήθημα CAA με τις πιο γνωστές CA. Στο DirectAdmin, στο Cloudflare και στους περισσότερους άλλους πίνακες ελέγχου συμπληρώνετε τα ίδια τρία πεδία: σημαία, ετικέτα και τιμή.
- Κάντε κλικ στο Add Record και επιλέξτε CAA.
- Αφήστε το όνομα στο ίδιο το domain (
@). - Αφήστε τη σημαία στο
0. - Επιλέξτε την ετικέτα
issue. - Συμπληρώστε την CA, για παράδειγμα
letsencrypt.org. - Αποθηκεύστε και επαναλάβετε για κάθε CA που επιτρέπεται να εκδίδει.
Σύνοψη
- Με μια εγγραφή CAA καθορίζετε ποιες αρχές πιστοποίησης επιτρέπεται να εκδίδουν πιστοποιητικά για το domain σας.
- Το
issueαφορά κανονικά πιστοποιητικά, τοissuewildτα wildcard, τοiodefτις ειδοποιήσεις. - Καμία εγγραφή CAA σημαίνει: κάθε CA επιτρέπεται. Αυτό είναι φυσιολογικό.
- Μια εγγραφή CAA στο domain ισχύει και για subdomains χωρίς δική τους εγγραφή CAA.
- Μια ξεχασμένη εγγραφή CAA μπορεί να εμποδίσει ένα νέο ή ανανεωμένο πιστοποιητικό. Προσθέστε την CA που χρησιμοποιείτε τώρα.
Κουίζ
Άσκηση
Άσκηση Z5.2: Αναζήτηση CAA. Αναζητήστε τις εγγραφές CAA του wikipedia.org. Ποιες αρχές πιστοποίησης επιτρέπεται να εκδίδουν πιστοποιητικά σύμφωνα με τους κανόνες issue; Συμπληρώστε τις όλες.
Άσκηση O5.2: Ρύθμιση στη δική σας ζώνη εξάσκησης. Δημιουργήστε στη ζώνη εξάσκησής σας, στο όνομα της ίδιας της ζώνης (@), δύο εγγραφές CAA:
0 issue ";"0 iodef "mailto:abuse@dnspractice.eu"
Ο πρώτος κανόνας σημαίνει: κανείς δεν επιτρέπεται να εκδίδει πιστοποιητικά για αυτό το όνομα. Στη ζώνη εξάσκησης αυτό είναι ακριβώς σωστό: δεν λειτουργεί κανένας πραγματικός ιστότοπος, άρα δεν χρειάζεται ούτε πιστοποιητικό, και έτσι κανείς δεν μπορεί να κάνει κατάχρηση της ζώνης εξάσκησης για να αποκτήσει πιστοποιητικό. Στο πραγματικό σας domain δεν κάνετε ποτέ αυτό αν χρησιμοποιείτε https. Εκεί βάζετε τις CA που πράγματι χρησιμοποιείτε, όπως 0 issue "letsencrypt.org". Ο κανόνας iodef στη ζώνη εξάσκησης δείχνει στη διεύθυνση αναφοράς του περιβάλλοντος εξάσκησης. Στο πραγματικό σας domain συμπληρώνετε τη δική σας διεύθυνση.
Στη συνέχεια κάντε κλικ στο Έλεγχος.
Άσκηση O5.2
Αυτή την άσκηση την κάνετε στη δική σας ζώνη εξάσκησης: μια πραγματική ζώνη DNS στους nameservers του WebOké, μόνο για εσάς. Εγγραφείτε με το email σας. Θα λάβετε έναν σύνδεσμο σύνδεσης μέσω email και θα επιστρέψετε στη συνέχεια σε αυτό το μάθημα. Χρησιμοποιούμε τη διεύθυνσή σας μόνο για το μάθημα.
Περαιτέρω ανάγνωση
Αυτά τα άρθρα περιγράφουν τα βήματα στους πίνακες ελέγχου του WebOké. Σε άλλους πίνακες ελέγχου λειτουργούν με παρόμοιο τρόπο.
