Kerberos SSO και VPN σε Mac: συγκρίνετε τις δύο διαδρομές σύνδεσης
Η διαδρομή εισιτηρίων Kerberos και μια συνεδρία ταυτότητας προγράμματος περιήγησης δεν είναι το ίδιο SSO. Παραχωρήστε την επέκταση, αντιστοιχίστε το VPN και δοκιμάστε ολόκληρη την αλυσίδα.
Δύο μηχανισμοί παράγουν το ίδιο φιλικό αποτέλεσμα σε ένα Mac και συμπεριφέρονται εντελώς διαφορετικά κάτω από την επιφάνεια. Ο ένας αποκτά εισιτήρια Kerberos μέσω μιας επέκτασης SSO και τα παραδίδει στις συμμετέχουσες εφαρμογές. Ο άλλος διατηρεί μια συνεδρία προγράμματος περιήγησης με έναν πάροχο ταυτότητας και αφήνει τις διαδικτυακές εφαρμογές να την αποδεχτούν. Διαφέρουν σε αυτό που χρειάζονται στο δίκτυο, στο πόσο διαρκούν τα διαπιστευτήριά τους και στο τι συμβαίνει τη στιγμή που πέφτει η σήραγγα.
Δύο μηχανισμοί, μία οθόνη σύνδεσης
Η διαδρομή με εισιτήρια εξαρτάται από έναν τομέα Kerberos, ένα κέντρο διανομής κλειδιών και ένα ρολόι που συμφωνεί μαζί του. Η διαδρομή του προγράμματος περιήγησης εξαρτάται από έναν προσβάσιμο πάροχο ταυτότητας, ένα cookie ή token και μια εφαρμογή που εμπιστεύεται αυτόν τον εκδότη. Και οι δύο μπορούν να ρυθμιστούν ώστε να ξεκινούν κατά τη σύνδεση, γι' αυτό συγχέονται με την ίδια λειτουργία. Οι εφαρμογές αποφασίζουν ποια από τις δύο δέχονται, και ένα Mac μπορεί νόμιμα να τρέχει και τις δύο ταυτόχρονα.
Συγκρίνετέ τις ρωτώντας τι ελέγχει η εφαρμογή όταν την ανοίγει ένας χρήστης. Μια υπηρεσία αρχείων ενταγμένη στον τομέα Kerberos θέλει ένα εισιτήριο υπηρεσίας, και καμία ποσότητα συνεδρίας προγράμματος περιήγησης δεν θα την ικανοποιήσει. Μια διαδικτυακή εφαρμογή πίσω από έναν σύγχρονο πάροχο ταυτότητας θέλει το token εκείνου του παρόχου και αγνοεί εντελώς το εισιτήριο Kerberos. Μόλις γνωρίζετε ποιος έλεγχος γίνεται, τα ερωτήματα ανάπτυξης γίνονται συγκεκριμένα αντί γενικά.
Τι χρειάζεται η επέκταση Kerberos στο δίκτυο
Ο οδηγός της Apple για την επέκταση Kerberos SSO περιγράφει εγγενή έλεγχο ταυτότητας Active Directory με προληπτική απόκτηση εισιτηρίων, συνδυασμένο με τοπικούς λογαριασμούς αντί για σύνδεση τομέα. Αυτό που δεν μπορεί να κάνει είναι να επινοήσει μια διαδρομή προς τους ελεγκτές τομέα. Το Mac χρειάζεται έναν επιλυτή που απαντά στις εγγραφές υπηρεσίας Kerberos και μια διαδρομή που φτάνει σε αυτές μέσω της εγκεκριμένης σήραγγας. Ένα προφίλ που εγκαθίσταται καθαρά δεν αποδεικνύει τίποτα μέχρι ο τομέας να μπορεί πραγματικά να ανακαλυφθεί από τον πελάτη.
Ελέγξτε την ανακάλυψη πριν ελέγξετε τα διαπιστευτήρια: οι εγγραφές SRV για τον τομέα Kerberos πρέπει να επιλύονται, και οι διευθύνσεις που επιστρέφουν πρέπει να είναι προσβάσιμες μόλις το VPN είναι ενεργό. Ο χρόνος έχει την ίδια σημασία με την προσβασιμότητα, επειδή το Kerberos απορρίπτει αιτήματα από ρολόι που έχει ξεφύγει πέρα από την ανοχή του, και το σφάλμα που παράγει μοιάζει με αποτυχία ελέγχου ταυτότητας. Ένα Mac που δεν μπορεί να φτάσει σε πηγή χρόνου ενώ η σήραγγα είναι κάτω θα αποτύχει ξανά τη στιγμή που επανέρχεται. Διορθώστε την πηγή χρόνου ως μέρος της ανάπτυξης και όχι ως αντίδραση σε περιστατικό.
klist
sudo sntp -sS time.apple.comΤο VPN ανά εφαρμογή καθορίζει αν η επέκταση μπορεί να λειτουργήσει
Μια πλήρης σήραγγα δρομολογεί τα πάντα και κρύβει αυτό το πρόβλημα. Μια ρύθμιση ανά εφαρμογή δρομολογεί μόνο τις εφαρμογές που ονομάζονται στο προφίλ VPN, και η επέκταση SSO είναι η ίδια μια διεργασία που χρειάζεται το δίκτυο για να φέρει εισιτήρια. Αν δεν βρίσκεται στην αντιστοίχιση, η τοπική σύνδεση πετυχαίνει, η σήραγγα ανεβαίνει για το πρόγραμμα περιήγησης και η απόκτηση εισιτηρίων εξακολουθεί να αποτυγχάνει.
Διαβάστε τη ρύθμιση του VPN και καταγράψτε κάθε εφαρμογή που υποτίθεται ότι καλύπτει, έπειτα προσθέστε το στοιχείο SSO μέσω του τεκμηριωμένου μηχανισμού αντιστοίχισης και όχι μαντεύοντας ένα αναγνωριστικό πακέτου. Το να αντιστοιχίσετε τον ορατό πελάτη και όχι το στοιχείο πίσω του είναι η κλασική εκδοχή αυτού του λάθους. Κρατήστε την αντιστοίχιση στο ίδιο διαχειριζόμενο προφίλ με την επέκταση, ώστε μια αλλαγή στο ένα να μην μπορεί να ακυρώσει σιωπηλά το άλλο. Δοκιμάστε με χρήστη που δεν έχει συνδεθεί ποτέ σε αυτό το Mac, επειδή ένα εισιτήριο στην προσωρινή μνήμη μπορεί να κάνει μια χαλασμένη διαδρομή να φαίνεται υγιής, και έπειτα δοκιμάστε ξανά μετά από αλλαγή κωδικού πρόσβασης.
Μια συνεδρία ταυτότητας προγράμματος περιήγησης είναι διαφορετικό συμβόλαιο
Μια συνεδρία προγράμματος περιήγησης δεν έχει τομέα Kerberos, ούτε εισιτήριο υπηρεσίας, ούτε ανοχή ρολογιού με την έννοια του Kerberos. Έχει έναν εκδότη, μια διάρκεια ζωής token και μια διαδρομή ανανέωσης, και οι τρόποι αποτυχίας της είναι ανακατευθύνσεις που δεν ολοκληρώνονται ποτέ και cookies που ένα ιδιωτικό παράθυρο πετά. Το να τη θεωρήσετε αντικαταστάτη της διαδρομής εισιτηρίων είναι ασφαλές μόνο όπου η ίδια η εφαρμογή δέχεται αυτόν τον εκδότη. Το να αντιγράψετε μια απόκριση ελέγχου ταυτότητας από την πύλη VPN σε μια άσχετη υπηρεσία δεν είναι ενσωμάτωση, όσο βολική κι αν φαίνεται η συντόμευση.
Όταν αναπτύσσονται και οι δύο μηχανισμοί, τεκμηριώστε ποιες εφαρμογές χρησιμοποιούν ποιον, επειδή η συζήτηση υποστήριξης εξαρτάται από αυτό. Ένας χρήστης που αναφέρει ότι είναι συνδεδεμένος αλλά δεν μπορεί να ανοίξει έναν κοινόχρηστο φάκελο περιγράφει δύο συστήματα, και η απάντηση είναι ότι η διαδρομή εισιτηρίων δεν έτρεξε ποτέ. Ένας χρήστης που ανοίγει τον κοινόχρηστο φάκελο αλλά όχι την πύλη intranet περιγράφει το αντίστροφο, και το να ονομάσετε τον μηχανισμό στο εισιτήριο γλιτώνει έναν γύρο ερωτήσεων.
Περπατήστε την ακολουθία, όχι τα μέρη
Περπατήστε ολόκληρη την αλυσίδα με έναν συνηθισμένο εγγεγραμμένο λογαριασμό: τοπική σύνδεση, σήραγγα, απόκτηση εισιτηρίου και έπειτα μία πραγματική ενέργεια σε μια υπηρεσία. Επαναλάβετε το αφού επανασυνδεθεί η σήραγγα και μετά από σκόπιμη αλλαγή κωδικού πρόσβασης, επειδή καθεμία από αυτές τις περιπτώσεις ασκεί διαφορετικό μέρος της λογικής διάρκειας ζωής. Το να περνά κάθε στάδιο μόνο του δεν είναι το ίδιο με το να λειτουργεί η αλυσίδα. Η αλυσίδα είναι αυτό που βιώνει ο χρήστης, και αυτό πρέπει να καλύπτει η δοκιμή αποδοχής.
Καταγράψτε τον ιδιοκτήτη του προφίλ, τη μέθοδο ελέγχου ταυτότητας του VPN, τη διαδρομή ανακάλυψης του τομέα και την αντιστοίχιση εφαρμογών της επέκτασης σε ένα σημείο. Αυτή η εγγραφή κάνει τη ροή αναπαραγώγιμη από κάποιον που δεν την έφτιαξε. Έπειτα ελέγξτε την αποτυχία που είναι πιθανότερο να συναντήσετε, ένα ληγμένο εισιτήριο ενώ η σήραγγα είναι κάτω, και επιβεβαιώστε ότι ο πελάτης ανακάμπτει χωρίς επανεκκίνηση, επειδή μια ανάπτυξη που λειτουργεί μόνο από κρύα εκκίνηση δεν έχει τελειώσει.
Σημειώστε και τον ιδιοκτήτη κάθε σταδίου, επειδή ένας τομέας Kerberos που κανείς δεν συντηρεί γίνεται παρωχημένος. Μια αλυσίδα που κανείς δεν μπορεί να περιγράψει είναι μια αλυσίδα που κανείς δεν μπορεί να αποσφαλματώσει.