Πρόσβαση σε σταθμό εργασίας πίσω από NAT χωρίς προώθηση θύρας
Ένας σταθμός εργασίας χωρίς εισερχόμενη θύρα παραμένει προσβάσιμος μέσω κόμβου, αναμεταδότη ή μεσολαβητή εφαρμογών. Συγκρίνετε τι εγγυάται κάθε σχεδιασμός πριν επιλέξετε έναν.
Δύο άκρα πίσω από το NAT του παρόχου και ένας κλειδωμένος δρομολογητής γραφείου δεν αφήνουν καμία εισερχόμενη θύρα για προώθηση, και το αντανακλαστικό είναι να ζητήσουμε μία ούτως ή άλλως. Το καλύτερο ερώτημα είναι ποια πλευρά μπορεί να καλέσει προς τα έξω και ποια προσβάσιμη υπηρεσία επιτρέπεται να μεταφέρει την κίνηση. Τέσσερις σχεδιασμοί απαντούν σε αυτό το ερώτημα διαφορετικά και αποτυγχάνουν με διαφορετικούς τρόπους όταν μια διαδρομή μπλοκάρεται. Η επιλογή μεταξύ τους είναι σύγκριση εγγυήσεων, όχι ονομάτων πρωτοκόλλων.
Τέσσερις σχεδιασμοί, τέσσερις διαφορετικές υποσχέσεις
Ο πίνακας παρακάτω είναι η σύντομη εκδοχή. Διαβάστε τη μεσαία στήλη ως την υπόσχεση που μπορείτε να δοκιμάσετε και τη δεξιά στήλη ως την υπόσχεση που δεν έδωσε κανείς.
| Design | Who initiates | Promise you get | Promise you do not get |
|---|---|---|---|
| Routed VPN hub | Both ends, outbound to the hub | A routed path to permitted prefixes | Access to services no policy allows |
| Peer traversal with ICE | Both peers to a rendezvous service | A path tested between the two peers | A direct path through every NAT |
| TURN relay | Client outbound to a relay | Transport that survives symmetric NAT | Peer discovery or a usable directory |
| Application broker | Workstation outbound to a broker | One audited application session | Subnet-wide reachability |
Ποια γραμμή ισχύει εξαρτάται από την εργασία και όχι από την προτίμηση. Μία συνεδρία απομακρυσμένης επιφάνειας εργασίας, ένα διαχειριστικό κέλυφος και πρόσβαση σε ολόκληρο ένα ιδιωτικό υποδίκτυο είναι τρεις απαιτήσεις που δεν χρειάζονται το ίδιο σημείο εισόδου, ακόμη και όταν τυχαίνει να αφορούν το ίδιο μηχάνημα.
Ένας κόμβος αλλάζει ποιος καλεί προς τα έξω, όχι τι επιτρέπεται
Σε σχεδιασμό δρομολογημένου κόμβου, ο απομακρυσμένος φορητός υπολογιστής και ο σταθμός εργασίας, ή η πύλη της τοποθεσίας μπροστά του, ανοίγουν καθένα μια εξερχόμενη σήραγγα προς μια υπηρεσία που μπορούν να φτάσουν και τα δύο. Τίποτα δεν δέχεται μη ζητημένη σύνδεση στον δρομολογητή του σταθμού εργασίας, και γι’ αυτό ακριβώς ο σχεδιασμός επιβιώνει πίσω από NAT και λειτουργεί ακόμη και όταν η τοποθεσία δεν έχει στατική διεύθυνση. Έπειτα ο κόμβος δρομολογεί την κίνηση ανάμεσα στις δύο εσωτερικές διευθύνσεις σύμφωνα με τη δική του πολιτική.
Το κόστος είναι ότι ο κόμβος πρέπει να υπάρχει, να είναι προσβάσιμος από τις δύο πλευρές και να τον λειτουργεί κάποιος. Το φιλτράρισμα εξερχόμενης κίνησης πρέπει να επιτρέπει τη μεταφορά, και ένα δίκτυο που την μπλοκάρει θα ματαιώσει τον σχεδιασμό ακόμη και αν δεν χρειαζόταν προώθηση θύρας.
Το λεπτό σημείο είναι ότι η προσβασιμότητα και η εξουσιοδότηση είναι ξεχωριστές αποφάσεις που λαμβάνονται σε διαφορετικά σημεία. Μια διαδρομή σε ένα πρόθεμα δεν λέει τίποτα για το ποια υπηρεσία στον σταθμό εργασίας επιτρέπεται να χρησιμοποιεί η ταυτότητα, και ένας κανόνας τείχους προστασίας που επιτρέπει τη σήραγγα δεν λέει τίποτα για το αν ο λογαριασμός μπορεί να συνδεθεί. Ρυθμίστε και τα δύο, δοκιμάστε και τα δύο και κρατήστε την απόφαση εξουσιοδότησης στο σύστημα που κατέχει τον πόρο και όχι στον πίνακα δρομολόγησης.
Η διέλευση λειτουργεί μόνο όταν την υλοποιούν και οι δύο στοίβες
Η διέλευση μεταξύ ομότιμων είναι ικανότητα ενός συγκεκριμένου συστήματος, όχι ρύθμιση που βελτιώνει ένα VPN. Το Interactive Connectivity Establishment συγκεντρώνει αρκετές υποψήφιες διευθύνσεις και δοκιμάζει ζεύγη μέχρι ένα να λειτουργήσει: υποψήφιες κεντρικού υπολογιστή στις τοπικές διεπαφές, διακομιστικά ανακλαστικές υποψήφιες που χτίζονται από ό,τι αποκαλύπτει ένα NAT, και αναμεταδιδόμενες υποψήφιες που εκχωρούνται σε έναν αναμεταδότη. Μια ιδιωτική διεύθυνση από μόνη της δεν είναι διαδρομή, επειδή η άλλη πλευρά δεν μπορεί να δρομολογήσει προς αυτήν.
Η περίπτωση αναμετάδοσης αξίζει να γίνει κατανοητή πριν την απορρίψουμε. RFC 8656 περιγράφει το TURN ως πρωτόκολλο στο οποίο ένας πελάτης ζητά από έναν διακομιστή αναμεταδιδόμενη διεύθυνση μεταφοράς και ο διακομιστής προωθεί την κίνηση ανάμεσα σε αυτόν τον πελάτη και τους ομότιμούς του. Επομένως ο αναμεταδότης μεταφέρει τα δεδομένα, κάτι ουσιωδώς διαφορετικό από έναν κατάλογο που μόνο βοηθά τα άκρα να συναντηθούν. Η ανταλλαγή της διεύθυνσης αναμετάδοσης με τον ομότιμο είναι ένα βήμα συντονισμού που πρέπει να εκτελέσει η εφαρμογή.
Αυτό που δεν μπορείτε να υποσχεθείτε είναι μια άμεση διαδρομή. Το συμμετρικό NAT και ορισμένα εταιρικά τείχη προστασίας ματαιώνουν το άνοιγμα οπών, και όταν το κάνουν, το σύστημα είτε υποχωρεί σε αναμεταδότη είτε αποτυγχάνει. Επίσης δεν μπορείτε να συμπεράνετε ότι δύο μεταφρασμένα άκρα δεν θα μπορέσουν ποτέ να μιλήσουν· μια υποστηριζόμενη στοίβα με εφεδρεία αναμετάδοσης υπάρχει ακριβώς επειδή συχνά μπορούν. Αποφασίστε αν μετράει περισσότερο η διαθεσιμότητα ή η αμεσότητα και έπειτα επαληθεύστε ποια διαδρομή επέλεξε στην πράξη η ανάπτυξη αντί να υποθέσετε την ευνοϊκή περίπτωση.
Ένας μεσολαβητής είναι στενότερος από ένα δίκτυο
Όταν η απαίτηση είναι μία εφαρμογή, ένας μεσολαβητής εφαρμογών ή μια αντίστροφη σύνδεση που ξεκινά ο σταθμός εργασίας μπορεί να είναι η μικρότερη απάντηση. Ο σταθμός εργασίας καλεί προς τα έξω έναν μεσολαβητή, ο μεσολαβητής πιστοποιεί τον απομακρυσμένο χρήστη και μεταφέρεται μόνο εκείνη η συνεδρία εφαρμογής. Δεν δημιουργείται διαδρομή προς το υποδίκτυο του σταθμού εργασίας, οπότε μια παραβίαση της απομακρυσμένης συνεδρίας δεν κληρονομεί διαδρομή προς κάθε συσκευή δίπλα της.
Αυτή η στενότητα έχει κόστος: κάθε πρόσθετη εφαρμογή χρειάζεται τη δική της ενσωμάτωση, και ό,τι υποθέτει η εφαρμογή για ένα τοπικό δίκτυο, όπως έναν κοινόχρηστο φάκελο που ανοίγει σε κοντινό διακομιστή, μπορεί να μην είναι προσβάσιμο. Οι μεσολαβητές επίσης συγκεντρώνουν πολιτική και καταγραφή σε ένα σημείο, κάτι χρήσιμο μέχρι αυτό το σημείο να γίνει η διακοπή.
Συγκρίνετε τα όρια εμπιστοσύνης και μετά δοκιμάστε τη διαδρομή
Ένας κόμβος που τερματίζει σήραγγες μπορεί να διαβάσει την κίνηση που δρομολογεί. Ένας αναμεταδότης μπορεί να μεταφέρει μια ανεξάρτητα προστατευμένη ανταλλαγή όταν η εφαρμογή κρυπτογραφεί από άκρο σε άκρο, και ένας μεσολαβητής συνήθως τερματίζει τη συνεδρία που παρουσιάζει. Καθορίστε πού τελειώνει στην πραγματικότητα η προστασία πριν αποφασίσετε ότι δύο σχεδιασμοί είναι ισοδύναμοι επειδή και οι δύο είναι κρυπτογραφημένοι.
Έπειτα ελέγξτε τι μπορεί πραγματικά να φτάσει ο σταθμός εργασίας προς τα έξω, αφού κάθε σχεδιασμός παραπάνω εξαρτάται από αυτό. Εκτελέστε το στον σταθμό εργασίας, αντικαθιστώντας το όνομα κεντρικού υπολογιστή που σκοπεύετε να χρησιμοποιήσετε.
ss -lntup
nc -vz hub.example.com 443
curl -sS -o /dev/null -w "%{http_code}\n" https://hub.example.com
Αποδεχτείτε τον σχεδιασμό μόνο αφού η προβλεπόμενη απομακρυσμένη λειτουργία πετύχει υπό την επιτρεπόμενη ταυτότητα, μια μη εγκεκριμένη ταυτότητα απορριφθεί και η συμπεριφορά όταν η άμεση ή αναμεταδιδόμενη διαδρομή δεν είναι διαθέσιμη είναι γνωστή και τεκμηριωμένη. Συμπεριλάβετε μια επανασύνδεση και το κανονικό πλαίσιο εκκίνησης του σταθμού εργασίας, γιατί μια συνεδρία που ξεκίνησε στο γραφείο μέσω LAN δεν δοκιμάζει τίποτα από ό,τι εξαρτάται η απομακρυσμένη πρόσβαση.