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

Το πρώτο ερώτημα είναι αν το κλειδί είναι κρυπτογραφημένο και το δεύτερο αν αυτή η έκδοση μπορεί να το αποκρυπτογραφήσει. Οι αλλαγές ρυθμίσεων έχουν νόημα μόνο αφού είναι γνωστές και οι δύο απαντήσεις.

Ελέγξτε αν το κλειδί είναι κρυπτογραφημένο

Διαβάστε την πρώτη γραμμή του αρχείου και μετά αφήστε τη βιβλιοθήκη να το αναλύσει, γιατί ένα όνομα αρχείου δεν αποδεικνύει τίποτα. Ένα μπλοκ PEM με την ένδειξη ENCRYPTED PRIVATE KEY είναι κρυπτογραφημένο PKCS#8 και ένα παλαιότερο RSA PRIVATE KEY μπλοκ που φέρει Proc-Type: 4,ENCRYPTED είναι η παραδοσιακή μορφή, και τα δύο περιμένουν φράση πρόσβασης. Ένα μη κρυπτογραφημένο PRIVATE KEY μπλοκ δεν θα έπρεπε να ζητά καθόλου. Εκτελέστε την ανάλυση ως τον λογαριασμό που κατέχει το αρχείο, γιατί ένα πρόβλημα δικαιωμάτων παράγει διαφορετικό και πολύ λιγότερο ενδιαφέρον σφάλμα.

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

Ελέγξτε αν αυτή η έκδοση μπορεί να το αποκρυπτογραφήσει

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

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

Ελέγξτε τη στενότερη διαθέσιμη διόρθωση

Προτιμήστε μια αλλαγή περιορισμένη στον πελάτη παρά μια σε επίπεδο συστήματος. Ορισμένες εκδόσεις 2.6 δέχονται μια επιλογή προφίλ που φορτώνει και τους δύο παρόχους για τη διεργασία αυτού του δαίμονα, οπότε επιβεβαιώστε την οδηγία στο εγχειρίδιο για την ακριβή σας έκδοση πριν βασιστείτε σε αυτήν· η επεξεργασία του συστήματος openssl.cnf αντίθετα επηρεάζει κάθε πρόγραμμα OpenSSL στον κεντρικό υπολογιστή. Η στενότερη ρύθμιση είναι επίσης πολύ ευκολότερο να αναιρεθεί μόλις το κλειδί κωδικοποιηθεί ξανά.

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

Ελέγξτε το περιβάλλον της υπηρεσίας και μετά επανακωδικοποιήστε

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

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

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

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

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