Το OpenVPN λέει ότι το ncp-disable είναι άγνωστο: τι το αντικατέστησε;
Το ncp-disable ποτέ δεν σήμαινε απενεργοποίηση της κρυπτογράφησης και η 2.6 αφαίρεσε την επιλογή. Βρείτε ποιο δυαδικό παρήγαγε το σφάλμα και διορθώστε την πολιτική data-cipher και στις δύο πλευρές.
Ο πελάτης αρνείται να ξεκινήσει με σφάλμα επιλογών που αναφέρει το ncp-disable, ενώ το προφίλ λειτουργούσε στο προηγούμενο μηχάνημα. Το μήνυμα δεν σημαίνει ότι η επιλογή είναι ορθογραφικά λάθος ή ότι η κρυπτογράφηση έχει σπάσει. Σημαίνει ότι το δυαδικό μπροστά σας δεν γνωρίζει καθόλου την οδηγία, και γι' αυτό υπάρχουν δύο πολύ διαφορετικοί λόγοι. Ποιος ισχύει καθορίζει αν θα επεξεργαστείτε το προφίλ ή θα αλλάξετε τον πελάτη.
Το σφάλμα μπορεί να προέρχεται από νεότερο δυαδικό
Ένα σφάλμα μη αναγνωρισμένης επιλογής αφορά τον αναλυτή, όχι τη σήραγγα. Το OpenVPN 2.4 πρόσθεσε διαπραγματεύσιμες παραμέτρους κρυπτογράφησης, το 2.5 κήρυξε παρωχημένο τον διακόπτη που τις απενεργοποιούσε και το 2.6 τον αφαίρεσε εντελώς. Επομένως ένα προφίλ γραμμένο για 2.3 ή 2.4 αποτυγχάνει σε τρέχοντα πελάτη, ακόμη και αν τίποτα στο αρχείο δεν άλλαξε. Η έκδοση που διαμαρτύρεται είναι νεότερη, όχι παλαιότερη.
Βρείτε ποιο εκτελέσιμο παρήγαγε το μήνυμα πριν επεξεργαστείτε οτιδήποτε. Ένας πελάτης επιφάνειας εργασίας φέρνει τη δική του μηχανή, ενώ ένα χωριστά εγκατεστημένο δυαδικό γραμμής εντολών έχει τη δική του έκδοση. Τα δύο μπορούν να διαφωνούν στο ίδιο μηχάνημα.
Το openvpn --version το ξεκαθαρίζει για το δυαδικό που δοκιμάζετε. Ένας πελάτης GUI μπορεί να μην εκθέτει αυτή την εντολή, οπότε διαβάστε την οθόνη «Σχετικά» ή την έκδοση της ενσωματωμένης βιβλιοθήκης.
Τι έλεγχε στην πραγματικότητα η επιλογή
Η οδηγία απενεργοποιούσε τη διαπραγμάτευση κρυπτογραφικών παραμέτρων, ώστε και τα δύο άκρα να πέφτουν σε παλαιότερη συμπεριφορά επιλογής που καθοδηγούνταν από τη ρύθμιση cipher. Ποτέ δεν απενεργοποίησε την κρυπτογράφηση και ποτέ δεν μετέτρεψε τη σήραγγα σε απλό κείμενο. Το να τη διαβάζετε ως διακόπτη ασφαλείας είναι η πρώτη λάθος στροφή και οδηγεί σε αλλαγές που κάνουν τη σύνδεση χειρότερη αντί καλύτερη.
Μόλις υπάρξει διαπραγμάτευση, το ισοδύναμο ερώτημα είναι ποιους κρυπτογράφους είναι διατεθειμένη να χρησιμοποιήσει κάθε πλευρά. Είναι ζήτημα πολιτικής, και η πολιτική ζει στο data-ciphers από την 2.5 και μετά.
Το παλαιότερο όνομα ncp-ciphers ανήκει στην 2.4. Η ανάμιξη των δύο ονομάτων μεταξύ των πλευρών είναι συχνή πηγή μονόπλευρων αποτυχιών διαπραγμάτευσης. Ένα προφίλ που φέρει και τα δύο είναι προφίλ που επεξεργάστηκαν δύο άνθρωποι σε διαφορετικές στιγμές.
Αντικαταστήστε την πολιτική, όχι την ορθογραφία
Ορίστε το data-ciphers και στις δύο πλευρές με μια επιδιωκόμενη κοινή επιλογή και κρατήστε τη λίστα αρκετά σύντομη ώστε ένας ελεγκτής να μπορεί να τη σκεφτεί. Η αλλαγή μιας αυθαίρετης γραμμής δεν αποδεικνύει τίποτα· το αποτέλεσμα εξαρτάται από την τομή των δύο λιστών και από το τι υποστηρίζει το στοίβαγμα TLS. Επιβεβαιώστε ότι οι πλευρές συμφωνούν διαβάζοντας το διαπραγματευμένο αποτέλεσμα αντί για τη διαμόρφωση. Έπειτα γράψτε τις δύο λίστες στο αρχείο ανάπτυξης ώστε η επόμενη αλλαγή να ξεκινά από γνωστή κατάσταση.
Ενημερώστε το προφίλ μέσω όποιου το κατέχει. Η προσθήκη μιας επιλογής αγνόησης για να κρύψει μια παρωχημένη οδηγία αφήνει το ζήτημα πολιτικής αναπάντητο.
Αν μια παλαιότερη πλευρά χρειάζεται πραγματικά χειρισμό συμβατότητας, περιορίστε τον σε εκείνη την ανάπτυξη. Η επαναφορά παρωχημένης συμπεριφοράς σε παγκόσμιο επίπεδο δεν είναι προϋπόθεση για τη σύνδεση σύγχρονων πλευρών. Η εξαίρεση πρέπει να ονομάζει την πλευρά για την οποία υπάρχει.
Δύο γραμμές που μοιάζουν με λίστα κρυπτογράφων αλλά δεν είναι
Η στοίβαξη δύο γραμμών κρυπτογράφου ούτε αυτή επαναφέρει τη διαπραγμάτευση, και το αποτέλεσμα είναι ένα προφίλ που μοιάζει με λίστα ενώ συμπεριφέρεται ως μία τιμή. Μια γραμμή με AES-256-CBC και η επόμενη με CBC είναι μια συνηθισμένη απόπειρα. Το CBC από μόνο του ονομάζει λειτουργία και όχι αλγόριθμο, οπότε ένας αναλυτής μπορεί να το δεχτεί σε μια θέση και να το απορρίψει στην επόμενη. Οι επαναλαμβανόμενες οδηγίες cipher θέτουν την ίδια επιλογή δύο φορές αντί να συσσωρεύουν υποψηφίους.
Ελέγξτε τα αποδεκτά ονόματα με το openvpn --show-ciphers στο δυαδικό προορισμού αντί να αντιγράψετε μια λίστα από οδηγό γραμμένο για άλλο κλάδο. Η λίστα αλλάζει μεταξύ εκδόσεων. Ένα όνομα έγκυρο σε έναν κλάδο δεν είναι απαραίτητα έγκυρο στον άλλο.
Αν ο στόχος ήταν σύγκριση επιδόσεων, καταγράψτε τους αλγόριθμους και το φόρτο εργασίας. Η μετάβαση σε CBC δεν είναι μέτρηση της απουσίας κρυπτογράφησης.
Ελέγξτε τι διαπραγματεύτηκε πραγματικά η σύνδεση
Σηκώστε μια νέα σύνδεση και διαβάστε τη γραμμή του καναλιού δεδομένων στο αρχείο καταγραφής, που ονομάζει τον κρυπτογράφο σε χρήση. Η σουίτα του καναλιού ελέγχου αποφασίζεται χωριστά, οπότε η επιτρεπόμενη λίστα στο αρχείο δείχνει μόνο τι προσφέρθηκε. Όταν οι δύο πλευρές επέλεξαν κάτι που δεν περιμένατε, οι λίστες είναι το σημείο για να κοιτάξετε και όχι η διεπαφή της σήραγγας. Επιβεβαιώστε το αποτέλεσμα σε δεύτερη σύνδεση μετά από κάθε αλλαγή, γιατί μια επανεκκίνηση μπορεί να επαναχρησιμοποιήσει μια προσωρινά αποθηκευμένη συνεδρία.
Κρατήστε το διαπραγματευμένο αποτέλεσμα στο αρχείο ανάπτυξης δίπλα στην έκδοση του προφίλ. Αυτό είναι το γεγονός που απαντά στην επόμενη ερώτηση για το ποιος κρυπτογράφος προστατεύει πραγματικά την κίνηση.