Το SECLEVEL=0 θεραπεύει το σύμπτωμα, όχι το πιστοποιητικό
Η μείωση του επιπέδου ασφαλείας του OpenSSL διευρύνει το τι δέχεται η βιβλιοθήκη. Βρείτε ποια είσοδος απορρίφθηκε πριν αλλάξετε αυτό το όριο για έναν ολόκληρο κεντρικό υπολογιστή.
Μια σύνδεση OpenVPN αποτυγχάνει, κάποιος βρίσκει μια διόρθωση μιας γραμμής που προσθέτει SECLEVEL=0 και το τούνελ σηκώνεται. Αυτό που άλλαξε δεν ήταν το πιστοποιητικό ούτε η σουίτα κρυπτογράφησης· μετακινήθηκε ένα κατώφλι αποδοχής σε επίπεδο βιβλιοθήκης και ό,τι κάνει η διεργασία μετά κληρονομεί το νέο όριο. Αξίζει να το κατανοήσετε πριν η ίδια γραμμή αντιγραφεί σε κάθε προφίλ του περιβάλλοντος.
Βρείτε ποια βιβλιοθήκη και ποια πολιτική ισχύουν
Το SECLEVEL είναι έννοια του OpenSSL, οπότε το πρώτο ερώτημα είναι αν η κατασκευή σας χρησιμοποιεί καθόλου OpenSSL. Το OpenVPN μπορεί να συνδεθεί με περισσότερες από μία βιβλιοθήκες κρυπτογραφίας και μια ρύθμιση που ισχύει για μία από αυτές είναι άνευ νοήματος για τις άλλες. Ρωτήστε το εκτελέσιμο με τι έχει κατασκευαστεί και μετά ρωτήστε τη βιβλιοθήκη ποια έκδοση και διαμόρφωση φόρτωσε:
openvpn --version | head -3
openssl version -aΔιαβάστε προσεκτικά την έξοδο της έκδοσης, γιατί οι διανομές τροποποιούν τις προεπιλογές. Κάποιες διανέμουν μια διαμόρφωση συστήματος που ανεβάζει το ελάχιστο επίπεδο πάνω από την προεπιλογή του upstream και γι' αυτό το ίδιο προφίλ συμπεριφέρεται διαφορετικά σε δύο μηχανήματα με πανομοιότυπα πακέτα OpenVPN. Η ενεργή πολιτική είναι αυτή που φόρτωσε η τρέχουσα διεργασία, όχι αυτή του εγχειριδίου του upstream.
Έπειτα διαχωρίστε τα δύο επίπεδα που οι άνθρωποι συγχέουν. Το OpenVPN έχει τους δικούς του ελέγχους TLS, συμπεριλαμβανομένης μιας ρύθμισης προφίλ πιστοποιητικού και ρητών λιστών κρυπτογράφησης, και αυτά βρίσκονται πάνω από ό,τι επιβάλλει η βιβλιοθήκη. Η μείωση του επιπέδου της βιβλιοθήκης δεν αλλάζει ποιες κρυπτογραφήσεις απαριθμεί η διαμόρφωση OpenVPN σας και η στένωση της λίστας OpenVPN δεν ανεβάζει το κατώφλι της βιβλιοθήκης. Το να ξέρετε ποιο επίπεδο σας απέρριψε είναι αυτό που εμποδίζει τη διόρθωση να παραμείνει εικασία.
Διαχωρίστε τα τρία πράγματα που μπορούν να απορριφθούν
Ο πρώτος υποψήφιος είναι υλικό ταυτότητας: ένα πιστοποιητικό του οποίου το κλειδί είναι πολύ μικρό ή του οποίου τον αλγόριθμο υπογραφής η πολιτική δεν δέχεται πλέον. Ο δεύτερος είναι μια παράμετρος ανταλλαγής κλειδιών, όπως μια ομάδα που η πολιτική θεωρεί πολύ αδύναμη. Ο τρίτος είναι μια σουίτα κρυπτογράφησης που η πολιτική αποκλείει. Και τα τρία μπορούν να προκαλέσουν αποτυχία χειραψίας και μόνο το κείμενο του σφάλματος και το στάδιο διαπραγμάτευσης τα ξεχωρίζουν.
Κανένα από αυτά τα τρία δεν είναι η κρυπτογράφηση του καναλιού δεδομένων. Το OpenVPN διαπραγματεύεται την κρυπτογράφηση του τούνελ ξεχωριστά από τη χειραψία TLS, οπότε μια σύνδεση που πετυχαίνει μετά από αλλαγή επιπέδου ασφαλείας δεν λέει τίποτα για το ποια κρυπτογράφηση προστατεύει τα δεδομένα σας. Αν η ερώτηση που θέτετε πραγματικά αφορά την εμπιστευτικότητα των δεδομένων, κοιτάτε εντελώς λάθος διακόπτη.
Η μείωση του επιπέδου διευρύνει την αποδοχή και για τις τρεις εισόδους ταυτόχρονα. Αυτό είναι το σημείο που χάνουν οι άνθρωποι: η διόρθωση που δέχεται ένα παλιό πιστοποιητικό δέχεται επίσης μια αδύναμη ομάδα και μια σουίτα που ίσως δεν σκοπεύατε να επιτρέψετε. Ένα μόνο σφάλμα προκάλεσε την αλλαγή και η αλλαγή είναι ευρύτερη από το σφάλμα. Αυτή η ασυμμετρία είναι ο λόγος που μια περιορισμένη εξαίρεση υπερέχει μιας προεπιλογής για όλο το περιβάλλον.
Αλλάξτε την είσοδο, όχι το κατώφλι
Διατηρήστε το ακριβές σφάλμα πριν αγγίξετε τη διαμόρφωση, μαζί με το στάδιο που το ανέφερε και το αντικείμενο που ονόμασε. Ένα πρόβλημα πιστοποιητικού λύνεται αντικαθιστώντας το πιστοποιητικό με κάτι που δέχεται η τρέχουσα πολιτική, το οποίο συνήθως σημαίνει επανέκδοσή του από την αρχή αντί για επανεγκατάσταση του ίδιου αρχείου.
Αν η απορριφθείσα είσοδος ανήκει σε ομότιμο που δεν ελέγχετε, η συζήτηση γίνεται με τον ιδιοκτήτη του για υποστηριζόμενο υλικό αντικατάστασης. Η μείωση του δικού σας κατωφλίου για να φιλοξενήσετε ένα σύστημα που κανείς δεν συντηρεί μεταφέρει το κόστος από αυτούς σε όλους όσους συνδέονται μετά.
Όπου ο διακομιστής επιβάλλει την πολιτική, ελέγξτε αν η αιτία είναι στην πραγματικότητα μια ρύθμιση σε επίπεδο OpenVPN πριν κατηγορήσετε τη βιβλιοθήκη. Ένα προφίλ πιστοποιητικού που ζητά αυστηρότερη κλάση από ό,τι μπορεί να ικανοποιήσει το αναπτυγμένο πιστοποιητικό θα αποτύχει ανεξάρτητα από το επίπεδο ασφαλείας και η αφαίρεση αυτού του προφίλ είναι στενότερη αλλαγή από την απενεργοποίηση των ελέγχων της βιβλιοθήκης.
Αν πρέπει να το μειώσετε, περιορίστε το και καταγράψτε το
Μερικές φορές μια εγκεκριμένη εξαίρεση συμβατότητας είναι η σωστή απάντηση, ειδικά για έναν παλιό ομότιμο με χρονολογημένο σχέδιο απόσυρσης. Περιορίστε την στην υπηρεσία που τη χρειάζεται αντί για ολόκληρο τον κεντρικό υπολογιστή: ένα αρχείο διαμόρφωσης ανά υπηρεσία ή μια ειδική διαμόρφωση OpenSSL έχει μικρότερη ακτίνα επιρροής από μια εξαγωγή στο καθολικό προφίλ.
Γράψτε τέσσερα πράγματα μαζί με την εξαίρεση: την ακριβή ρύθμιση, τον ιδιοκτήτη που την ενέκρινε, τους πελάτες που επηρεάζει και την προϋπόθεση υπό την οποία αφαιρείται. Μια εξαίρεση χωρίς προϋπόθεση απόσυρσης είναι μόνιμη αποδυνάμωση με προσωρινή αιτιολόγηση προσαρτημένη.
Η επαναφορά πρέπει να είναι ένα βήμα που έχετε ήδη δοκιμάσει. Κρατήστε την προηγούμενη διαμόρφωση, εφαρμόστε την αλλαγή, επιβεβαιώστε ότι η υπηρεσία ξεκινά και γνωρίζετε ακριβώς ποιο αρχείο να επαναφέρετε αν η επόμενη σύνδεση συμπεριφερθεί διαφορετικά από το αναμενόμενο.
Επαληθεύστε την ταυτότητα και την προστασία μετά
Μια επιτυχημένη σύνδεση αποδεικνύει μόνο ότι οι αναθεωρημένες συνθήκες την επέτρεψαν. Επιβεβαιώστε ότι η επαλήθευση ονόματος κεντρικού υπολογιστή και ομοτίμου εξακολουθεί να κάνει τη δουλειά της, ότι το πιστοποιητικό που χρησιμοποιείται είναι αυτό που σκοπεύατε να αναπτύξετε και ότι το διαπραγματευμένο κανάλι δεδομένων ταιριάζει με την πολιτική που νομίζετε ότι έχετε.
openssl x509 -in /etc/openvpn/client.crt -noout -subject -dates -text | grep -E 'Signature Algorithm|Public-Key'
openvpn --show-tls | head -20Η αναφορά επιπέδων ασφαλείας του OpenSSL είναι ρητή ότι το πλαίσιο εφαρμόζει όρια σε κλειδιά, υπογραφές, ομάδες και σουίτες μαζί και ότι το επίπεδο μηδέν επιτρέπει ό,τι ελέγχει η επιστροφή κλήσης. Αυτό είναι το εύρος αυτού που αλλάξατε και αυτή είναι η πρόταση που παραθέτετε όταν κάποιος ρωτά αν η διόρθωση ήταν στενή.
Η παράδοση που αντέχει σε έλεγχο λέει ποια πολιτική απέρριψε ποια είσοδο, τι άλλαξε και τι παραμένει αποδεκτό ως αποτέλεσμα. Το «Λειτουργεί με SECLEVEL=0» είναι παρατήρηση για μία σύνδεση, όχι αξιολόγηση ασφαλείας της ανάπτυξης.