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

Τι μεταφέρει η εξωτερική ροή και τι κρύβει

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

Έτσι, μια καταγραφή στη διεπαφή WAN δείχνει μία συνομιλία, όχι τρεις. Οι εσωτερικές θύρες εμφανίζονται μόνο μετά την αποκαψύκλωση. Γι' αυτό ένα μόνο άνοιγμα τείχους προστασίας μπορεί να μεταφέρει SSH, HTTPS και DNS ταυτόχρονα.

# WAN side: one outer tuple, whatever the inner services are
tcpdump -ni wan0 'udp port 443'
# tunnel side: the inner tuples appear after decapsulation
tcpdump -ni tun0

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

Η προώθηση NAT ανήκει στον ακροατή, όχι στις εφαρμογές

Μια αυτοφιλοξενούμενη πύλη πίσω από NAT IPv4 χρειάζεται μία εισερχόμενη μετάφραση: η δημόσια διεύθυνση και θύρα αντιστοιχίζονται στον ακροατή VPN. Δεν απαιτείται κανόνας για SSH, HTTPS ή DNS μόνο και μόνο επειδή οι χρήστες της σήραγγας φτάνουν σε αυτά. Η δημοσίευση αυτών των θυρών θα εξέθετε υπηρεσίες που η σήραγγα ήδη προστατεύει. Ο κανόνας προώθησης περιγράφει την προσβασιμότητα του ακροατή, όχι μια άδεια για οτιδήποτε μέσα.

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

Η εσωτερική πολιτική είναι όπου αποφασίζεται πραγματικά η πρόσβαση

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

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

dig @10.40.0.53 app.corp.example
nc -vz 10.40.0.10 8443
ssh -p 2222 [email protected]

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

Το WireGuard τραβά την ίδια γραμμή

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

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

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

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