Πού πηγαίνει ο κωδικός στατικής πρόκλησης σε μια σύνδεση OpenVPN
Μια στατική πρόκληση προσθέτει ένα δεύτερο πεδίο δίπλα στον κωδικό πρόσβασης, και ένας πελάτης που την υποστηρίζει μπορεί να συσκευάσει και τα δύο σε ένα κωδικοποιημένο πεδίο. Βρείτε σε ποια περίπτωση βρίσκεστε.
Ο πελάτης εμφανίζει ένα δεύτερο πλαίσιο μετά το πεδίο του κωδικού πρόσβασης, πληκτρολογείτε τον κωδικό από το υλικό token, και η σύνδεση εξακολουθεί να αποτυγχάνει με σφάλμα ταυτοποίησης. Αυτό το πλαίσιο υπάρχει, άρα το προφίλ το ζήτησε. Το αν ο διακομιστής έλαβε ποτέ την τιμή σε μορφή που καταλαβαίνει είναι άλλο ερώτημα, και είναι αυτό που αξίζει να απαντηθεί πρώτο.
Ξεκινήστε από το μήνυμα που εμφανίζει πραγματικά ο πελάτης σας
Ένα προφίλ μπορεί να φέρει οδηγία στατικής πρόκλησης με συμβολοσειρά μηνύματος και σημαία που ελέγχει αν η απάντηση εμφανίζεται καθώς πληκτρολογείτε. Το μήνυμα είναι αυτό που βλέπετε στον διάλογο· η σημαία είναι προτίμηση εμφάνισης για την ίδια είσοδο. Κανένα από τα δύο δεν λέει στον διακομιστή πώς να επαληθεύει οτιδήποτε.
Μετρήστε τα πεδία που σας δόθηκαν πραγματικά. Ένα πεδίο για όνομα χρήστη συν ένα συγκαλυμμένο πεδίο είναι μια συνηθισμένη σύνδεση με κωδικό πρόσβασης χωρίς καμία πρόκληση. Ένα δεύτερο πεδίο που εμφανίζεται μετά τον κωδικό πρόσβασης, με δική του ετικέτα, είναι ο πελάτης που υλοποιεί την αλληλεπίδραση της πρόκλησης.
Αν το δεύτερο πλαίσιο δεν εμφανίζεται ποτέ στον πελάτη που χρησιμοποιείτε, ίσως αυτός ο πελάτης δεν υλοποιεί την αλληλεπίδραση, ή την υλοποιεί μόνο μέσω διαφορετικής διεπαφής, όπως μια διεπαφή διαχείρισης. Ο έλεγχος του πελάτη είναι φθηνότερος από το ξαναγράψιμο του προφίλ, και συνήθως εκεί βρίσκεται στην πραγματικότητα η ασυμφωνία.
Τι πρέπει να υποστηρίζει ήδη ο διακομιστής
Το προφίλ περιγράφει τι πρέπει να συλλέξει ο πελάτης. Δεν ενεργοποιεί επαλήθευση στον διακομιστή, και ένας διακομιστής χωρίς την αντίστοιχη ενσωμάτωση ταυτοποίησης θα λάβει απλώς έναν κωδικό πρόσβασης που δεν αναγνωρίζει. Γι' αυτό ορισμένες εγκαταστάσεις εμφανίζουν το μήνυμα και απορρίπτουν κάθε κωδικό, και γι' αυτό η απάντηση του διαχειριστή για το ποιος μηχανισμός εκτελεί τον έλεγχο είναι αυτή που μετράει.
Ρωτήστε τον διαχειριστή ποιος μηχανισμός εκτελεί τον έλεγχο. Μπορεί να είναι ένα πρόσθετο που μιλά με το PAM, ένα άγκιστρο δέσμης ενεργειών που επαληθεύει την απάντηση σε μια υπηρεσία token, ή μια ενσωμάτωση βασισμένη στη διαχείριση που αναλύει η ίδια τη συσκευασμένη τιμή. Καθένα από αυτά περιμένει ελαφρώς διαφορετική είσοδο.
Εδώ χρειάζεται και βαθμονόμηση των προσδοκιών. Ένα δεύτερο μήνυμα είναι μηχανισμός εισόδου, όχι απόδειξη ότι επιβάλλεται δεύτερος παράγοντας, γιατί η επιβολή γίνεται στην πλευρά του διακομιστή και φαίνεται μόνο όταν δοκιμάσετε λάθος κωδικό.
Το κωδικοποιημένο πεδίο που στέλνει η διεπαφή διαχείρισης
Όταν μια διεπαφή οδηγεί τη σύνδεση μέσω της διεπαφής διαχείρισης, ο κωδικός πρόσβασης και η απάντηση στην πρόκληση συσκευάζονται σε μία τιμή πριν από την υποβολή. Η αναφορά της διεπαφής διαχείρισης τεκμηριώνει τη μορφή: ένα πρόθεμα, και μετά ο κωδικός πρόσβασης και η απάντηση ως ξεχωριστά συστατικά Base64.
Το Base64 είναι κωδικοποίηση, όχι προστασία. Δεν κρύβει τίποτα από όποιον μπορεί να διαβάσει το πεδίο, και δεν μετατρέπει έναν κωδικό μίας χρήσης σε κάτι επαναχρησιμοποιήσιμο. Η συσκευασμένη τιμή αξίζει την ίδια μεταχείριση με έναν κωδικό πρόσβασης: έξω από κοινόχρηστα προφίλ, έξω από γραμμές εντολών και έξω από αρχεία καταγραφής διάγνωσης.
Αυτή η κωδικοποίηση είναι επίσης η πιο συνηθισμένη πηγή σύγχυσης, γιατί τώρα υπάρχουν τρεις μορφές που μοιάζουν και δεν είναι εναλλάξιμες. Ένα απλό αρχείο διαπιστευτηρίων περιέχει κωδικό πρόσβασης. Μια κατά λέξη συνένωση κωδικού και κωδικού πρόκλησης περιέχει διαφορετική συμβολοσειρά. Η συσκευασμένη απάντηση ενός πελάτη διαχείρισης περιέχει τρίτη. Επιβεβαιώστε ποια περιμένει η διαδρομή επαλήθευσής σας πριν αλλάξετε ένα πεδίο μόνο και μόνο επειδή εξαφανίστηκε ένα σφάλμα.
Στατική έναντι δυναμικής: διαφορετικός χρόνος
Μια στατική πρόκληση είναι γνωστή πριν υποβληθεί το πρώτο διαπιστευτήριο, οπότε ο πελάτης μπορεί να τη ζητήσει εκ των προτέρων. Μια δυναμική πρόκληση φτάνει αργότερα, σταλμένη από τη ροή ταυτοποίησης αφού έχει ήδη αρχίσει μια ανταλλαγή, και χρειάζεται πελάτη που μπορεί να χειριστεί αίτημα στη μέση της συνομιλίας.
Η υποστήριξη του ενός δεν σας δίνει το άλλο. Μια οδηγία προφίλ που ρυθμίζει στατικό μήνυμα δεν υλοποιεί πρόκληση που ξεκινά ο διακομιστής, και μια διεπαφή που χειρίζεται δυναμικά αιτήματα μπορεί να μην εμφανίζει ακόμη στατική. Το να διαβάσετε ποια πλευρά ξεκίνησε το αίτημα είναι ο ταχύτερος τρόπος να τα ξεχωρίσετε.
Η μη επιτηρούμενη λειτουργία είναι εκεί όπου αυτό γίνεται ζήτημα σχεδίασης και όχι ζήτημα διεπαφής. Ένας αποθηκευμένος κωδικός δεν είναι διαρκές διαπιστευτήριο εκκίνησης, και μια επανασύνδεση ώρες αργότερα θα χρειαστεί νέα είσοδο, εκτός αν η εγκατάσταση υποστηρίζει διευθέτηση token που ο διαχειριστής έχει ενεργοποιήσει σκόπιμα.
Δοκιμάστε την επιτυχία και την αποτυχία, όχι μόνο τον διάλογο
Εκτελέστε και τα δύο μισά της δοκιμής. Σωστά διαπιστευτήρια με έγκυρη απάντηση πρέπει να πετύχουν· σωστά διαπιστευτήρια με σκόπιμα λάθος απάντηση πρέπει να απορριφθούν. Αν πετύχουν και τα δύο, ο πελάτης συλλέγει είσοδο που τίποτα δεν επαληθεύει, και ο διάλογος έχει εκληφθεί ως έλεγχος. Αυτή η μία δοκιμή πιάνει περισσότερες εγκαταστάσεις από οποιαδήποτε αναθεώρηση προφίλ.
Έπειτα επαναλάβετε τη σύνδεση μετά από επανασύνδεση, με λογαριασμό που δεν είναι εγγεγραμμένος, και μέσω όποιου πελάτη χρησιμοποιούν πραγματικά οι χρήστες σας. Η εμφάνιση του μηνύματος είναι συμπεριφορά πελάτη· η απόρριψη λάθους κωδικού είναι ο διακομιστής που επιβάλλει κάτι.