Πώς να αφαιρέσετε ένα παρωχημένο πιστοποιητικό VPN από ένα χώρο αποθήκευσης εμπιστοσύνης
Η διαγραφή ενός προφίλ VPN αφήνει το πιστοποιητικό στο λειτουργικό σύστημα, το πρόγραμμα περιήγησης ή το κατάστημα εφαρμογών. Αντιστοιχίστε με το αποτύπωμα, διαγράψτε το στενότερο αντίγραφο και μετά επαληθεύστε την αλυσίδα.
Ο υπολογιστής-πελάτης VPN έχει απεγκατασταθεί, το προφίλ έχει εξαφανιστεί από τις Ρυθμίσεις και το τούνελ εξακολουθεί να σηκώνεται με τα παλιά διαπιστευτήρια. Ή το διαγράφετε, επανεκκινείτε και το βρίσκετε πάλι το επόμενο πρωί. Κανένα από τα δύο δεν είναι χαλασμένο κουμπί διαγραφής. Ένα προφίλ είναι διαμόρφωση· ένα πιστοποιητικό είναι υλικό κλειδιού συν μια απόφαση εμπιστοσύνης που καταγράφεται σε ένα χώρο αποθήκευσης στον οποίο το προφίλ απλώς δείχνει. Ποιο από τα δύο κρατάτε καθορίζει τι πρέπει να σημαίνει το 'αφαίρεση'.
Ένα προφίλ δεν είναι πιστοποιητικό
Τρία διαφορετικά αντικείμενα ονομάζονται 'το πιστοποιητικό' σε μια εγκατάσταση VPN. Η ταυτότητα του πελάτη είναι ένα τελικό πιστοποιητικό με ιδιωτικό κλειδί και η πύλη το χρησιμοποιεί για να αποφασίσει ποιος είστε. Το δικό του τελικό πιστοποιητικό του διακομιστή και το ενδιάμεσό του είναι αυτά που ελέγχει ο πελάτης σας όταν συνδέεται. Η άγκυρα εμπιστοσύνης, συνήθως ένα πιστοποιητικό ρίζας ή ιδιωτικής CA, είναι αυτή που κάνει την αλυσίδα επαληθεύσιμη εξαρχής. RFC 5280 ονομάζει αυτά άγκυρα εμπιστοσύνης, ενδιάμεσο πιστοποιητικό και τελική οντότητα, και η αλυσίδα επικυρώνεται μόνο όσο κάθε κρίκος υπογράφει τον από κάτω του.
Διαγράψτε την ταυτότητα και μια συσκευή χάνει την πρόσβαση. Διαγράψτε την άγκυρα και κάθε εφαρμογή που επικυρώνει με αυτόν τον χώρο χάνει την ικανότητα να ελέγχει οτιδήποτε εκδόθηκε κάτω από αυτήν, συμπεριλαμβανομένων συνδέσεων που δεν έχουν καμία σχέση με το VPN. Αυτή η ασυμμετρία είναι όλος ο κίνδυνος εδώ: μια ρίζα που εγκαταστάθηκε για μία πύλη είναι συχνά η ίδια ρίζα που υπογράφει μια εσωτερική πύλη, έναν διακομιστή αλληλογραφίας ή έναν καθρέφτη πακέτων. Θυμηθείτε ποιο από τα δύο κρατάτε.
Η ιδιοκτησία καθορίζει αν η διαγραφή θα μείνει διαγραμμένη. Σε φορητό υπολογιστή που σας ανήκει, μόνο εσείς μπορείτε να επαναφέρετε το πιστοποιητικό. Σε διαχειριζόμενη συσκευή, ένα προφίλ διαμόρφωσης ή ένα ωφέλιμο φορτίο MDM μπορεί να το επανεγκαταστήσει στον επόμενο έλεγχο, γι' αυτό 'επιστρέφει' και γι' αυτό η πιο σκληρή διαγραφή δεν βοηθά.
Βρείτε ποιος χώρος το κρατά ακόμη
Οι άνθρωποι ξεκινούν από την εφαρμογή Ρυθμίσεις, που είναι το μόνο μέρος όπου ένα πιστοποιητικό δεν αποθηκεύεται. Οι πραγματικές τοποθεσίες είναι οι χώροι εμπιστοσύνης του λειτουργικού συστήματος, ο δικός του χώρος του προγράμματος περιήγησης και ο ιδιωτικός χώρος της εφαρμογής.
| Store | What deleting from it affects |
|---|---|
| Windows CurrentUser\My | your login session only |
| Windows LocalMachine Root | every user and service on the machine |
| macOS login or System keychain | one account, or all of them with sudo |
| Linux ca-certificates bundle | curl, git, Python, anything using the system bundle |
| Firefox cert9.db | Firefox only; it does not read the OS store |
Αντιστοιχίστε με τον σειριακό αριθμό ή το αποτύπωμα, ποτέ με το εμφανιζόμενο όνομα. Τα εμφανιζόμενα ονόματα τα ορίζει όποιος εξέδωσε το πιστοποιητικό και επαναχρησιμοποιούνται: το 'Example VPN' μπορεί να είναι τρία πιστοποιητικά με τρία διαφορετικά κλειδιά, ένα από τα οποία χρησιμοποιείται ακόμη καθημερινά.
certutil -user -store My
certutil -store Root
openssl x509 -in vpn-client.pem -noout -subject -issuer -serial -fingerprint -sha256
Στο macOS το εργαλείο security δίνει τα ίδια δεδομένα, και find-identity δείχνει ποια πιστοποιητικά έχουν ακόμη συνδεδεμένο ιδιωτικό κλειδί:
security find-certificate -a -c "Example VPN" -Z /Library/Keychains/System.keychain
security find-identity -v -p ssl-client
Διαγράψτε το στενό αντικείμενο, κρατήστε τον κοινό εκδότη
Εξαγάγετε πριν διαγράψετε. Χωρίς αντίγραφο ασφαλείας η μόνη ανάκτηση είναι η επανέκδοση, που σε ιδιωτική CA σημαίνει επιστροφή σε όποιον διαχειρίζεται το PKI. Το εξαγμένο PFX είναι επίσης αυτό που παραδίδετε αν η αφαίρεση αποδειχθεί λάθος απόφαση.
certutil -user -exportPFX -p backup My <serial> C:\temp\vpn-id.pfx
certutil -user -delstore My <serial>
Remove-Item Cert:\CurrentUser\My<thumbprint>
Η σημαία -user είναι αυτή που οι άνθρωποι ξεχνούν κατά λάθος. Χωρίς αυτήν το certutil δουλεύει στον χώρο του μηχανήματος, που σημαίνει αναβαθμισμένο κέλυφος, διαφορετικό σύνολο πιστοποιητικών και ακτίνα επίπτωσης που τώρα περιλαμβάνει κάθε άλλο λογαριασμό στον υπολογιστή.
Στο macOS και στο Linux η μορφή είναι ίδια: προσδιορίστε, εξαγάγετε και μετά αφαιρέστε από τον στενότερο χώρο που εξηγεί το σύμπτωμα. Η αφαίρεση του αρχείου κάτω από /usr/local/share/ca-certificates και η εκ νέου εκτέλεση του update-ca-certificates αρκούν· --fresh βοηθά μόνο όταν οι συμβολικοί σύνδεσμοι στο /etc/ssl/certs είναι ήδη ασυνεπείς. Τα συστήματα της οικογένειας RHEL κρατούν άγκυρες στο /etc/pki/ca-trust/source/anchors, όπου το trust anchor --remove κάνει την ίδια δουλειά.
sudo security delete-certificate -Z <sha1> /Library/Keychains/System.keychain
sudo rm /usr/local/share/ca-certificates/example-vpn.crt
sudo update-ca-certificates
sudo trust anchor --remove /etc/pki/ca-trust/source/anchors/example-vpn.crt
Πριν διαγράψετε ένα πιστοποιητικό CA, ελέγξτε τι άλλο αλυσιδώνεται σε αυτό. Η απαρίθμηση των υποκειμένων μέσα στο πακέτο είναι έλεγχος δύο γραμμών και απαντά αν αυτή η άγκυρα κάνει άλλη δουλειά:
openssl crl2pkcs7 -nocrl -certfile /etc/ssl/certs/ca-certificates.crt \
| openssl pkcs7 -print_certs -noout | grep -i example
Η διαγραφή του αρχείου δεν είναι ανάκληση της ταυτότητας
Μια τοπική διαγραφή αφαιρεί ένα αντίγραφο. Το ιδιωτικό κλειδί μπορεί να βρίσκεται ακόμη σε ένα p12 συνδεδεμένο με παλιό εισιτήριο, φάκελο αντιγράφων ασφαλείας ή τον δεύτερο φορητό υπολογιστή που στήθηκε την ίδια στιγμή. Αν αυτή ήταν ταυτότητα πελάτη, η πύλη συνεχίζει να δέχεται οποιοδήποτε αντίγραφο αυτού του κλειδιού έως ότου η ταυτότητα απορριφθεί στην πλευρά του διακομιστή.
Για ένα OpenVPN PKI αυτό σημαίνει ανάκληση του πιστοποιητικού και βεβαιότητα ότι το CRL στο οποίο αναφέρεται το crl-verify είναι ενημερωμένο· easyrsa revoke μετά το easyrsa gen-crl είναι η σύντομη εκδοχή. Για πύλη συνδεδεμένη με πάροχο ταυτότητας, απενεργοποιήστε τον χρήστη ή αφαιρέστε τη συσκευή εκεί, γιατί το πιστοποιητικό είναι μόνο ένα διαπιστευτήριο στο παιχνίδι. Η διαγραφή του τοπικού αντιγράφου ενώ ο λογαριασμός μένει ενεργός μοιάζει με καθάρισμα και δεν είναι.
Η εργασία περιστατικού έχει άλλη σειρά: διατηρήστε πρώτα το πιστοποιητικό, τον σειριακό του αριθμό και το αρχείο ανάκλησης, και μετά διαγράψτε και ανακαλέστε. Αυτά τα αρχεία δεν κοστίζουν τίποτα και δεν απαιτούν να μείνει ένα λειτουργικό διαπιστευτήριο στη θέση του.
Επαληθεύστε με χειραψία και δεύτερη εφαρμογή
Ελέγξτε την αλυσίδα από έξω, όχι από τη λίστα του χώρου που μόλις επεξεργαστήκατε. Ο χώρος δείχνει την αλλαγή σας· η χειραψία δείχνει το αποτέλεσμα.
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com \
-CAfile /etc/ssl/certs/ca-certificates.crt -verify_return_error < /dev/null
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt vpn-gateway.pem
Ένας κωδικός επιστροφής 0 σημαίνει ότι οι υπόλοιπες άγκυρες εξακολουθούν να επικυρώνουν την πύλη. Ένα σφάλμα αλυσίδας μετά την αφαίρεση της άγκυρας είναι το αναμενόμενο αποτέλεσμα και επιβεβαιώνει ότι χτυπήσατε την άγκυρα που χρησιμοποιείται και όχι ένα διπλότυπο σε χώρο που ο πελάτης δεν διαβάζει ποτέ. Αν η σύνδεση εξακολουθεί να λειτουργεί, αναζητήστε δεύτερο αντίγραφο, χώρο ενσωματωμένο στην εφαρμογή ή καρφιτσωμένο πιστοποιητικό, όλα συνηθισμένα σε πελάτες που φέρνουν τη δική τους λίστα εμπιστοσύνης.
Μετά δοκιμάστε κάτι άσχετο: έναν εσωτερικό ιστότοπο, έναν πελάτη αλληλογραφίας, έναν καθρέφτη πακέτων. Αυτό μετρά φθηνά την ακτίνα επίπτωσης πριν κλείσει το παράθυρο αλλαγών.
- Ο ρόλος προσδιορίστηκε ως ταυτότητα, ενδιάμεσο πιστοποιητικό ή άγκυρα εμπιστοσύνης
- Ο σειριακός αριθμός και το αποτύπωμα καταγράφηκαν και το αντίγραφο εξήχθη στην εγκεκριμένη τοποθεσία
- Η διαγραφή έγινε στο στενότερο εύρος που εξηγεί το σύμπτωμα
- Η εξουσιοδότηση στην πλευρά του διακομιστή ανακλήθηκε όταν έφυγε πρόσωπο ή συσκευή
- Η χειραψία εξηγήθηκε και μια άσχετη εφαρμογή δοκιμάστηκε ξανά
- Το ωφέλιμο φορτίο MDM ή το προφίλ διαχείρισης ενημερώθηκε, αλλιώς το πιστοποιητικό επιστρέφει
Αν το πιστοποιητικό επιστρέψει μετά από επανεκκίνηση, η δουλειά δεν τελείωσε: κάτι το κατέχει και το επανεγκαθιστά. Βρείτε αυτόν τον κάτοχο πριν διαγράψετε ξανά, γιατί μια τρίτη διαγραφή θα συμπεριφερθεί ακριβώς όπως οι δύο πρώτες.