Η ανάγνωση των δημόσιων πεδίων ενός πιστοποιητικού δεν απαιτεί ποτέ την εμφάνιση του ιδιωτικού κλειδιού που του αντιστοιχεί, και τα εργαλεία για αυτό συνοδεύουν κάθε σύστημα που τερματίζει VPN. Ο κίνδυνος βρίσκεται ένα βήμα νωρίτερα: το αρχείο που σας έδωσαν μπορεί να μην είναι καθόλου πιστοποιητικό. Ένα πιστοποιητικό PEM, ένα δυαδικό DER, ένα πακέτο PKCS#12 και ένα προφίλ OpenVPN μπορούν να φτάσουν με το ίδιο όνομα και να περιέχουν πολύ διαφορετικό υλικό, γι' αυτό προσδιορίστε το περιέκτη πριν επιλέξετε εντολή.

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

Ποιο από τα τρία αρχεία σας έδωσαν

Ένα πιστοποιητικό PEM είναι κείμενο με ορατούς δείκτες BEGIN και END, ένα αρχείο DER είναι δυαδικό και χρειάζεται σημαία μορφής εισόδου, και ένα πακέτο είναι περιέκτης που μπορεί να κρατά κλειδί δίπλα στο πιστοποιητικό. Η εντολή file server.crt χωρίζει κείμενο από δυαδικό σε ένα δευτερόλεπτο, και μια ματιά στην πρώτη γραμμή χωρίζει ένα γυμνό πιστοποιητικό από ένα προφίλ που ενσωματώνει ένα. Η εικασία εδώ είναι αυτό που μετατρέπει έναν έλεγχο σε περιστατικό.

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

Ανάγνωση των δημόσιων πεδίων ενός πιστοποιητικού PEM

Για ένα πιστοποιητικό που έχετε άδεια να ελέγξετε, η υποεντολή x509 με -noout εκτυπώνει μόνο τα πεδία που επιλέγετε και τίποτα άλλο. Η καταστολή του σώματος είναι αυτό που κρατά την έξοδο στα μεταδεδομένα, και αυτό είναι επίσης που την κάνει ασφαλή για επικόλληση σε δελτίο. Οι επιλογείς παρακάτω είναι οι δημόσιοι, και η τεκμηρίωση του openssl x509 απαριθμεί τα υπόλοιπα.

openssl x509 -in server.crt -noout -subject -issuer -dates -fingerprint -sha256

Σε ένα τοπικά παραγόμενο δοκιμαστικό πιστοποιητικό, αυτή η εντολή εκτυπώνει μια γραμμή υποκειμένου και εκδότη, το ζεύγος notBefore και notAfter, και ένα αποτύπωμα SHA-256. Αυτά τα πεδία ταυτοποιούν το αντικείμενο· δεν καθιερώνουν έγκυρη διαδρομή εμπιστοσύνης, που είναι ξεχωριστή εργασία επαλήθευσης με δική της εντολή και δική της απάντηση. Ένα αρχείο αλυσίδας μπορεί επίσης να εκτυπώσει μόνο το πρώτο πιστοποιητικό, εκτός αν διατρέξετε μόνοι σας το αρχείο. Η σύγκριση δύο αρχείων με αυτόν τον τρόπο κοστίζει μία εντολή και καθορίζει ποιο από αυτά παρουσιάζει πραγματικά ο ομότιμος.

Πακέτα που κρατούν κλειδί δίπλα στο πιστοποιητικό

Ένα αρχείο .p12 ή .pfx μπορεί να φέρει ιδιωτικό κλειδί, και η εντολή ανάλυσης το εκτυπώνει εκτός αν καταστείλετε αυτό το τμήμα της εξόδου. Με το -nokeys η ίδια εντολή εξακολουθεί να αναφέρει τη δομή του περιέκτη, συμπεριλαμβανομένου ενός συγκαλυμμένου σάκου κλειδιού, χωρίς να εκπέμπει υλικό κλειδιού· αν αφαιρέσετε αυτή τη σημαία, ένα μπλοκ κλειδιού εμφανίζεται στο τερματικό σας και στο ιστορικό του κελύφους σας.

openssl pkcs12 -in bundle.p12 -nokeys -info -passin env:P12PASS

Ένα προφίλ OpenVPN ενσωματώνει το ίδιο υλικό ως κείμενο, οπότε το όριο είναι ορατό αν ξέρετε πού να κοιτάξετε. Το δημόσιο υλικό βρίσκεται μεταξύ BEGIN CERTIFICATE και END CERTIFICATE, ενώ ό,τι βρίσκεται μεταξύ BEGIN PRIVATE KEY και της αντίστοιχης γραμμής END είναι το κλειδί και δεν πρέπει να εγκαταλείψει τον κεντρικό υπολογιστή. Η αντιγραφή του προφίλ ολόκληρου δημοσιεύει και τα δύο.

Λήψη της τιμής αναφοράς από αλλού

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

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

Κοινοποίηση του αποτελέσματος και τι να κάνετε μετά από μια αμέλεια

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

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

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