Το προφίλ που είναι κλειδωμένο στον διακομιστή αποτυγχάνει πίσω από διαμεσολαβητή TLS: ποια γενιά;
Το Access Server 2.8 και 2.9 δημιουργούν τα προφίλ κλειδωμένα στον διακομιστή με διαφορετικό τρόπο. Αποφασίστε ποια διαδρομή σπάει ο διαμεσολαβητής σας πριν αλλάξετε το front end.
Ένας χρήστης μπορεί να συνδεθεί και ένας άλλος όχι, μέσω της ίδιας πύλης, την ίδια ημέρα. Και οι δύο έχουν προφίλ κλειδωμένα στον διακομιστή, και οι δύο είναι στην ίδια έκδοση του Access Server, και η μόνη διαφορά είναι πότε δημιουργήθηκε το προφίλ τους. Αυτό είναι το μοτίβο που αξίζει να αναγνωρίσετε, επειδή το "κλειδωμένο στον διακομιστή" ονομάζει μια πολιτική και όχι μια ακολουθία σύνδεσης. Το Access Server έχει κυκλοφορήσει δύο γενιές αυτού του αντικειμένου, και ένας αντίστροφος διαμεσολαβητής TLS βρίσκεται μπροστά από μία μόνο από τις διαδρομές τους. Τρεις συνθήκες καθορίζουν σε ποιο κλάδο βρίσκεστε.
Δύο γενιές, δύο ακολουθίες σύνδεσης
Στον παλαιότερο σχεδιασμό, που ισχύει έως την 2.8, το εισαγόμενο αρχείο είναι ένα ψευδοπροφίλ. Το OpenVPN Connect το χρησιμοποιεί για έλεγχο ταυτότητας στο web API του Access Server μέσω HTTPS, λαμβάνει ένα προσωρινό προφίλ κλειδωμένο στον χρήστη και ένα διακριτικό συνεδρίας, και μόνο τότε εγκαθιστά το VPN. Δύο μεταφορείς εκτελούνται διαδοχικά, και ο πρώτος είναι ένα συνηθισμένο αίτημα ιστού.
Η μορφή που εισήχθη με την 2.9 δεν εκτελεί αυτή την προετοιμασία ανά σύνδεση. Είναι ένα εγγενές προφίλ που μπορούν να χρησιμοποιήσουν συμβατοί OpenVPN πελάτες, όχι μόνο το OpenVPN Connect. Η λήψη ή η εισαγωγή του μέσω URL μπορεί ακόμη να περιλαμβάνει HTTPS — αυτό είναι ένα βήμα δημοσίευσης, όχι ανάκτηση προσωρινού προφίλ ανά σύνδεση.
| Older server-locked (≤2.8) | Newer server-locked (2.9+) | |
|---|---|---|
| Before the tunnel | Web API call with credentials | Nothing; the profile is already local |
| Client requirement | OpenVPN Connect | Any compatible client |
| What a TLS web proxy can break | The bootstrap, before any VPN attempt | Download only, not the connection |
| Expected HTTP log on connect | A request from the client | Often nothing at all |
Μια αναβάθμιση δεν ξαναγράφει απαραίτητα προφίλ που έχουν ήδη εκδοθεί, οπότε μια τρέχουσα έκδοση διακομιστή μπορεί ακόμη να διανέμει το παλιό αντικείμενο. Η έκδοση του διακομιστή σάς λέει τι είναι δυνατό, όχι τι εισήγαγε αυτός ο χρήστης.
Τρεις συνθήκες που επιλέγουν τον κλάδο σας
Η πρώτη συνθήκη είναι η γενιά του αντικειμένου. Ζητήστε το αρχείο, δείτε πώς παρήχθη, και σημειώστε την έκδοση του πελάτη που το εισήγαγε. Αν δεν μπορείτε να προσδιορίσετε τη γενιά από το αρχείο, ένα νέο προφίλ που εκδόθηκε για δοκιμαστικό λογαριασμό θα σας πει τι παράγει ο διακομιστής σήμερα, που είναι διαφορετική πληροφορία από αυτή που έχει ο χρήστης με την αποτυχία.
Η δεύτερη είναι τι τερματίζει πραγματικά το front end σας. Ένας αντίστροφος διαμεσολαβητής HTTP έβδομου επιπέδου που εκφορτώνει το TLS δεν είναι το ίδιο αντικείμενο με έναν προωθητή TCP τέταρτου επιπέδου, και ούτε ένας προωθητής UDP είναι. Η συνήθης διάταξη του Access Server στη θύρα 443 κάνει τον δαίμονα OpenVPN TCP να αναγνωρίζει την κίνηση του προγράμματος περιήγησης και να τη δίνει στις υπηρεσίες ιστού, οπότε η εισαγωγή ενός άσχετου τερματιστή HTTPS μπροστά δεν διατηρεί τον χειρισμό πρωτοκόλλου αυτού του δαίμονα. Ο κοινός αριθμός 443 δεν κάνει δύο σχεδιασμούς ισοδύναμους.
Η τρίτη είναι πού καταλήγει η αποτυχία. Μια αποτυχία πριν από το VPN και μια αποτυχία του καναλιού ελέγχου φαίνονται παρόμοιες σε έναν πελάτη που λέει μόνο "σύνδεση", αλλά αφήνουν στοιχεία σε διαφορετικά σημεία. Αν παίζει η παλιά μορφή, η προετοιμασία είναι υποψήφια. Αν παίζει η νέα μορφή, ένα κενό αρχείο καταγραφής πρόσβασης ιστού είναι αναμενόμενο και δεν αποδεικνύει τίποτα προς καμία κατεύθυνση.
Όταν το αντικείμενο είναι παλιό: η προετοιμασία αποτυγχάνει πρώτη
Διαβάστε το πραγματικό σφάλμα του πελάτη αντί για την τελική του κατάσταση. Τα ενδιαφέροντα πεδία είναι το σφάλμα HTTPS, η ταυτότητα διακομιστή που περίμενε ο πελάτης, ο προορισμός που πήγε το αίτημα, και αν ολοκληρώθηκε η επικύρωση πιστοποιητικού. Έπειτα αντιπαραβάλτε τα με τα αρχεία καταγραφής της υπηρεσίας ιστού και του διαμεσολαβητή στην πλευρά του διακομιστή.
Το ότι ένα πρόγραμμα περιήγησης φτάνει στη σελίδα σύνδεσης δεν είναι απόδειξη ότι ο έλεγχος ταυτότητας αυτού του πελάτη μέσω API πέτυχε. Είναι διαφορετικά αιτήματα, με διαφορετικές προσδοκίες πιστοποιητικού και συχνά διαφορετικά ονόματα κεντρικών υπολογιστών. Αν η πύλη εξυπηρετείται σωστά και ο πελάτης εξακολουθεί να αποτυγχάνει, η διαφωνία είναι στη διαδρομή προετοιμασίας, όχι στον κωδικό πρόσβασης του χρήστη.
Μην κάνετε τη σύγκριση να περάσει απενεργοποιώντας την επαλήθευση TLS ή χαλαρώνοντας την πολιτική ελέγχου ταυτότητας. Αυτό μετατρέπει μια διαγνώσιμη αναντιστοιχία διαμόρφωσης σε μια διαδρομή που λειτουργεί αλλά δεν επαληθεύεται, και είναι ακριβώς η αλλαγή που μετατρέπει μια προσωρινή δοκιμή σε μόνιμη τρύπα. Η τεκμηρίωση του Access Server για τα προφίλ σύνδεσης περιγράφει και τις δύο γενιές και τη ροή του προσωρινού προφίλ, και είναι η αναφορά που πρέπει να ελέγξετε πριν υποθέσετε ότι φταίει ένας διαμεσολαβητής.
Όταν το αντικείμενο είναι νέο: διαβάστε το κανάλι ελέγχου
Με ένα προφίλ τύπου 2.9, ο πελάτης πηγαίνει κατευθείαν στο εγγενές τελικό σημείο VPN. Ερευνήστε τα τελικά σημεία στο προφίλ, τον μεταφορέα που χρησιμοποιείται, και το σφάλμα του καναλιού ελέγχου. Αν ο πελάτης δεν εκδίδει ποτέ αίτημα HTTP, αυτό συνάδει με τον σχεδιασμό και δεν είναι σύμπτωμα.
Εδώ αλλάζει επίσης μορφή το ερώτημα του διαμεσολαβητή. Μια εκφόρτωση HTTPS δεν μπορεί να σπάσει μια ροή μόνο TCP που δεν βλέπει ποτέ, αλλά μπορεί ακόμη να σπάσει τη λήψη που δημοσιεύει το προφίλ, και ένας προωθητής μόνο TCP δεν θα μεταφέρει καθόλου UDP. Ελέγξτε ποιον μεταφορέα ζητά το προφίλ πριν συμπεράνετε ότι το front end είναι άσχετο.
Η διέλευση TLS για μία μόνο ροή είναι μια στενή διάταξη. Δεν παρέχει προώθηση UDP και δεν αναπαράγει τη δική του συμπεριφορά προώθησης υπηρεσιών του δαίμονα στη θύρα 443. Αν το front end σας κάνει ένα από αυτά, πείτε ποιο, γιατί η θεραπεία διαφέρει.
Θεραπείες που μένουν στενές
Ο λιγότερο παρεμβατικός έλεγχος είναι να δημιουργήσετε ένα νέο υποστηριζόμενο προφίλ για δοκιμαστικό λογαριασμό και να συνδεθείτε μέσω του προβλεπόμενου εγγενούς τελικού σημείου με τις ίδιες απαιτήσεις ελέγχου ταυτότητας. Αν αυτό λειτουργεί και το διατηρημένο παλιό προφίλ δεν λειτουργεί, έχετε διαχωρίσει το αντικείμενο από τον διακομιστή και από τον διαμεσολαβητή σε ένα βήμα.
Η διανομή ενός προφίλ κλειδωμένου στον χρήστη αφαιρεί εντελώς την εξάρτηση από την παλιά προετοιμασία, επειδή δεν υπάρχει ανταλλαγή προσωρινού προφίλ που να μπορεί να αποτύχει. Πρέπει να εκδοθεί για τον προβλεπόμενο χρήστη, ποτέ να μην αντιγραφεί από διαχειριστή, και αλλάζει τι επιτρέπεται να κάνει ο πελάτης, οπότε αντιμετωπίστε το ως απόφαση πολιτικής και όχι ως παράκαμψη.
Έπειτα διορθώστε τη διάταξη δημοσίευσης ώστε να υπάρχει κάθε απαιτούμενη διαδρομή: η διαδρομή ιστού για λήψεις και χρήση της πύλης, και η εγγενής διαδρομή VPN στον μεταφορέα που περιμένουν τα προφίλ. Κρατήστε το έργο του διαμεσολαβητή σε ένα επίπεδο. Μια λειτουργική σήραγγα κλειδωμένη στον χρήστη αποδεικνύει ότι αυτή η διαδρομή λειτουργεί· δεν αποδεικνύει ότι κάθε διάταξη διαμεσολαβητή υποστηρίζει κάθε γενιά, και μια παλιά αποτυχία προετοιμασίας δεν καταδικάζει τη νεότερη μορφή.
- Προσδιορίστε τη γενιά του αντικειμένου πριν αγγίξετε τον διαμεσολαβητή.
- Εξακριβώστε αν η αποτυχία συμβαίνει πριν από τη σήραγγα ή μέσα της.
- Επιβεβαιώστε τι τερματίζει το front end: HTTP, ροή TCP ή UDP.
- Δοκιμάστε ένα νέο εκδοθέν προφίλ στο εγγενές τελικό σημείο με αμετάβλητη πολιτική.