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

Η απώλεια αρχείου δεν είναι απώλεια της εγγραφής της CA

Ένα PKI Easy-RSA διατηρεί τα δημόσια πιστοποιητικά που εξέδωσε, και οι τρέχουσες εκδόσεις αρχειοθετούν επίσης αντίγραφα κατά σειριακό αριθμό στον κατάλογο certs_by_serial του PKI. Το ιδιωτικό κλειδί δεν χρειάζεται για ανάκληση. Το κρίσιμο είναι το ακριβές πιστοποιητικό που υπέγραψε η CA, το οποίο η CA έχει ήδη.

Εργαστείτε σε αντίγραφο ασφαλείας του σωστού PKI, μαζί με τον διαχειριστή που το κατέχει. Η ανάκληση είναι ελέγξιμη πράξη και όχι επισκευή σε βάση παραγωγής τα μεσάνυχτα.

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

Διαβάστε πρώτα τον εκδότη και τον σειριακό αριθμό

Εξετάστε το ανακτημένο PEM και καταγράψτε τον εκδότη, τον σειριακό αριθμό, το υποκείμενο και το διάστημα ισχύος. Ο σειριακός αριθμός είναι μοναδικός στο πεδίο ενός εκδότη, όχι σε όλες τις CA του περιβάλλοντός σας, επομένως ο εκδότης αποτελεί μέρος της ταυτότητας. Αν πολλά πιστοποιητικά μοιράζονται υποκείμενο, οι σειριακοί αριθμοί είναι αυτοί που τα ξεχωρίζουν.

Αντιστοιχίστε τις τιμές με τις εγγραφές της CA και με τη συσκευή ή το πρόσωπο που πιστεύετε ότι κατέχει το πιστοποιητικό.

Ένα κοινό όνομα μπορεί να επαναχρησιμοποιηθεί, και συνήθως συμβαίνει. Μην αποφασίσετε ποια πιστοποιητικά θα αποσύρετε πριν καταγραφούν οι σειριακοί αριθμοί.

Γιατί η ανάκληση του νέου πιστοποιητικού δεν κάνει τίποτα

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

Η ίδια σύγχυση παράγει το αντίστροφο λάθος: διαγραφή του αρχείου του πελάτη και υπόθεση ότι η CA το ξέχασε. Η διαγραφή στον πελάτη δεν είναι γεγονός ανάκλησης, και το πιστοποιητικό συνεχίζει να λειτουργεί για όποιον κρατά αντίγραφο.

Και τα δύο λάθη προέρχονται από τη μεταχείριση του ονόματος ως ταυτότητας.

Ανακαλέστε το πιστοποιητικό που ονομάζει ο σειριακός αριθμός

Προσδιορίστε το αντικείμενο πριν αγγίξετε την CA: το openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates εκτυπώνει τις τέσσερις τιμές σε ένα πέρασμα, και ο σειριακός αριθμός είναι αυτό που αντιστοιχίζετε με το αρχείο της CA. Το Easy-RSA διατηρεί αυτό το αρχείο κάτω από το pki/certs_by_serial, με ένα αρχείο ανά σειριακό αριθμό. Η εντολή ανάκλησης δέχεται κοινό όνομα και όχι σειριακό αριθμό, οπότε αντιγράψτε το αρχειοθετημένο αρχείο στο pki/issued/<common-name>.crt και αφήστε το όνομα να δείχνει στο αντικείμενο που προσδιορίσατε. Εκτελέστε το easyrsa revoke <common-name> από τον κατάλογο του PKI και μετά ελέγξτε ότι η αντίστοιχη γραμμή στο index.txt έχει αλλάξει σε R. Ο σειριακός αριθμός είναι ο τρόπος επιλογής του αντικειμένου, όχι όρισμα που δέχεται η εντολή.

openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates
cp pki/certs_by_serial/A1B2C3D4.pem pki/issued/client-01.crt
./easyrsa revoke client-01
grep -n client-01 pki/index.txt
./easyrsa gen-crl

Αν το index.txt δεν εμφανίζει το R, σταματήστε και διαβάστε το σφάλμα πριν δημιουργήσετε CRL, διότι ένα CRL που χτίστηκε από εγγραφή που είναι ακόμη έγκυρη δεν ανακαλεί τίποτα. Μόνο αφού αλλάξει η γραμμή εκτελείτε το easyrsa gen-crl και προχωράτε στη διανομή του αρχείου.

Δημοσιεύστε το CRL εκεί όπου πράγματι επιβάλλεται

Δημιουργήστε νέο CRL μέσω της υποστηριζόμενης ροής του PKI και μετά δημοσιεύστε το σε κάθε επαληθευτή που επιβάλλει τις ανακλήσεις αυτού του εκδότη.

Ένα ενημερωμένο αρχείο που κάθεται στην CA δεν αλλάζει τίποτα, επειδή το VPN ολοκληρώνει την απόφαση στον δικό του επαληθευτή. Ελέγξτε τον εκδότη του CRL, την περίοδο ισχύος και τους ανακληθέντες σειριακούς αριθμούς, και επιβεβαιώστε ότι η υπηρεσία επαναφορτώνει το αρχείο αντί να αποθηκεύει προσωρινά το προηγούμενο. Η ιδιοκτησία και η διαδρομή μετρούν όσο και το περιεχόμενο: ένα CRL που ο δαίμονας δεν μπορεί να διαβάσει δεν ξεχωρίζει από την απουσία CRL. Η επιλογή crl-verify του OpenVPN ονομάζει το αρχείο που διαβάζει ο δαίμονας, οπότε ελέγξτε αυτή τη διαδρομή και την ιδιοκτησία του αρχείου στη διαμόρφωση του διακομιστή.

Επαληθεύστε με πραγματική απόπειρα σύνδεσης, όχι με τη χρονική σφραγίδα του αρχείου.

Ξέρετε πότε το CRL είναι το λάθος εργαλείο

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

Η χειροκίνητη επεξεργασία της βάσης έκδοσης για να αναποδογυρίσει ένα γράμμα κατάστασης δεν υποκαθιστά υπογεγραμμένη ανάκληση και αφήνει το CRL ασυνεπές με τις εγγραφές.

Κρατήστε τον σειριακό αριθμό, το CRL και το βήμα διανομής σε ένα σημείωμα, και ο επόμενος έλεγχος γίνεται ανάγνωση. Το έργο Easy-RSA τεκμηριώνει τις υποστηριζόμενες εντολές για την έκδοση που έχετε εγκαταστήσει, και αυτή είναι η μόνη διεπαφή που αξίζει να ακολουθήσετε.

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