Ξεκινάτε το Windows Sandbox, ανοίγετε ένα πρόγραμμα περιήγησης μέσα του, και η σελίδα φορτώνεται από την κανονική σας σύνδεση μολονότι ο κεντρικός υπολογιστής ήταν στο VPN ένα λεπτό νωρίτερα. Τίποτα δεν είναι χαλασμένο. Το sandbox παίρνει έναν εικονικό προσαρμογέα δικτύου συνδεδεμένο στον προεπιλεγμένο διακόπτη του κεντρικού υπολογιστή, και το αν η σήραγγα του κεντρικού υπολογιστή καλύπτει αυτή τη διαδρομή είναι ιδιότητα του πελάτη VPN, όχι των Windows.

Τι παίρνει στην πραγματικότητα το sandbox

Το sandbox είναι μια ελαφριά εικονική μηχανή με δικό της προσαρμογέα δικτύου. Ο προσαρμογέας αυτός συνδέεται μέσω του προεπιλεγμένου διακόπτη Hyper-V του κεντρικού υπολογιστή, ο οποίος μεταφράζει την κίνηση του sandbox στην εικονική διεπαφή Ethernet του κεντρικού υπολογιστή προτού αυτή φύγει από τη μηχανή. Αυτή η λεπτομέρεια εξηγεί σχεδόν κάθε σύμπτωμα που αναφέρουν οι άνθρωποι γι’ αυτό.

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

Δύο απαιτήσεις που μοιάζουν με μία

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

Ένας έλεγχος δημόσιας διεύθυνσης δεν απαντά πλήρως σε καμία από τις δύο ερωτήσεις. Το να δείτε την έξοδο του VPN μέσα από το sandbox δείχνει ότι κάποια κίνηση χρησιμοποίησε τη σήραγγα. Δεν λέει τίποτα για το αν επιλύονται τα ιδιωτικά ονόματα ή για το τι συμβαίνει σε αίτημα που ξεκινά όσο η σήραγγα είναι κάτω.

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

Ελέγξτε μέσα από το sandbox

Η μόνη ουσιαστική παρατήρηση έρχεται από τη συνεδρία του ίδιου του sandbox, όχι από τον κεντρικό υπολογιστή. Ανοίξτε εκεί το PowerShell και κοιτάξτε τον προσαρμογέα, την επίλυση ονομάτων και τη διαδρομή προς μια διεύθυνση τεκμηρίωσης:

ipconfig /all
Resolve-DnsName files.corp.example
Test-NetConnection 198.51.100.7 -Port 443
Get-NetRoute -DestinationPrefix 0.0.0.0/0

Η λίστα προσαρμογέων σας δείχνει τη διεύθυνση και την πύλη που έλαβε το sandbox. Διαφορετική πύλη από εκείνη του κεντρικού υπολογιστή είναι φυσιολογική για τον προεπιλεγμένο διακόπτη, γι’ αυτό συγκρίνετε την έξοδο και όχι την πύλη. Η δοκιμή επίλυσης δείχνει αν απαντάται καθόλου ένα ιδιωτικό όνομα, και εδώ συνήθως οι ρυθμίσεις split-horizon αποκλίνουν από τον κεντρικό υπολογιστή. Η γραμμή διαδρομής δείχνει ποια πύλη πιστεύει το sandbox ότι κατέχει την προεπιλεγμένη διαδρομή.

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

Απενεργοποιήστε το δίκτυο όταν το sandbox δεν το χρειάζεται

Για επιθεώρηση εκτός σύνδεσης, ένα προσαρμοσμένο αρχείο ρυθμίσεων μπορεί να αφαιρέσει εντελώς το δίκτυο. Η ρύθμιση είναι ένα μόνο στοιχείο στο έγγραφο ρυθμίσεων:

<Configuration>
  <Networking>Disable</Networking>
</Configuration>

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

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

Σχεδιάστε το όριο πριν παραχωρήσετε οτιδήποτε

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

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

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

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