Αν έχεις ακολουθήσει τα κεφάλαια για τους τύπους εγγραφών DNS, ξέρεις ότι κάθε εγγραφή στη ζώνη DNS σου εξυπηρετεί συγκεκριμένο σκοπό. Οι εγγραφές A δείχνουν σε servers. Οι εγγραφές MX δρομολογούν το email. Οι εγγραφές TXT χειρίζονται την επαλήθευση και την ασφάλεια του email. Η εγγραφή CAA κάνει κάτι διαφορετικό. Ελέγχει ποιος επιτρέπεται να εκδίδει πιστοποιητικά SSL για το όνομα του domain σου.
Χωρίς εγγραφή CAA, οποιαδήποτε αρχή πιστοποιητικών στον κόσμο μπορεί να εκδώσει πιστοποιητικό για το domain σου, αν κάποιος το ζητήσει. Αυτό μπορεί να ακούγεται αβλαβές, αλλά ανοίγει την πόρτα σε πιστοποιητικά που εκδίδονται από αρχές που δεν διάλεξες ποτέ και δεν ενέκρινες ποτέ. Μια εγγραφή CAA κλείνει αυτή την πόρτα και σε βάζει στο τιμόνι.
Τι σημαίνει CAA;
Το CAA σημαίνει certificate authority authorization (εξουσιοδότηση αρχής πιστοποιητικών). Το όνομα λέει ακριβώς τι κάνει η εγγραφή. Εξουσιοδοτεί συγκεκριμένες αρχές πιστοποιητικών (CA) να εκδίδουν πιστοποιητικά SSL για το domain σου και λέει σε όλες τις άλλες CA να αρνούνται.
Οι αρχές πιστοποιητικών είναι οι οργανισμοί που είναι υπεύθυνοι να επαληθεύουν ότι ο ιδιοκτήτης ενός domain είναι αυτός που λέει ότι είναι και μετά να εκδίδουν το πιστοποιητικό SSL που ενεργοποιεί το HTTPS. Υπάρχουν δεκάδες CA σε όλο τον κόσμο. Χωρίς εγγραφή CAA, το domain σου είναι ανοιχτό σε όλες. Με μία, διαλέγεις εσύ ποιες έχουν άδεια.
Πώς μοιάζει μια εγγραφή CAA;
Μια εγγραφή CAA έχει τρία βασικά μέρη που δουλεύουν μαζί. Δες τι σημαίνει το καθένα.
- Flag (σημαία) είναι ένας αριθμός που ελέγχει πώς χειρίζεται η CA την εγγραφή. Στις περισσότερες ρυθμίσεις, είναι 0. Μια σημαία 128 λέει στην CA ότι, αν δεν καταλαβαίνει την ετικέτα της εγγραφής, πρέπει να αρνηθεί την έκδοση του πιστοποιητικού αντί να αγνοήσει την εγγραφή
- Tag (ετικέτα) λέει στην CA τι είδους άδεια ή οδηγία περιέχει αυτή η εγγραφή. Υπάρχουν τρεις τύποι ετικέτας, που εξηγούνται αναλυτικά παρακάτω
- Τιμή είναι το όνομα της αρχής πιστοποιητικών που εξουσιοδοτείται ή η διεύθυνση επικοινωνίας για αναφορές. Γράφεται πάντα μέσα σε εισαγωγικά
Έτσι μοιάζει μια απλή εγγραφή CAA σε έναν πίνακα DNS.
- Hostname ορισμένο σε @
- Τύπος ορισμένος σε CAA
- Flag ορισμένο σε 0
- Tag ορισμένο σε issue
- Τιμή ορισμένη σε "letsencrypt.org"
Αυτή η εγγραφή λέει ένα πράγμα. Μόνο η Let's Encrypt επιτρέπεται να εκδίδει κανονικά πιστοποιητικά SSL για αυτό το domain. Κάθε άλλη CA που λαμβάνει αίτημα πιστοποιητικού για το domain σου πρέπει πρώτα να ελέγξει τις εγγραφές CAA σου και να αρνηθεί αν δεν βρίσκεται στη λίστα.
Ποιοι είναι οι τρεις τύποι ετικέτας των εγγραφών CAA;
Κάθε εγγραφή CAA χρησιμοποιεί μία από τρεις ετικέτες. Η ετικέτα λέει στις αρχές πιστοποιητικών τι είδους οδηγία περιέχει η εγγραφή.
Η ετικέτα "issue"
Η ετικέτα issue είναι η πιο συνηθισμένη. Ονομάζει μια αρχή πιστοποιητικών που επιτρέπεται να εκδίδει κανονικά πιστοποιητικά SSL για το domain σου. Αν θέλεις να επιτρέψεις δύο διαφορετικές CA, προσθέτεις δύο ξεχωριστές εγγραφές CAA, καθεμία με την ετικέτα issue και διαφορετικό όνομα CA.
Για παράδειγμα, αν το domain σου χρησιμοποιεί πιστοποιητικά και από τη Let's Encrypt και από την DigiCert, θα είχες δύο εγγραφές CAA.
- 0 issue "letsencrypt.org"
- 0 issue "digicert.com"
Αν θέλεις να μπλοκάρεις εντελώς κάθε έκδοση πιστοποιητικών, μπορείς να ορίσεις την τιμή issue σε ένα semicolon (;) χωρίς τίποτα μετά. Αυτό λέει σε κάθε CA στον κόσμο ότι κανείς δεν είναι εξουσιοδοτημένος να εκδίδει πιστοποιητικά για το domain σου.
Η ετικέτα "issuewild"
Η ετικέτα issuewild δουλεύει όπως η issue, αλλά ισχύει μόνο για πιστοποιητικά wildcard. Ένα πιστοποιητικό wildcard καλύπτει το κύριο domain σου και όλους τους υποτομείς του ταυτόχρονα (όπως *.yourdomain.com).
Αν ορίσεις εγγραφή issuewild, ελέγχει ποιες CA μπορούν να εκδίδουν πιστοποιητικά wildcard, ξεχωριστά από το ποιες μπορούν να εκδίδουν τα κανονικά. Αυτό είναι χρήσιμο αν θέλεις μια CA να χειρίζεται τα κανονικά πιστοποιητικά σου και μια άλλη τα wildcard ή αν θέλεις να μπλοκάρεις εντελώς τα wildcard, ενώ επιτρέπεις τα κανονικά.
Αν δεν υπάρχει εγγραφή issuewild, η ετικέτα issue ισχύει από προεπιλογή και για τα κανονικά και για τα wildcard πιστοποιητικά.
Η ετικέτα "iodef"
Η ετικέτα iodef δεν ελέγχει ποιος μπορεί να εκδίδει πιστοποιητικά. Αντίθετα, λέει στις CA πού να στείλουν αναφορά αν κάποιος προσπαθήσει να ζητήσει πιστοποιητικό που παραβιάζει την πολιτική CAA σου.
Η τιμή είναι συνήθως διεύθυνση email ή URL. Για παράδειγμα.
- 0 iodef "mailto:security@yourdomain.com"
Αυτό σημαίνει ότι αν μια CA λάβει αίτημα πιστοποιητικού για το domain σου και η εγγραφή CAA λέει ότι η CA δεν είναι εξουσιοδοτημένη, η CA πρέπει να στείλει ειδοποίηση σε αυτή τη διεύθυνση email. Δεν υποστηρίζουν όλες οι CA αναφορές iodef, αλλά όσες τις υποστηρίζουν θα σου δίνουν ορατότητα στα μη εξουσιοδοτημένα αιτήματα πιστοποιητικών.
Πώς προσθέτεις μια εγγραφή CAA;
Η προσθήκη μιας εγγραφής CAA ακολουθεί παρόμοια διαδικασία με την προσθήκη κάθε άλλης εγγραφής DNS. Αν έχεις προσθέσει ξανά εγγραφή TXT ή A, θα σου φανεί γνώριμο.
- Συνδέσου στον πίνακα διαχείρισης DNS όπου έχουν οριστεί οι nameservers του domain σου. Συνήθως είναι ο registrar σου ή ο πάροχος φιλοξενίας σου
- Βρες την ενότητα με τις εγγραφές DNS ή τον επεξεργαστή ζώνης DNS
- Πάτησε την επιλογή για προσθήκη νέας εγγραφής
- Διάλεξε CAA ως τύπο εγγραφής
- Όρισε το flag σε 0, εκτός αν έχεις συγκεκριμένο λόγο να χρησιμοποιήσεις 128
- Διάλεξε τον τύπο ετικέτας. Χρησιμοποίησε "issue" για κανονικά πιστοποιητικά, "issuewild" για πιστοποιητικά wildcard ή "iodef" για αναφορές παραβίασης
- Γράψε την τιμή. Για τα issue και issuewild, είναι το όνομα domain της CA (όπως "letsencrypt.org"). Για το iodef, είναι διεύθυνση email ή URL αναφορών
- Αποθήκευσε την εγγραφή
Αν θέλεις να εξουσιοδοτήσεις περισσότερες από μία CA, πρόσθεσε ξεχωριστή εγγραφή CAA για καθεμία. Οι αλλαγές στο DNS μπορεί να πάρουν από λίγα λεπτά έως 48 ώρες για να διαδοθούν. Για περισσότερα σχετικά, διάβασε το κεφάλαιο για το πώς δουλεύει το DNS.
Χρειάζεσαι εγγραφή CAA;
Η εγγραφή CAA δεν είναι υποχρεωτική. Το domain σου θα δουλεύει μια χαρά χωρίς αυτήν και το πιστοποιητικό SSL σου θα λειτουργεί κανονικά. Μια εγγραφή CAA όμως προσθέτει ένα χρήσιμο επίπεδο ασφάλειας του domain που δεν κοστίζει τίποτα να ρυθμιστεί.
Χωρίς εγγραφή CAA, οποιαδήποτε αρχή πιστοποιητικών μπορεί να εκδώσει πιστοποιητικό SSL για το domain σου, αν κάποιος το ζητήσει. Στις περισσότερες περιπτώσεις, αυτό δεν είναι πρόβλημα, γιατί οι CA έχουν δικά τους βήματα επαλήθευσης. Αυτά τα βήματα όμως δεν είναι αλάνθαστα. Έχουν υπάρξει περιπτώσεις όπου εκδόθηκαν πιστοποιητικά σε λάθος άτομα, είτε από λάθη είτε από CA με πιο αδύναμες διαδικασίες επικύρωσης.
Με εγγραφή CAA στη θέση της, μόνο οι CA που έχεις ονομάσει συγκεκριμένα μπορούν να εκδίδουν πιστοποιητικά. Κάθε άλλη CA υποχρεούται να αρνηθεί, ακόμα κι αν αυτός που ζητά το πιστοποιητικό περάσει τους κανονικούς ελέγχους της. Είναι μια μικρή προσθήκη στη ζώνη DNS σου που μειώνει μια ολόκληρη κατηγορία κινδύνου.
Τι συμβαίνει αν η εγγραφή CAA μπλοκάρει ένα νόμιμο αίτημα;
Αν προσθέσεις εγγραφή CAA που ονομάζει μία CA και μετά προσπαθήσεις να πάρεις πιστοποιητικό από άλλη CA, το αίτημα θα αποτύχει. Η CA θα ελέγξει τις εγγραφές CAA σου, θα δει ότι δεν είναι εξουσιοδοτημένη και θα αρνηθεί να εκδώσει το πιστοποιητικό.
Αυτό δεν είναι σφάλμα. Είναι ο ίδιος ο σκοπός. Σημαίνει όμως ότι πρέπει να κρατάς τις εγγραφές CAA σου συγχρονισμένες με όποια CA χρησιμοποιεί ο πάροχος φιλοξενίας ή η πλατφόρμα της ιστοσελίδας σου. Αν αλλάξεις πάροχο φιλοξενίας και ο νέος πάροχος χρησιμοποιεί διαφορετική CA, θα πρέπει να ενημερώσεις τις εγγραφές CAA σου ώστε να περιλαμβάνουν τη νέα.
Η λύση είναι απλή. Είτε προσθέτεις νέα εγγραφή CAA για τη νέα CA είτε ενημερώνεις την υπάρχουσα. Το σημαντικό είναι να ελέγχεις τις εγγραφές CAA σου κάθε φορά που αλλάζεις πάροχο SSL ή ρύθμιση φιλοξενίας.
Το WEMASY και οι εγγραφές CAA
Μπορείς να συνδέσεις το δικό σου domain με ένα πακέτο επί πληρωμή του WEMASY.
Δες τι περιλαμβάνει κάθε πακέτο στη σελίδα WEMASY pricing.
Τι ακολουθεί
Τώρα που καταλαβαίνεις πώς μια εγγραφή CAA ελέγχει ποιες αρχές πιστοποιητικών μπορούν να εκδίδουν πιστοποιητικά SSL για το domain σου, το επόμενο κεφάλαιο καλύπτει τις εγγραφές SRV. Οι εγγραφές SRV λένε στο διαδίκτυο πού να βρει συγκεκριμένες υπηρεσίες που τρέχουν στο domain σου, όπως servers VoIP ή chat. Για μια επισκόπηση όλων των τύπων εγγραφών και του πότε χρησιμοποιείς τον καθένα, δες το κεφάλαιο για τους τύπους εγγραφών DNS.
Συχνές ερωτήσεις
Επηρεάζει η εγγραφή CAA την ταχύτητα ή τη διαθεσιμότητα της ιστοσελίδας σου;
Όχι. Οι εγγραφές CAA ελέγχονται μόνο όταν μια αρχή πιστοποιητικών επεξεργάζεται νέο αίτημα πιστοποιητικού. Δεν παίζουν ρόλο στο πώς φορτώνει η ιστοσελίδα σου ή στο πώς φτάνουν οι επισκέπτες στις σελίδες σου. Η ταχύτητα και η διαθεσιμότητα της ιστοσελίδας σου εξαρτώνται από τη φιλοξενία, την εγγραφή A και την απόδοση του server σου, όχι από τις ρυθμίσεις CAA. Ο Δημιουργός ιστοσελίδων του WEMASY σου επιτρέπει να φτιάξεις τις δικές σου σελίδες στην ιστοσελίδα σου.
Τι συμβαίνει αν δεν έχεις καθόλου εγγραφές CAA;
Αν το domain σου δεν έχει εγγραφές CAA, κάθε αρχή πιστοποιητικών στον κόσμο επιτρέπεται να εκδίδει πιστοποιητικά για αυτό. Αυτή είναι η προεπιλεγμένη κατάσταση για τα περισσότερα domain. Δεν προκαλεί άμεσο πρόβλημα, αλλά σημαίνει ότι δεν υπάρχει περιορισμός στο ποιος μπορεί να πάρει πιστοποιητικό SSL στο όνομα του domain σου.
Μπορείς να έχεις εγγραφές CAA σε υποτομείς;
Ναι. Μπορείς να ορίσεις εγγραφές CAA σε συγκεκριμένους υποτομείς για να ελέγχεις την έκδοση πιστοποιητικών πιο αναλυτικά. Αν ένας υποτομέας έχει δική του εγγραφή CAA, εκείνη έχει προτεραιότητα έναντι της εγγραφής στο ριζικό domain. Αν δεν υπάρχει εγγραφή CAA στον υποτομέα, η CA ελέγχει αντί γι' αυτήν τις εγγραφές CAA του γονικού domain.
Πώς μαθαίνεις ποια CA χρησιμοποιεί ο πάροχος φιλοξενίας σου;
Ο πιο εύκολος τρόπος είναι να ελέγξεις το τρέχον πιστοποιητικό SSL σου. Στους περισσότερους browsers, μπορείς να πατήσεις το εικονίδιο του λουκέτου στη γραμμή διευθύνσεων, να δεις τις λεπτομέρειες του πιστοποιητικού και να δεις ποια CA το εξέδωσε. Μπορείς επίσης να επικοινωνήσεις απευθείας με τον πάροχο φιλοξενίας σου. Συνηθισμένες CA είναι η Let's Encrypt, η DigiCert, η Sectigo και η GlobalSign.
Θα εμποδίσει μια εγγραφή CAA κάποιον να δημιουργήσει ψεύτικη εκδοχή της ιστοσελίδας σου;
Μια εγγραφή CAA κάνει πιο δύσκολο για κάποιον να πάρει νόμιμο πιστοποιητικό SSL για το domain σου από μη εξουσιοδοτημένη CA. Δεν εμποδίζει όλες τις μορφές phishing ή πλαστοπροσωπίας, αλλά αφαιρεί έναν δρόμο που θα μπορούσε να ακολουθήσει ένας επιτιθέμενος. Σε συνδυασμό με ισχυρούς κωδικούς, WHOIS privacy και ασφαλή λογαριασμό registrar, η εγγραφή CAA είναι ένα κομμάτι μιας ευρύτερης ρύθμισης ασφάλειας.