Απογραφή πιστοποιητικών VPN: τι μπορεί να αποδείξει το μητρώο CA
Ένας φάκελος στον διακομιστή, ένα μητρώο CA, μια λίστα ανάκλησης και ένας πίνακας συνεδριών απαντούν σε διαφορετικά ερωτήματα. Κρατήστε τα χωριστά όταν απογράφετε ταυτότητες VPN.
Η πύλη σας δέχεται ένα πιστοποιητικό πελάτη που δεν έχει δει ποτέ, επειδή αυτό με το οποίο διαμορφώθηκε είναι ένας αξιόπιστος εκδότης, και το πιστοποιητικό φτάνει κατά τη χειραψία. Έτσι υποτίθεται ότι λειτουργεί το πρωτόκολλο, και γι’ αυτό ακριβώς μια λίστα καταλόγου στον διακομιστή αποτελεί κακή απογραφή. Ο εκδότης γνωρίζει τι δημιούργησε, ο διακομιστής γνωρίζει τι συνδέθηκε, και η κατάσταση ανάκλησης γνωρίζει τι ανακλήθηκε. Μια απογραφή που συνδυάζει αυτά τα τρία αρχεία καταλήγει να ισχυρίζεται κάτι που δεν είπε κανένα από αυτά.
Η πύλη εμπιστεύεται εκδότη, όχι λίστα αρχείων
Η επικύρωση συγκρίνει ένα προσκομισθέν πιστοποιητικό με μια άγκυρα εμπιστοσύνης, οπότε μια ταυτότητα που δημιουργήθηκε χθες από τον ίδιο εκδότη συνδέεται χωρίς να έχει υπάρξει ποτέ στον δίσκο του διακομιστή. Δεν χρειάζεται να αντιγραφεί τίποτα για να συμβεί αυτό, και κανείς δεν πρέπει να το εγκρίνει με το χέρι. Επομένως τα ίδια τα αρχεία του διακομιστή περιγράφουν αφίξεις, όχι τον πληθυσμό των ταυτοτήτων που θα μπορούσαν να φτάσουν.
Το αντίστροφο κενό είναι εξίσου άβολο. Ένας κατάλογος μπορεί να περιέχει ληγμένα πιστοποιητικά, ανακληθέντα και ταυτότητες που εκδόθηκαν για συσκευές που δεν αναπτύχθηκαν ποτέ. Η καταμέτρηση αρχείων απαντά πόσα αρχεία υπάρχουν, που είναι ένα ερώτημα που δεν έθεσε κανείς. Ξεκινήστε αντίθετα από τα αρχεία που φέρουν νόημα.
Τέσσερα ερωτήματα, τέσσερα διαφορετικά αρχεία
Κάθε τύπος αρχείου απαντά καλά σε ένα ερώτημα και κακά στα υπόλοιπα, γι’ αυτό μια αναφορά που τα συγχωνεύει φαίνεται πλήρης ενώ είναι λανθασμένη με συγκεκριμένο τρόπο. Ο παρακάτω πίνακας τα ταξινομεί κατά το ερώτημα που επιλύουν και όχι κατά το σύστημα που τα παράγει.
| Question you are answering | Where the answer lives | How quickly it changes | What it will never show |
|---|---|---|---|
| Was this identity ever created? | The issuer's issuance database | Only when something is issued | Whether the device still exists |
| Is a copy sitting on this host? | The paths you actually inspected | Whenever anyone copies files | Certificates that were never copied here |
| Has the issuer withdrawn it? | Published revocation state | When the issuer next publishes | Withdrawals that are not published yet |
| Is it connected right now? | The live session table | Continuously | Anything about past or future sessions |
Ένα αρχείο δημόσιων πιστοποιητικών δεν είναι μυστικό, αφού δεν περιέχει ιδιωτικά κλειδιά, αλλά ούτε και κοινοποιήσιμο είναι. Τα υποκείμενα και τα ονόματα συσκευών αποκαλύπτουν λειτουργικές λεπτομέρειες, και η αναφορά πρέπει να μένει στο κοινό που τη χρειάζεται. Τα ιδιωτικά κλειδιά μένουν εντελώς έξω από την απογραφή, επειδή η απογραφή χρειάζεται μεταδεδομένα και όχι διαπιστευτήρια.
Εκδότης και αύξων αριθμός είναι το μόνο σταθερό κλειδί
Τα υποκείμενα ανακυκλώνονται και τα ονόματα αρχείων επαναχρησιμοποιούνται, οπότε ένα όνομα που πέρυσι προσδιόριζε μια συσκευή μπορεί τώρα να προσδιορίζει μια άλλη. Κανένα από τα δύο δεν είναι κλειδί, και μια αναφορά χτισμένη σε οποιοδήποτε από αυτά θα συγχωνεύσει τελικά δύο ταυτότητες σε μία γραμμή.
Το ζεύγος εκδότη και αύξοντος αριθμού προσδιορίζει μοναδικά ένα πιστοποιητικό, και τα δύο πεδία προέρχονται από το ίδιο το πιστοποιητικό. Καταγράψτε τα μαζί με το υποκείμενο, τις ημερομηνίες ισχύος, την πηγή από την οποία ήρθε το αντίγραφο και το υπεύθυνο πρόσωπο ή τη συσκευή. Προσθέστε την κατάσταση ανάκλησης και ανάπτυξης ως ξεχωριστά πεδία με τους δικούς τους χρόνους παρατήρησης, επειδή ένα πιστοποιητικό εντός του παραθύρου ισχύος του δεν είναι αυτόματα εξουσιοδοτημένο. Αυτά τα δύο γεγονότα ζουν σε διαφορετικά συστήματα, και η συγχώνευσή τους κρύβει την περίπτωση όπου μια ταυτότητα ανακλήθηκε ενώ το αρχείο της φαίνεται ακόμη επίκαιρο.
Διαβάστε ένα πιστοποιητικό τη φορά
Ένας χαρακτήρας μπαλαντέρ που επεκτείνεται σε έναν κατάλογο δεν είναι διεπαφή παρτίδας, και κρύβει ποιο αρχείο παρήγαγε ποια έξοδο. Διαβάστε τα μεταδεδομένα ανά πιστοποιητικό, και διαβάστε την πλευρά της ανάκλησης από το δικό της τεχνούργημα. Η αναφορά OpenSSL x509 απαριθμεί τα πεδία που εκτυπώνουν αυτές οι επιλογές.
openssl x509 -in <cert>.pem -noout -issuer -serial -subject -dates -fingerprint -sha256
openssl crl -in <issuer>.crl -noout -text | head -n 40
Για μια διαχειριζόμενη PKI Easy-RSA, ρωτήστε τη βάση δεδομένων έκδοσης μέσω της ροής εργασίας που υποστηρίζει το εργαλείο αντί να υποθέσετε μια διάταξη καταλόγων, και κρατήστε τα πρωτότυπα μόνο για ανάγνωση όσο συντίθεται η απογραφή. Η μορφή του μητρώου είναι αρκετά κανονική ώστε να μετρά έγκυρες εγγραφές και να απαριθμεί τις ανακληθείσες χωρίς να ανοίξει κανείς τη βάση με το χέρι.
grep -c '^V' pki/index.txt
grep '^R' pki/index.txt | cut -f4,5
Μια απογραφή που αντέχει στην επόμενη έκδοση
Μια εφάπαξ εξαγωγή ενός καταλόγου είναι παρωχημένη τη στιγμή που εκδίδεται το επόμενο πιστοποιητικό, γι’ αυτό χτίστε την αναφορά από τη ροή έκδοσης και αφήστε την να ενημερώνεται ως μέρος της κανονικής λειτουργίας. Αυτό κάνει επίσης την αναφορά αναπαραγώγιμη, κάτι που μετράει όταν δύο άνθρωποι διαφωνούν για το τι εκδόθηκε.
Χρησιμοποιήστε το αποτέλεσμα για αποφάσεις ανανέωσης και απόσυρσης και όχι ως άσκηση υπολογιστικού φύλλου. Η διαγραφή ενός τοπικού αντιγράφου δεν ακυρώνει τα απομακρυσμένα αντίγραφα που υπάρχουν ήδη. Ανακαλέστε την ταυτότητα μέσω της διαμορφωμένης ροής ανάκλησης και εξουσιοδότησης, και στη συνέχεια καταγράψτε την ανάκληση με την ημερομηνία της. Μια ταυτότητα που εξαφανίστηκε από τον διακομιστή αλλά εξακολουθεί να είναι αξιόπιστη για τον εκδότη δεν έχει αποσυρθεί, και αυτή η διαφορά χωρίζει μια ακριβή απογραφή από μια απλώς καθησυχαστική.