Τι μπορεί και τι δεν μπορεί να δει ένα εταιρικό firewall μέσα σε ένα VPN
Ένα firewall μπορεί να μπλοκάρει μια σήραγγα και παρ’ όλα αυτά να μην διαβάζει το εσωτερικό της. Ελέγξτε τι εκθέτει η εξωτερική κεφαλίδα, αν ισχύει επιθεώρηση TLS, και επαληθεύστε την αλυσίδα.
Ο ίδιος φορητός φτάνει στο VPN από το σπίτι και δεν μπορεί να συνδεθεί από το γραφείο, άρα κάποιος διαβάζει την κίνηση. Το μπλοκάρισμα και το διάβασμα είναι ξεχωριστές εξουσίες, και μόνο η δεύτερη χρειάζεται ένα σημείο στη διαδρομή συν ένα πιστοποιητικό που εμπιστεύεται ο πελάτης. Ένα ενδιάμεσο κουτί που πετά τη χειραψία σας δεν έμαθε τίποτα για το τι θα στέλνατε. Το να αποφασίσετε με ποιο από τα δύο έχετε να κάνετε είναι όλη η δουλειά.
Το μπλοκάρισμα και το διάβασμα είναι διαφορετικές εξουσίες
Μια άρνηση είναι φθηνή και ηχηρή: το socket ανοίγει και τίποτα δεν απαντά, ή φτάνει αμέσως ένα reset. Τίποτα από αυτά δεν συνεπάγεται επιθεώρηση, γιατί κανένα ωφέλιμο φορτίο δεν πέρασε το σύρμα.
Το διάβασμα απαιτεί ένα τελικό σημείο που τερματίζει την προστασία, αποδεικνύεται με πιστοποιητικό και ξεκινά μια νέα σύνδεση παραπέρα. Αυτό το σημείο πρέπει να βρίσκεται στη διαδρομή και να το εμπιστεύεται ο πελάτης. Ένα firewall που μόνο προωθεί πακέτα δεν έχει ούτε θέση ούτε διαπιστευτήριο.
Τι χαρίζει το περιτύλιγμα
Κάθε πακέτο σήραγγας έχει ένα εξωτερικό μέρος, και το εξωτερικό πρέπει να είναι δρομολογήσιμο. Αυτό σημαίνει δύο διευθύνσεις, ένα πρωτόκολλο, μια θύρα και ένα μήκος, μαζί με χρονισμό και όγκο. Κάθε δρομολογητής χειρίζεται ήδη αυτά τα πεδία, και ένα NAT ξαναγράφει τη διεύθυνση και τη θύρα για να κρατά συνεπή τον πίνακα αντιστοίχισης. Το ωφέλιμο φορτίο μένει σφραγισμένο, οπότε η παρατήρηση σταματά στο γεγονός ότι υπάρχει σήραγγα ανάμεσα σε δύο hosts.
Ένα όνομα host δεν είναι ανάμεσά τους. Οι ιστότοποι διαρρέουν από άλλες πόρτες, και η πιο φαρδιά είναι το DNS: αν ο φορητός ρωτά ακόμη τον τοπικό resolver, τα ονόματα εμφανίζονται στο φως.
Ο χρονισμός και ο όγκος αξίζουν σεβασμό, χωρίς υπερβολές. Byte ανά λεπτό μπορούν να δείξουν ότι μια μεγάλη μεταφορά ξεκινά στις 14:20· δεν μπορούν να δείξουν ποιο αρχείο κινήθηκε. Αυτό είναι μια πραγματική αποκάλυψη για τη συμπεριφορά, και διαφορετική κατηγορία από το διάβασμα περιεχομένου.
Η υποκλοπή TLS χρειάζεται ρίζα που ήδη εμπιστεύεστε
Μια συσκευή επιθεώρησης δεν σπάει το TLS· το τερματίζει. Ο πελάτης λαμβάνει απάντηση με πιστοποιητικό από ρίζα που ανήκει στον οργανισμό, και μια δεύτερη σύνδεση πηγαίνει στον πραγματικό προορισμό. Ο πελάτης το δέχεται επειδή αυτή η ρίζα βρίσκεται στο κατάστημα εμπιστοσύνης του, γι’ αυτό ένα διαχειριζόμενο φορητό δεν δείχνει προειδοποίηση. Η κρυπτογραφία δεν νικήθηκε ποτέ· το τελικό σημείο μετακινήθηκε.
Γι’ αυτό η διάταξη αφήνει ίχνη. Ο εκδότης στην αλυσίδα που παρουσιάζεται ανήκει στον οργανισμό και όχι σε δημόσια CA, και ο πελάτης μπορεί να το δει χωρίς ειδικά εργαλεία. Μια αλυσίδα που τελειώνει σε εσωτερική ρίζα είναι η υπογραφή της υποκλοπής, όχι βλάβη.
Γιατί ένα κανάλι VPN δεν είναι συνεδρία HTTPS
Ένα κανάλι δεδομένων VPN δεν δίνει στον επιθεωρητή τέτοιο πάτημα. Τα IKEv2 και WireGuard εκτελούν τις δικές τους χειραψίες και χρονοδιαγράμματα κλειδιών, χωρίς TLS για τερματισμό, ενώ το OpenVPN δανείζεται TLS για το κανάλι ελέγχου του σε τροποποιημένη μορφή πριν προστατέψει τα δεδομένα με τον δικό του τρόπο. Ένα proxy φτιαγμένο για HTTPS δεν αναγνωρίζει αυτή τη συνεδρία ως κάτι που μπορεί να αναλύσει.
Μια συσκευή που δεν μπορεί να αναλύσει μια συνεδρία μπορεί παρ’ όλα αυτά να την πετάξει. Γι’ αυτό το μπλοκάρισμα VPN μοιάζει συνήθως με λήξη χρόνου και όχι με προειδοποίηση πιστοποιητικού, και γι’ αυτό μια εξαίρεση δεν αλλάζει τίποτα.
Έλεγχος από το δικό σας μηχάνημα
Ξεκινήστε από την αλυσίδα που παρουσιάζει ο ιστότοπος. Οι λεπτομέρειες ιστοτόπου στον περιηγητή δείχνουν τον εκδότη, και η γραμμή εντολών αναφέρει το ίδιο χωρίς τη σύνοψη:
openssl s_client -connect example.com:443 -servername example.comΈπειτα ξεχωρίστε μια απορριφθείσα χειραψία από την φιλτραρισμένη εσωτερική κίνηση με μετρητές. Καταγράψτε τη θύρα μεταφοράς πριν από οποιονδήποτε κανόνα απόρριψης και διαβάστε τους μετά την απόπειρα:
iptables -I OUTPUT 1 -p udp --dport 1194 -j LOG --log-prefix ovpn-out
iptables -vnL OUTPUT --line-numbersΚαμία γραμμή αρχείου καταγραφής στο εξωτερικό socket σημαίνει ότι η χειραψία δεν έφυγε ποτέ, άρα η διαδρομή αρνείται τη σήραγγα. Μια ολοκληρωμένη χειραψία με αποτυχία μόνο σε μερικούς προορισμούς σημαίνει ότι η σήραγγα δουλεύει και η πολιτική μέσα της όχι. Κανένα από τα δύο αποτελέσματα δεν απαίτησε διάβασμα ενός byte ωφέλιμου φορτίου.
Το διάβασμα που όντως γίνεται βρίσκεται στις άκρες: μια διαχωρισμένη σήραγγα παραδίδει το εσωτερικό HTTPS σε εταιρικό proxy, και ένας συγκεντρωτής που ανήκει στον εργοδότη εκθέτει τα πάντα στην έξοδο. Ό,τι κι αν βρείτε, μην απενεργοποιήσετε την επαλήθευση πιστοποιητικών για να επιβάλετε σύνδεση, γιατί αυτός ο έλεγχος είναι το μόνο που χωρίζει την επιθεώρηση από έναν επιτιθέμενο.