Τα ονόματα χρηστών εμφανίζονται στον νέο κατάλογο, η μετεγκατάσταση κηρύσσεται ολοκληρωμένη και οι συνδέσεις εξακολουθούν να αποτυγχάνουν. Η πύλη χρειάζεται ακόμη υποστηριζόμενη διαδρομή ελέγχου ταυτότητας και σωστό αποτέλεσμα εξουσιοδότησης, και κανένα από τα δύο δεν προκύπτει από έναν κατάλογο που τώρα περιέχει τους λογαριασμούς. Η μετακίνηση backend είναι αλλαγή με κύκλο ζωής, όχι εργασία αντιγραφής. Το παρακάτω σύμπτωμα είναι εκείνο που συνήθως αποκαλύπτει τη διαφορά.

Το σύμπτωμα: οι λογαριασμοί υπάρχουν, οι συνεδρίες όχι

Ο νέος κατάλογος περιέχει κάθε όνομα χρήστη, μια δοκιμαστική σύνδεση πετυχαίνει και ο πελάτης VPN εξακολουθεί να επιστρέφει αποτυχία ελέγχου ταυτότητας. Ο συνδυασμός σημαίνει ότι η ταυτότητα υπάρχει, αλλά η διαδρομή επαλήθευσης που χρησιμοποιεί η πύλη δεν τη φτάνει, ή τη φτάνει με μέθοδο που δεν μπορεί να ικανοποιήσει. Και τα δύο είναι διαμόρφωση, και είναι διαφορετικά προβλήματα.

Το πρώτο είναι καλωδίωση: η πύλη δείχνει σε backend που δεν απαντά, χρησιμοποιεί κοινό μυστικό που η άλλη πλευρά δεν περιμένει ή ζητά χαρακτηριστικό που η νέα υπηρεσία δεν επιστρέφει. Το δεύτερο είναι κρυπτογραφικό: η μέθοδος απαιτεί το αρχικό μυστικό και το νέο αποθετήριο κρατά μόνο τον κατακερματισμό του. Το κείμενο σφάλματος μοιάζει και στις δύο περιπτώσεις, γι' αυτό τα δύο αντιμετωπίζονται ως ένα πρόβλημα.

Ο διαχωρισμός των δύο πριν αγγίξουμε λογαριασμούς εξοικονομεί μια εβδομάδα. Το ένα είναι ζήτημα δρομολόγησης και εμπιστοσύνης, το άλλο απόφαση για επαναφορά διαπιστευτηρίων, και η ανάμειξή τους παράγει αλλαγές που κανείς δεν μπορεί να αποδώσει.

Χαρτογραφήστε την αλυσίδα πριν μετακινήσετε οποιονδήποτε

Γράψτε έξι πράγματα για κάθε προφίλ πελάτη: την εξωτερική μέθοδο ελέγχου ταυτότητας, τυχόν εσωτερική μέθοδο, την ταυτότητα διακομιστή που περιμένει ο πελάτης, τη διεπαφή μεταξύ πύλης και backend, το χαρακτηριστικό που η πύλη αντιστοιχίζει σε συμμετοχή σε ομάδα και την πολιτική πόρων που προκύπτει. Η ανάγνωσή τους με σειρά δείχνει ποιος κρίκος δεν έχει ιδιοκτήτη. Κάθε στοιχείο έχει υπεύθυνο, και η αλλαγή αποτυγχάνει σε εκείνο που κανείς δεν έλεγξε.

LinkQuestion it answers
Client profileWhich method and server name does the client use?
Inner methodIs there a second authentication step?
Server identityWhich certificate or name must the client accept?
Gateway to backendWhich protocol, port and shared secret?
Attribute mappingWhich returned value becomes group membership?
Resource policyWhat the resulting session may reach

Μια συνηθισμένη σύνδεση στον κατάλογο δεν περνά σχεδόν τίποτα από αυτή την αλυσίδα. Αποδεικνύει ότι ο λογαριασμός υπάρχει και ότι ο κωδικός λειτουργεί, δηλαδή ακριβώς το μέρος που δεν αμφισβητήθηκε ποτέ.

Οι κατακερματισμοί δεν ταξιδεύουν μεταξύ μεθόδων

Η συμβατότητα των διαπιστευτηρίων πρέπει να ελεγχθεί μία φορά, πριν μετακινηθεί οποιαδήποτε ομάδα. Το FreeRADIUS περιγράφει καθαρά τον διαχωρισμό: ένας έλεγχος CHAP που εκτελεί ο ίδιος ο διακομιστής απαιτεί τον πραγματικό κωδικό, και το MS-CHAP δέχεται αυτόν τον κωδικό ή κατάλληλο υλικό NT. Ένας κατακερματισμός που δημιουργήθηκε για άλλο σκοπό δεν ταιριάζει σε καμία από τις δύο περιπτώσεις, όσο ισχυρός κι αν είναι.

Η διάκριση αφορά το ποιος υπολογίζει την απόδειξη. Μια μέθοδος που επαληθεύει δεσμευόμενη στον κατάλογο αφήνει τον κατάλογο να ελέγξει ό,τι μπορεί. Μια μέθοδος που επαληθεύει επανυπολογίζοντας μια απάντηση πρόκλησης χρειάζεται το ίδιο το μυστικό, γιατί ο διακομιστής πρέπει να εκτελέσει τον ίδιο υπολογισμό.

Όπου λείπει το υλικό, οι έντιμες επιλογές είναι μια υποστηριζόμενη επαναφορά, επανεγγραφή, εξωτερική υπηρεσία επαλήθευσης ή αλλαγή μεθόδου. Μια προσωρινή εξαγωγή ανακτήσιμων κωδικών δεν είναι σε αυτή τη λίστα. Δημιουργεί ένα αποθετήριο διαπιστευτηρίων σε απλό κείμενο την πιο χαοτική εβδομάδα του έργου και συνήθως επιβιώνει της μετεγκατάστασης.

Πιλοτική ομάδα, μετά αλλαγές κύκλου ζωής

Μετακινήστε μια μικρή ομάδα εγκεκριμένων ταυτοτήτων με τον πραγματικό πελάτη και δοκιμάστε τέσσερα πράγματα: μια νέα σύνδεση, ένα σκόπιμα λανθασμένο διαπιστευτήριο, τους πόρους που η συνεδρία μπορεί να φτάσει και τους πόρους που δεν πρέπει. Ελέγξτε και την ταυτότητα διακομιστή που δέχτηκε ο πελάτης, γιατί μια αναντιστοιχία ονόματος πιστοποιητικού είναι αόρατη μέχρι κάποιος να διαβάσει το αρχείο καταγραφής του πελάτη.

Στη συνέχεια δοκιμάστε τις αλλαγές από τις οποίες εξαρτάται πραγματικά η ανάπτυξη. Αλλάξτε έναν κωδικό, ανανεώστε ή επανεγγράψτε ένα πιστοποιητικό και αφαιρέστε την πρόσβαση από έναν πιλοτικό λογαριασμό. Μετά από καθεμία, επιβεβαιώστε ποιος επαληθευτής χειρίστηκε την προσπάθεια, γιατί μια συνεδρία που δημιουργήθηκε πριν από την αλλαγή μπορεί να συνεχίσει να λειτουργεί και δεν αποδεικνύει τίποτα για την επόμενη σύνδεση.

Διαχωρίστε την παράδοση προφίλ από την αλλαγή ταυτότητας. Κάθε ομάδα χρειάζεται το προβλεπόμενο προφίλ της, την κατάσταση διαπιστευτηρίου ή εγγραφής της, την υπηρεσία ελέγχου ταυτότητας που πρέπει να χρησιμοποιεί και μια επαφή υποστήριξης, και καμία από αυτές τις εγγραφές δεν πρέπει να περιέχει μυστικό.

Αν η παλιά και η νέα διαδρομή συνυπάρχουν, περιορίστε τις με ημερομηνία λήξης. Μια αυτόματη επιστροφή μπορεί να επιτρέψει λογαριασμό με παλιό διαπιστευτήριο αφού ο νέος ιδιοκτήτης αφαίρεσε την πρόσβαση, και αυτό είναι οπισθοδρόμηση ασφάλειας μεταμφιεσμένη σε διαθεσιμότητα.

Η επαναφορά δεν μπορεί να αποκαταστήσει διαπιστευτήριο

Η αναστροφή της αλλαγής αφήνει τον κατάλογο ακριβώς όπως είναι τώρα. Ένας επαναφερμένος κωδικός παραμένει επαναφερμένος, ένα πιστοποιητικό που ανακλήθηκε παραμένει ανακλημένο και μια μορφή διαπιστευτηρίου που άλλαξε παραμένει αλλαγμένη. Αυτά είναι γεγονότα στον κατάλογο, και η πύλη δεν ήταν ποτέ η πηγή τους. Η ανάκτηση πρέπει να οριστεί ανά γεγονός, και τίποτα από αυτά δεν μπορεί να εξαρτάται από την ανακατασκευή μυστικού από ασύμβατο κατακερματισμό.

Κρατήστε μια διαχειριστική διαδρομή που δεν χρησιμοποιεί τη σύνδεση που μετεγκαθίσταται. Όταν ο νέος έλεγχος ταυτότητας αποτυγχάνει, σταματήστε την ομάδα και χρησιμοποιήστε την τεκμηριωμένη διαδρομή ανάκτησής της αντί να αποδυναμώσετε τον έλεγχο ταυτότητας για όλους για να τηρήσετε μια προθεσμία.

Αφού καλυφθούν οι ομάδες, αποσύρετε τα παλιά διαπιστευτήρια, τα προφίλ και τις σχέσεις εμπιστοσύνης του backend μέσω των ιδιοκτητών τους. Επιβεβαιώστε ότι η παλιά διαδρομή δεν επιτρέπει πλέον χρήστες και διατηρήστε την αντιστοίχιση ταυτότητας σε πολιτική χωρίς μυστικά που η υποστήριξη χρειάζεται ακόμη. Μια μετεγκατάσταση ολοκληρώνεται όταν ο νέος κύκλος ζωής λειτουργεί και κανείς δεν μπαίνει πια από την παλιά διαδρομή, όχι όταν η λίστα λογαριασμών φαίνεται πλήρης.

Σχετικά άρθρα