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

Μία σύνδεση, πολλά πεδία

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

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

Το να γράψει κανείς τις τέσσερις ερωτήσεις πριν από τη δοκιμή εμποδίζει την ανασκόπηση να καταρρεύσει σε μία από αυτές.

Πού βρίσκεται πραγματικά το όριο

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

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

ArrangementEnforced byWho can use the path
Host-wide tunnelThe routing tableAny local process using that table
Per-user connectionProfile permission listOnly the listed accounts
Per-app allowlistThe VPN client itselfOnly the selected applications
Namespace or VMThe interface boundaryOnly processes inside it

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

Συγκρίνετε τέσσερα σημεία επιβολής

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

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

ip route get 10.40.2.10
sudo -u bob ip route get 10.40.2.10
nmcli connection show vpn-work | grep -i permission
sudo nft list ruleset | grep -n skuid

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

Οι κανόνες ταυτόχρονων συνεδριών είναι ξεχωριστός έλεγχος

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

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

Η εικονική μηχανή δεν εξαιρεί κανέναν από αυτόν τον κανόνα και προσθέτει δικό της σχεδιασμό δικτύου και διαπιστευτηρίων.

Δοκιμάστε το πλαίσιο που σας ενδιαφέρει

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

sudo -u bob curl -sS -m 5 https://intranet.internal/health
wg show
ss -tnp | grep -E ':443|:51820'

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

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