VPN πριν τη σύνδεση στο macOS: ξεκλείδωμα, παράθυρο σύνδεσης, συνεδρία
Το ξεκλείδωμα του FileVault, το παράθυρο σύνδεσης και η συνεδρία χρήστη είναι ξεχωριστά στάδια. Ένας πελάτης επιφάνειας εργασίας που ξεκινά στη σύνδεση λύνει μόνο το τελευταίο.
Υπάρχει μια πεποίθηση που κοστίζει σε κόσμο μια εβδομάδα: ότι ένα Mac έχει μία μόνο στιγμή που λέγεται πριν τη σύνδεση και ότι ένας πελάτης VPN είτε ξεκινά τότε είτε όχι. Στην πραγματικότητα το μηχάνημα έχει τουλάχιστον τρεις στιγμές όπου η πρόσβαση στο δίκτυο έχει σημασία, χωρισμένες από το ποιος επιτρέπεται να κρατά διαπιστευτήρια εκείνη τη στιγμή. Ένας πελάτης που ξεκινά από ένα στοιχείο σύνδεσης καλύπτει ακριβώς μία από αυτές, και είναι η τελευταία.
Ο μύθος ότι μια ρύθμιση καλύπτει όλη την εκκίνηση
Διαβάστε ξανά τη σελίδα του προϊόντος και δείτε ποιο στάδιο ονομάζει η λειτουργία. Ένα πλαίσιο με την ένδειξη εκκίνηση στη σύνδεση σημαίνει στοιχείο σύνδεσης, το οποίο εκτελείται αφού υπάρχει συνεδρία χρήστη. Ένα πλαίσιο με την ένδειξη σύνδεση κατά απαίτηση σημαίνει ότι ο πελάτης ανοίγει σύνδεση όταν η κίνηση ταιριάζει με έναν κανόνα, κάτι που απαιτεί ακόμη ο πελάτης και τα διαπιστευτήριά του να είναι διαθέσιμα.
Κανένα από τα δύο δεν φτάνει στη διαδικασία εκκίνησης. Δεν είναι περιορισμός που ξέχασε να αφαιρέσει ο προμηθευτής· είναι αυτό που επιτρέπει το λειτουργικό σύστημα. Πριν ξεκλειδωθεί ο τόμος δεν υπάρχει σύστημα σε λειτουργία από το οποίο να εκκινήσει πελάτης, και μετά την αποσύνδεση τα μυστικά του χρήστη φεύγουν μαζί με τη συνεδρία. Δύο ξεχωριστοί τοίχοι, και κανένας δεν υποχωρεί σε άλλο πλαίσιο.
Μόλις χωρίσετε τα στάδια, η αρχική ερώτηση αλλάζει μορφή. Αντί να ρωτάτε αν το VPN ξεκινά πριν τη σύνδεση, ρωτάτε ποια από τις τρεις συγκεκριμένες στιγμές πρέπει να λειτουργεί, και μετά ανακαλύπτετε ότι καθεμία έχει διαφορετικό ιδιοκτήτη: το στρώμα κρυπτογράφησης, την επέκταση δικτύου ή τη συνεδρία χρήστη.
Τι συμβαίνει στην πραγματικότητα σε κάθε στάδιο
Η εκκίνηση ξεκινά με έναν κρυπτογραφημένο τόμο που πρέπει να ξεκλειδωθεί πριν υπάρξει σύστημα κατάλληλο για οποιαδήποτε γενική εργασία. Αυτό το ξεκλείδωμα γίνεται σε περιορισμένο πλαίσιο με περιορισμένο σύνολο διαπιστευτηρίων, και η Apple τεκμηριώνει καθαρά ότι τα κρυπτογραφημένα δεδομένα παραμένουν απρόσιτα χωρίς έγκυρο ξεκλείδωμα.
Έπειτα έρχεται το παράθυρο σύνδεσης, όπου το σύστημα λειτουργεί αλλά δεν υπάρχει ακόμη συνεδρία χρήστη. Μια επέκταση σε πλαίσιο χρήστη έχει ήδη τερματιστεί αν ο χρήστης αποσυνδέθηκε, και μια καθολική επέκταση συστήματος μπορεί να λειτουργεί ακόμη, αλλά το να λειτουργεί δεν είναι το ίδιο με το να κρατά τα διαπιστευτήρια που χρειάζεται το VPN σας.
Μετά έρχεται η συνεδρία, όπου ένας κανονικός πελάτης μπορεί να διαβάσει το κλειδοθήκη σύνδεσης, να ζητήσει δεύτερο παράγοντα και να εφαρμόσει τις πρωωθούμενες διαδρομές. Οι περισσότερες λειτουργίες που ο κόσμος περιγράφει ως πριν τη σύνδεση είναι στην πραγματικότητα αυτό το στάδιο, ενεργοποιημένο νωρίς στη συνεδρία και όχι πριν από αυτήν.
| Stage | What it can use | What it cannot do |
|---|---|---|
| FileVault unlock | Credentials supplied at the console to unlock the volume | Run an ordinary VPN app or read a user keychain |
| Login window | System context, possibly a joined network | Use a user secret that only exists after login |
| User session | Login keychain, interactive MFA, full client features | Exist before the volume unlocks |
Γιατί ένα launch daemon δεν μπορεί να συνδεθεί για έναν απόντα χρήστη
Τα αυξημένα προνόμια μοιάζουν να πρέπει να λύσουν το πρόβλημα, και δεν το λύνουν. Ένα launch daemon εκτελείται ως διεργασία συστήματος χωρίς συνεδρία χρήστη από πίσω, οπότε δεν υπάρχει κλειδοθήκη για ξεκλείδωμα και κανένας άνθρωπος για να απαντήσει σε ένα αίτημα. Μπορεί να ανοίξει υποδοχέα και να διαβάσει αρχείο· αυτό που δεν μπορεί είναι να γίνει ο χρήστης που κατέχει τα διαπιστευτήρια. Το προνόμιο δεν είναι ταυτότητα, και ακριβώς εδώ τα δύο μπερδεύονται.
Αυτό που χτίζει ο κόσμος σε αυτό το κενό είναι ένα σκριπτ με κωδικό πρόσβασης μέσα, που είναι χειρότερο πρόβλημα από αυτό με το οποίο ξεκίνησαν.
Η ειλικρινής εκδοχή της απαίτησης είναι στενότερη. Αν το μηχάνημα πρέπει να φτάσει σε προστατευμένο πόρο ενώ δεν είναι κανείς παρών, η ταυτότητα που δέχεται αυτός ο πόρος πρέπει να είναι μία που το μηχάνημα μπορεί να κρατήσει χωρίς άνθρωπο: πιστοποιητικό συσκευής, διαπιστευτήριο στο κλειδοθήκη συστήματος ή λογαριασμός του οποίου ο δεύτερος παράγοντας δεν είναι ειδοποίηση σε τηλέφωνο στην τσέπη κάποιου. Σχεδιάστε αυτή την ταυτότητα σκόπιμα, και το ερώτημα του σταδίου συνήθως απαντά μόνο του.
Η λειτουργία των Windows πριν τη σύνδεση δεν μεταφέρεται
Τα Windows έχουν τεκμηριωμένο μηχανισμό πρόσβασης πριν τη σύνδεση για ορισμένα προϊόντα απομακρυσμένης πρόσβασης, και το όνομα ταξιδεύει καλύτερα από την ικανότητα. Μια λειτουργία που περιγράφεται σε οδηγό ανάπτυξης Windows δεν σας λέει τίποτα για το αν ο ίδιος προμηθευτής υλοποιεί ισοδύναμο στο macOS.
Ζητήστε δήλωση που να καλύπτει το υλικό του Mac, την έκδοση macOS, την έκδοση του πελάτη και τη μέθοδο ελέγχου ταυτότητας που χρησιμοποιείτε πραγματικά. Μια γενική δήλωση υποστήριξης δεν αρκεί, γιατί η διαφορά μεταξύ λειτουργίας και μη λειτουργίας βρίσκεται συχνά σε ένα από αυτά τα τέσσερα.
Αν ο προμηθευτής δεν μπορεί να απαντήσει, αυτή είναι η απάντηση. Σχεδιάστε το στάδιο της συνεδρίας και μια εναλλακτική για την περίπτωση χωρίς επίβλεψη, αντί να ανακαλύψετε το κενό κατά την ανάπτυξη.
Τι να ζητήσετε αντί γι' αυτό
Γράψτε την απαίτηση στη γλώσσα των σταδίων. Ποιος πόρος, χρειάζεται από ποιον, σε ποιο πλαίσιο και με ποια αποδεκτή καθυστέρηση όταν η σύνδεση δεν υπάρχει ακόμη;
Αν η απάντηση είναι χρήστης που συνδέεται και μετά χρειάζεται τη σήραγγα, η σύνδεση κατά απαίτηση και ένα στοιχείο εκκίνησης αρκούν και είναι φθηνά. Αν η απάντηση είναι μηχάνημα που επανεκκινεί τη νύχτα και πρέπει να αναφέρει, ο σχεδιασμός χρειάζεται υποστηριζόμενη διαδρομή ξεκλειδώματος δίσκου, ταυτότητα συσκευής και διαδικασία ανάκτησης που λειτουργεί όταν το δίκτυο δεν εμφανιστεί ποτέ. Αν η απάντηση είναι σύνδεση οργανισμού που εξαρτάται από τη σήραγγα, τότε τα σχέδια σύνδεσης, ταυτότητας και VPN πρέπει να χτιστούν μαζί και όχι να αγοραστούν χωριστά.
Η τεκμηρίωση του FileVault από την Apple είναι το σωστό σημείο εκκίνησης για το στάδιο του ξεκλειδώματος. Ό, τι ακολουθεί είναι ζήτημα πελάτη και ταυτότητας που μια δήλωση προμηθευτή πρέπει να λύσει πριν αγοράσετε.