Μια ανανέωση πιστοποιητικού που αλλάζει την ταυτότητα δεν είναι ανανέωση, είναι μετανάστευση με ρούχα δελτίου συντήρησης. Ο πελάτης επαληθεύει ένα όνομα, μια αλυσίδα και μερικές φορές ένα συγκεκριμένο κλειδί, και τα τρία μπορούν να αλλάξουν χωρίς να αλλάξει η ημερομηνία λήξης. Πριν ζητήσετε αντικατάσταση, γράψτε τι ελέγχει πραγματικά ο πελάτης: το όνομα κεντρικού υπολογιστή ή την ταυτότητα του ομοτίμου, τον σκοπό του πιστοποιητικού, την πολιτική κλειδιών και την εκδίδουσα αλυσίδα. Η ανανέωση είναι ρουτίνα ή συντονισμένη ανάλογα με το ποιο από αυτά αλλάζει η αντικατάσταση.

Τρεις συνθήκες καθορίζουν τη μορφή της ανανέωσης

Οι τρεις συνθήκες είναι αν κάτι καρφιτσώνει το τελικό πιστοποιητικό, αν αλλάζει η αλυσίδα και ποιος άλλος επικυρώνει το όνομα. Απαντήστε από την πλευρά του πελάτη και όχι από την ευκολία της CA, γιατί ο πελάτης είναι αυτό που αποτυγχάνει στις τρεις τα ξημερώματα.

Ξεκινήστε ελέγχοντας το πιστοποιητικό που έχετε. openssl x509 -in server.crt -noout -subject -issuer -dates -ext subjectAltName εκτυπώνει το υποκείμενο, τον εκδότη, το παράθυρο ισχύος και τα ονόματα για τα οποία το πιστοποιητικό είναι πραγματικά έγκυρο. Το τελευταίο πεδίο είναι το πιο σημαντικό και το πιο συχνά υποτιθέμενο: ένα αίτημα ανανέωσης που παραλείπει ένα SAN στο οποίο βασίζεται ο πελάτης παράγει πιστοποιητικό τεχνικά έγκυρο και λειτουργικά λάθος. Αντιγράψτε τη λίστα SAN από το παλιό πιστοποιητικό στο αίτημα αντί να την ξαναπληκτρολογήσετε από μνήμης.

Συνθήκη πρώτη: καρφιτσώνει κάτι το τελικό πιστοποιητικό

Αν οι πελάτες εμπιστεύονται μια συντηρούμενη CA και επικυρώνουν το όνομα, μια ανανέωση του τελικού πιστοποιητικού με νέο κλειδί είναι αόρατη σε αυτούς. Αν οποιοσδήποτε πελάτης καρφιτσώνει το τελικό πιστοποιητικό, το αποτύπωμά του ή το δημόσιο κλειδί του, η αντικατάσταση είναι συντονισμένη αλλαγή με σκληρή μετάβαση, γιατί το παλιό pin δεν μπορεί να επικυρώσει το νέο πιστοποιητικό.

Μάθετε σε ποια περίπτωση βρίσκεστε πριν παραγγείλετε οτιδήποτε. Ένα pin που δεν τεκμηρίωσε κανείς παραμένει pin όταν σπάσει.

Συνθήκη δεύτερη: συγκρίνετε τα pins και την αλυσίδα

Τα αποτυπώματα κάνουν το pin ελεγχόμενο: openssl x509 -noout -fingerprint -sha256 -in server.crt στο παλιό και στο νέο πιστοποιητικό, και openssl x509 -noout -pubkey για σύγκριση των δημόσιων κλειδιών. Αν η διαμόρφωση του πελάτη, ένα προφίλ κινητού ή ένα trust store συσκευής περιέχει οποιαδήποτε από τις δύο τιμές, έχετε pin. Τα προφίλ VPN για κινητά είναι κοινή κρυψώνα, γιατί το προφίλ διανέμεται μία φορά και δεν ελέγχεται ποτέ ξανά.

Αν η αντικατάσταση προέρχεται από την ίδια ενδιάμεση αρχή και ο πελάτης την έχει ήδη ή μπορεί να την ανακτήσει, τίποτα δεν αλλάζει στην πλευρά της εμπιστοσύνης. Μια νέα ενδιάμεση αρχή, διαφορετικός εκδότης ή αλυσίδα που παραδίδεται σε λάθος σειρά μετατρέπουν μια ανανέωση σε αλλαγή εμπιστοσύνης, και η αποτυχία μοιάζει με άγνωστο εκδότη και όχι με ληγμένο πιστοποιητικό.

Ελέγξτε την αλυσίδα που στέλνει πραγματικά ο διακομιστής με openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts, και επαληθεύστε την τοπικά με openssl verify -CAfile ca.pem -untrusted chain.pem server.crt. Αν το κάνετε πριν από την αλλαγή, έχετε μια γραμμή βάσης για σύγκριση μετά.

Συνθήκη τρίτη: ποιος άλλος επικυρώνει το όνομα

Ένας συγκεντρωτής VPN, ένας εξισορροπητής φορτίου, ένας αισθητήρας παρακολούθησης, μια ενσωμάτωση RADIUS ή SAML και ένα προφίλ κινητού μπορούν το καθένα να κρατά το δικό του αντίγραφο του αναμενόμενου ονόματος ή της άγκυρας εμπιστοσύνης. Η ανανέωση είναι η στιγμή που αυτά τα αντίγραφα αποκλίνουν, γιατί το πιστοποιητικό αλλάζει και τα αντίγραφα όχι.

Καταγράψτε κάθε καταναλωτή πριν από την αλλαγή και αποφασίστε για τον καθένα αν χρειάζεται ενημέρωση. Αυτόν που ξεχνάτε είναι αυτός που σας καλεί.

Υπάρχει επίσης μια παγίδα χρόνου. Ελέγξτε την έναρξη ισχύος όπως και τη λήξη, γιατί ένα πιστοποιητικό που προετοιμάζεται για μεταγενέστερη ενεργοποίηση απορρίπτεται αν εγκατασταθεί πολύ νωρίς, και το σφάλμα μοιάζει με πρόβλημα ρολογιού και όχι με πρόβλημα προετοιμασίας. openssl x509 -noout -dates στο νέο αρχείο πριν το αναπτύξετε είναι έλεγχος δύο δευτερολέπτων. Κρατήστε επίσης μια υποστηριζόμενη διαδρομή ανάκτησης και τη γνωστή καλή διαμόρφωση, ώστε μια ανανέωση που πάει στραβά να αντιστρέφεται με επαναφορά του προηγούμενου πιστοποιητικού και κλειδιού.

Αναπτύξτε, επαληθεύστε με νέα αυθεντικοποίηση και μετά αποσύρετε

Μια εδραιωμένη σήραγγα αντανακλά την επικύρωση που έγινε όταν χτίστηκε, οπότε μπορεί να φαίνεται υγιής ενώ κάθε νέα σύνδεση αποτυγχάνει. Δοκιμάστε με νέα αυθεντικοποίηση χρησιμοποιώντας το πραγματικό όνομα υπηρεσίας που χρησιμοποιούν οι πελάτες.

Ολοκληρώστε τον έλεγχο σε επίπεδο εφαρμογής που ενδιαφέρει τον χρήστη και επιβεβαιώστε την παράδοση της αλυσίδας από την οπτική του πελάτη και όχι του διακομιστή. Μην καταστέλλετε ελέγχους ονόματος ή πιστοποιητικού για να κρατήσετε ήσυχη τη μετάβαση· αυτό μετατρέπει ένα προσωρινό πρόβλημα συμβατότητας σε μόνιμο.

Αποσύρετε το παρωχημένο υλικό μόνο αφού επαληθευτεί η ανάπτυξη, και αντιμετωπίστε ένα παραβιασμένο κλειδί ως εντελώς διαφορετική περίπτωση: η ανανέωση από μόνη της δεν ανακαλεί τίποτα, οπότε η επηρεασμένη ταυτότητα χρειάζεται τη διαδικασία ανάκλησης και διαχείρισης συνεδριών της ανάπτυξης. RFC 5280 ορίζει τους κανόνες πιστοποιητικών και επικύρωσης διαδρομής κάτω από όλα αυτά. Κρατήστε μια ανανέωση τελικού πιστοποιητικού ρουτίνας χωριστά από μια αντικατάσταση CA, ώστε να μην ζητείται από τους πελάτες να εμπιστευτούν έναν νέο εκδότη χωρίς λόγο.

Σχετικά άρθρα