Ένας OpenVPN που δούλευε τον προηγούμενο μήνα τώρα αποτυγχάνει στην εκκίνηση με ca md too weak, και το προφίλ στον δίσκο είναι byte προς byte το ίδιο που δούλευε. Το μήνυμα αφορά την υπογραφή στο πιστοποιητικό μιας αρχής πιστοποίησης, όχι τον κρυπτογράφημα δεδομένων, τη σύνοψη auth ή τον κωδικό του λογαριασμού. Τρεις συνθήκες κρίνουν αν η λύση είναι νέο υλικό ταυτότητας, νέα αλυσίδα ή σκόπιμη αλλαγή πολιτικής. Δουλέψτε τις με σειρά και αποφεύγετε το συνηθισμένο αποτέλεσμα, όπου η σήραγγα επιστρέφει αποδυναμώνοντας κάθε σύνδεση TLS στον κεντρικό υπολογιστή.

Τι ονομάζει στην πραγματικότητα το σφάλμα

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

Γι' αυτό η επεξεργασία του auth ή του data-ciphers δεν κάνει τίποτα γι' αυτή την αποτυχία. Αυτές οι ρυθμίσεις κυβερνούν πώς προστατεύονται τα πακέτα μετά τη χειραψία, ενώ το απορριφθέν αντικείμενο είναι έγγραφο ταυτότητας που εξετάζεται πριν υπάρξει σήραγγα. Ένα πιστοποιητικό μπορεί να κάθεται άνετα μέσα στο παράθυρο ισχύος του και παρ' όλα αυτά να φέρει υπογραφή που η βιβλιοθήκη δεν θα δεχτεί.

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

Συνθήκη πρώτη: είναι το απορριφθέν αντικείμενο η ρίζα;

Εκτυπώστε κάθε πιστοποιητικό του προφίλ και διαβάστε τα πεδία subject και issuer. Μια αυτοϋπογεγραμμένη ρίζα δείχνει την ίδια τιμή και στα δύο, και ο αλγόριθμος υπογραφής της είναι εκείνος στον οποίο στηρίζεται όλη η αλυσίδα. Όταν η αδύναμη σύνοψη βρίσκεται εκεί, κάθε φύλλο από κάτω κληρονομεί το πρόβλημα. Γράψτε τον αλγόριθμο δίπλα στο subject, ώστε η επόμενη σύγκριση να είναι μηχανική και όχι από μνήμης.

Τα ενοποιημένα αρχεία CA συχνά κρατούν πολλά μπλοκ, οπότε εντοπίστε το μπλοκ που φορτώνεται πραγματικά αντί να υποθέσετε ότι φταίει το πρώτο. Η εντολή openssl x509 -in ca.pem -noout -subject -issuer -text περιγράφει ένα πιστοποιητικό τη φορά, που σημαίνει ότι πρώτα χωρίζετε τη δέσμη αν περιέχει περισσότερα. Συγκρίνετε τον εκτυπωμένο αλγόριθμο υπογραφής με τη σύνοψη που θα περιμένατε από την εποχή που δημιουργήθηκε η ρίζα.

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

Συνθήκη δεύτερη: ελέγχετε τον εκδότη;

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

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

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

Συνθήκη τρίτη: τι άλλο δέχεται η υποβάθμιση του επιπέδου

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

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

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

Η απόφαση, γραμμένη ως κανόνας

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

Έπειτα δοκιμάστε ξανά το προφίλ από καθαρό πελάτη, επιβεβαιώστε ότι η χειραψία ολοκληρώνεται, και κρατήστε το ακριβές κείμενο απόρριψης αν αποτυγχάνει ακόμη. Ένα ακριβές μήνυμα σφάλματος είναι το φθηνότερο που μπορείτε να δώσετε σε όποιον κατέχει το επόμενο επίπεδο.

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