Είναι το --key-password του OpenConnect ο κωδικός του λογαριασμού σας VPN;
Το --key-password του OpenConnect ξεκλειδώνει ένα τοπικό ιδιωτικό κλειδί. Ο κωδικός λογαριασμού επαληθεύεται στην πύλη και το ένα δεν αντικαθιστά ποτέ το άλλο.
Διαβάστε το όνομα της επιλογής κατά γράμμα. Ονομάζει ένα κλειδί, και η σύγχυση αρχίζει όταν το αρχείο που ξεκλειδώνεται μπερδεύεται με τον λογαριασμό που επαληθεύεται. Επικολλήστε τον κωδικό λογαριασμού σε αυτή την επιλογή και ο πελάτης θα προσπαθήσει να ανοίξει με αυτόν ένα αρχείο κλειδιού, κάτι που αποτυγχάνει για λόγους που δεν έχουν καμία σχέση με τη σύνδεση VPN.
Το μπερδεμένο μέρος είναι ότι μία μόνο σύνδεση μπορεί εύλογα να χρειάζεται και τα δύο μυστικά. Η επαλήθευση με πιστοποιητικό πελάτη μπορεί να απαιτεί κρυπτογραφημένο κλειδί, και η ίδια πύλη μπορεί να εκτελέσει ανταλλαγή επαλήθευσης χρήστη αφού γίνει δεκτό το πιστοποιητικό. Κανένα από τα δύο μυστικά δεν ικανοποιεί το άλλο στάδιο, και μια αποτυχία στο ένα μοιάζει πολύ, από έξω, με αποτυχία στο άλλο.
Δύο μυστικά, δύο διαφορετικές δουλειές
Διαβάστε τους ρόλους ως πρόσβαση σε αρχείο έναντι άδειας εισόδου στο δίκτυο. Ο κωδικός κλειδιού αποκρυπτογραφεί το ιδιωτικό κλειδί PEM που ορίζεται στο --sslkey, ώστε να μπορεί να παρουσιαστεί το πιστοποιητικό πελάτη TLS. Αυτή η αποκρυπτογράφηση γίνεται τοπικά, μέσα στη διεργασία του πελάτη, και η φράση πρόσβασης δεν ταξιδεύει ποτέ στην πύλη. Αυτό που βλέπει η πύλη είναι το πιστοποιητικό και μια υπογραφή που έγινε με το κλειδί. Το εγχειρίδιο του OpenConnect κρατά το --key-password δίπλα στα --certificate και --sslkey, και σε εκδόσεις που μπορούν να χρησιμοποιήσουν κλειδί σε TPM η ίδια επιλογή φέρει αντ' αυτού τον κωδικό του ριζικού κλειδιού αποθήκευσης.
Ο κωδικός λογαριασμού είναι διαφορετικού είδους. Μπαίνει στην ανταλλαγή επαλήθευσης: μια φόρμα με όνομα χρήστη και κωδικό, ένα διακριτικό, έναν κύκλο SAML ή κάποιον συνδυασμό που διαφημίζει η πύλη. Κάποιες εγκαταστάσεις δεν τον ζητούν καθόλου όταν το πιστοποιητικό είναι ο μόνος παράγοντας, και κάποιες τον ζητούν ακόμη και μετά το πιστοποιητικό, γιατί το πιστοποιητικό αποδεικνύει τη συσκευή ενώ ο λογαριασμός αποδεικνύει το πρόσωπο.
Η ανάμειξη των δύο παράγει παραπλανητικά σφάλματα. Μια πύλη που απορρίπτει μια σύνδεση συνήθως αναφέρει αποτυχία επαλήθευσης, ενώ μια λάθος φράση πρόσβασης κλειδιού συνήθως αποτυγχάνει νωρίτερα, όταν το επίπεδο TLS δεν μπορεί να διαβάσει το αρχείο κλειδιού. Αυτά είναι διαφορετικά στάδια με διαφορετικές διορθώσεις, και τα ονόματα μοιάζουν αρκετά ώστε οι άνθρωποι τα ανταλλάσσουν και μετά κυνηγούν το λάθος αρχείο καταγραφής. Σημειώστε ποια προτροπή εμφανίστηκε πριν αλλάξετε οποιαδήποτε ρύθμιση, γιατί η διατύπωση της προτροπής είναι η φθηνότερη διάγνωση που έχετε.
Πότε χρειάζεται πραγματικά ο κωδικός κλειδιού
Η επιλογή έχει νόημα μόνο όταν υπάρχει κρυπτογραφημένο κλειδί προς ξεκλείδωμα. Αν συνδέεστε με όνομα χρήστη και κωδικό και χωρίς πιστοποιητικό πελάτη, το --key-password δεν έχει πάνω σε τι να δράσει, και η προσθήκη του δεν αλλάζει τίποτα. Αν συνδέεστε με --certificate και --sslkey, η ίδια η μορφή του αρχείου κλειδιού αποφασίζει αν θα ζητηθεί καθόλου φράση πρόσβασης.
Και τα δύο μυστικά σε μία εντολή είναι συνηθισμένα σε διαχειριζόμενα περιβάλλοντα: πιστοποιητικό συσκευής σε κρυπτογραφημένο κλειδί, συν σύνδεση ανά χρήστη. Η σωστή σειρά είναι να αφήσετε τον πελάτη να ζητήσει τοπικά τη φράση πρόσβασης του κλειδιού, να ολοκληρώσετε τη χειραψία του πιστοποιητικού και μετά να χειριστείτε ξεχωριστά την προτροπή λογαριασμού της πύλης. Η προσπάθεια να προσυμπληρωθούν και τα δύο μέσω ενός σεναρίου που επαναχρησιμοποιείται είναι εκεί όπου συνήθως αρχίζει η σύγχυση.
Μια χρήσιμη διάγνωση είναι να δείτε πότε συμβαίνει η αποτυχία. Αν ο πελάτης σταματήσει πριν αρχίσει οποιαδήποτε επαλήθευση δικτύου, υποψιαστείτε το αρχείο κλειδιού, τη μορφή του ή τη φράση πρόσβασης. Αν η συνεδρία TLS έχει εδραιωθεί και στη συνέχεια η πύλη απορρίπτει τον χρήστη, το κλειδί έκανε τη δουλειά του και το πρόβλημα είναι η ανταλλαγή λογαριασμού.
Κρατήστε και τα δύο μυστικά έξω από το ιστορικό του κελύφους
Τα ορίσματα γραμμής εντολών είναι αναγνώσιμα από άλλους τοπικούς χρήστες μέσω του πίνακα διεργασιών και συχνά καταγράφονται στο ιστορικό του κελύφους, σε σενάρια και σε αντίγραφα υποστήριξης. Το OpenConnect μπορεί να διαβάσει τον κωδικό λογαριασμού από την τυπική είσοδο με το --passwd-on-stdin, και η φράση πρόσβασης του κλειδιού μπορεί να προέλθει από διαδραστική προτροπή ή από πράκτορα αντί για όρισμα. Κανένας μηχανισμός δεν κάνει το μυστικό ασφαλές από μόνος του, αλλά και οι δύο το κρατούν έξω από τα πιο εκτεθειμένα σημεία.
Τα αρχεία αξίζουν την ίδια φροντίδα. Ένα σενάριο που γράφει φράση πρόσβασης σε προσωρινό αρχείο θα πρέπει να το δημιουργεί με περιοριστικά δικαιώματα, να το διαγράφει κατά την έξοδο και να αποφεύγει καταλόγους αναγνώσιμους από όλους. Μια φράση πρόσβασης που επιβιώνει της συνεδρίας σε προσωρινό κατάλογο είναι ένα αντίγραφο που ξεχάσατε να κάνετε. Οι μεταβλητές περιβάλλοντος είναι ορατές σε θυγατρικές διεργασίες και συχνά αναπαράγονται από εργαλεία αποσφαλμάτωσης, οπότε δεν είναι δωρεάν αναβάθμιση έναντι των ορισμάτων.
Η διαγνωστική έξοδος είναι η σιωπηλή διαρροή. Τα αρχεία καταγραφής του πελάτη σε υψηλότερη λεπτομέρεια μπορούν να δείξουν σώματα αιτημάτων ή τιμές επιλογών, και ένα αντιγραμμένο αντίγραφο τερματικού είναι εύκολο να επικολληθεί σε ένα δελτίο, οπότε διαβάστε την έξοδο πριν τη μοιραστείτε.
Ένα νεκρό κουμπί επιφάνειας εργασίας είναι άλλη βλάβη
Μια καταχώριση VPN στην επιφάνεια εργασίας που δείχνει ένα περιστρεφόμενο σύμβολο και μετά τίποτα συνήθως δεν είναι καθόλου πρόβλημα επαλήθευσης. Το κουμπί ανήκει σε διαχειριστή δικτύου, σε μικροεφαρμογή κατασκευαστή ή σε πρόσθετο που εκκινεί το OpenConnect για λογαριασμό σας, και ένα συστατικό που λείπει ή ένα μη αναγνώσιμο προφίλ μπορούν να παράγουν ακριβώς αυτό το σύμπτωμα. Βρείτε ποια διεργασία εκκινεί το κουμπί και διαβάστε το σφάλμα της πριν αγγίξετε διαπιστευτήρια.
Είναι δελεαστικό να χαλαρώσετε την επαλήθευση πιστοποιητικού ή να απενεργοποιήσετε έναν έλεγχο όταν το γραφικό περιβάλλον αρνείται να συνδεθεί. Αυτό μετατρέπει μια βλάβη ενσωμάτωσης πελάτη σε υποβάθμιση ασφάλειας και σπάνια διορθώνει το πρόβλημα εκκίνησης. Κρατήστε την επαλήθευση διακομιστή άθικτη, επιβεβαιώστε ότι το προφίλ δείχνει στην προβλεπόμενη πύλη και ελέγξτε ότι ο βοηθός που περιμένει το γραφικό περιβάλλον είναι όντως εγκατεστημένος.
Μια σύντομη λίστα ελέγχου χωρίζει τις περιπτώσεις. Μια τοπική αποτυχία πριν φύγει οποιοδήποτε πακέτο δείχνει το κλειδί ή την εγκατάσταση του πελάτη. Μια απόρριψη από την πύλη μετά τη συνεδρία TLS δείχνει την ανταλλαγή λογαριασμού. Ένα κουμπί που δεν εκκινεί ποτέ τον πελάτη δείχνει την ενσωμάτωση με την επιφάνεια εργασίας. Τρεις διαφορετικές βλάβες, μία από τις οποίες είναι ένας κωδικός που ήσασταν έτοιμοι να επικολλήσετε στο λάθος πεδίο.