Ανανεωμένο πιστοποιητικό VPN: ορισμένοι πελάτες εξακολουθούν να το απορρίπτουν
Μια ανανέωση μπορεί να κρατήσει το όνομα και να αλλάξει το αντικείμενο. Συγκρίνετε την εμπιστοσύνη CA, τους ελέγχους ονόματος και τις καρφίτσες στην πλευρά του πελάτη πριν δεχτείτε οποιαδήποτε προειδοποίηση ασφαλείας.
Ο μισός στόλος επανασυνδέεται μετά την ανανέωση και τρεις συσκευές αρνούνται, καθεμία με προειδοποίηση για την ταυτότητα της πύλης. Η ίδια η ανανέωση είναι ρουτίνα. Αυτό που κρατούν οι τρεις συσκευές είναι μια καρφίτσα στο παλιό αντικείμενο, και μια καρφίτσα δεν είναι λίστα CA, έλεγχος ονόματος ή καταχώριση σε αποθήκη εμπιστοσύνης. Συγκρίνετε τους τρεις μηχανισμούς πριν αγγίξετε οποιονδήποτε πελάτη.
Μία ανανέωση, δύο συμπεριφορές
Οι πελάτες που επανασυνδέονται έχουν μια απόφαση εμπιστοσύνης που ακόμη περνά, και όσοι αρνούνται έχουν μια απαίτηση που το νέο πιστοποιητικό δεν ικανοποιεί. Αυτή η διαφορά είναι πληροφορία, όχι θόρυβος. Διαβάστε το μήνυμα του αποτυγχάνοντος πελάτη με ακρίβεια. Ασυμφωνία ονόματος, άγνωστος εκδότης και αλλαγμένο αποτύπωμα είναι τρεις διαφορετικές ετυμηγορίες, και μόνο η τελευταία δείχνει μια καρφίτσα.
Ελέγξτε επίσης ποιο προφίλ επέλεξε ο αποτυγχάνων πελάτης. Ένα εισαγόμενο αντίγραφο που ζει στον δικό του χώρο δεν αλλάζει όταν ο διαχειριστής επεξεργάζεται το αρχικό αρχείο αλλού.
Η ανανέωση αντικαθιστά το αντικείμενο, όχι μόνο την ημερομηνία
Ένα αποτύπωμα προσδιορίζει το κωδικοποιημένο περιεχόμενο του πιστοποιητικού. Η ανανέωση παράγει νέο πιστοποιητικό, οπότε το αποτύπωμα αλλάζει ακόμη και όταν το όνομα υποκειμένου και το δημόσιο κλειδί παραμένουν ίδια. Αυτό είναι αναμενόμενο και αβλαβές για πελάτες που εμπιστεύονται μια CA και επαληθεύουν το όνομα. Είναι μοιραίο για πελάτη ρυθμισμένο να δέχεται ακριβώς ένα πιστοποιητικό, και είναι επίσης μοιραίο για πελάτη του οποίου η αποθήκη εμπιστοσύνης δεν έλαβε ποτέ τον νέο εκδότη.
openssl x509 -in server.pem -noout -subject -issuer -dates -fingerprint -sha256
openssl x509 -in server.pem -noout -pubkey | openssl sha256
Η δεύτερη γραμμή απαντά σε άλλη ερώτηση: αν το ζεύγος κλειδιών επιβίωσε. Μια ανανέωση που επαναχρησιμοποίησε το κλειδί κρατά αυτή την τιμή και αλλάζει μόνο το πιστοποιητικό, που είναι ακριβώς η περίπτωση όπου ένας διαχειριστής μπαίνει στον πειρασμό να υποθέσει ότι τίποτα δεν άλλαξε. Επιθεωρήστε το πιστοποιητικό που έχει αναπτυχθεί, όχι αυτό στον κεντρικό υπολογιστή κατασκευής. Η σύγκριση ενός αρχείου σε ένα αποθετήριο αποδεικνύει τι δημιουργήθηκε, όχι τι παρουσιάζει αυτή τη στιγμή ένας ακροατής.
Διαβάστε τι καρφιτσώνει ο πελάτης
Ορισμένοι πελάτες κρατούν ένα αποτύπωμα στο προφίλ τους και το συγκρίνουν σε κάθε σύνδεση. Άλλοι το αποθηκεύουν σε αποθήκη εμπιστοσύνης της πλατφόρμας, και άλλοι βασίζονται μόνο σε μια CA. Η επιδιόρθωση διαφέρει σε κάθε περίπτωση, οπότε προσδιορίστε πρώτα τον μηχανισμό.
grep -n 'peer-fingerprint' /etc/openvpn/client/*.conf
openssl s_client -connect gw.lab.example.net:443 -servername gw.lab.example.net < /dev/null 2>&1 | openssl x509 -noout -fingerprint -sha256
Η πρώτη εντολή δείχνει μια καρφίτσα σε συμβατικό προφίλ· η δεύτερη δείχνει το αποτύπωμα που σερβίρει το τελικό σημείο αυτή τη στιγμή. Όταν τα δύο διαφέρουν, εντοπίσατε τη βλάβη χωρίς μαντεψιά. Μην επικολλάτε τη νέα τιμή σε κάθε πελάτη που παραπονιέται. Ένας πελάτης που απορρίπτει για λόγους εκδότη θα συνεχίσει να απορρίπτει, και θα έχετε μάθει στον εαυτό σας ότι το αποτύπωμα ήταν το πρόβλημα όταν δεν ήταν.
Συγκρίνετε το πιστοποιητικό που σερβίρει κάθε backend
Τα διαλείποντα αποτελέσματα συνήθως σημαίνουν περισσότερα από ένα τελικά σημεία, και μια ανανέωση που εφαρμόστηκε σε έναν κόμβο αφήνει τους άλλους να παρουσιάζουν το παλιό αντικείμενο. Συγκρίνετε κάθε backend κατά διεύθυνση και όχι κατά το κοινό όνομα.
for h in 10.30.0.11 10.30.0.12; do echo "$h"; openssl s_client -connect $h:443 -servername gw.lab.example.net < /dev/null 2>&1 | openssl x509 -noout -subject -dates -fingerprint -sha256; done
Μια δεξαμενή όπου ένας κόμβος καθυστερεί εξηγεί έναν πελάτη που συνδέεται στη δεύτερη προσπάθεια και αποτυγχάνει στην πρώτη. Εξηγεί επίσης έναν έλεγχο παρακολούθησης που περνά ενώ οι χρήστες παραπονιούνται. Διορθώστε πρώτα την καθυστέρηση. Η ανάπτυξη της διαμόρφωσης εμπιστοσύνης πριν κάθε κόμβος σερβίρει το νέο πιστοποιητικό δημιουργεί ένα παράθυρο όπου τίποτα δεν λειτουργεί, και η ανάπτυξη μετά αφήνει τους πελάτες να αποτυγχάνουν απρόβλεπτα.
Αλλάξτε την εμπιστοσύνη μέσω της διαχειριζόμενης διαδρομής
Επιβεβαιώστε την αντικατάσταση μέσω ενός ήδη έμπιστου διοικητικού καναλιού πριν την αποδεχτείτε οπουδήποτε. Μια εύλογη ημερομηνία λήξης δεν είναι απόδειξη ιδιοκτησίας. Ενημερώστε τη διαχειριζόμενη διαμόρφωση μέσω της διαδικασίας που την κατέχει, με οποιαδήποτε σχεδιασμένη επικάλυψη αποδεκτών ταυτοτήτων, και διατηρήστε την επαλήθευση ονόματος που απαιτεί η ανάπτυξη. Μια καρφίτσα χωρίς έλεγχο ονόματος είναι ασθενέστερος σχεδιασμός από την εμπιστοσύνη CA που αντικατέστησε.
Έπειτα επαληθεύστε ανά πελάτη: συνδεθείτε, επιβεβαιώστε την ταυτότητα που δέχτηκε και σημειώστε την έκδοση πιστοποιητικού που εμπιστεύεται τώρα. Μια προειδοποίηση που απορρίφθηκε μία φορά έχει τον τρόπο να επιστρέφει στην επόμενη ανανέωση.