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

Ξεκινήστε από τον πελάτη, όχι από τον διακομιστή

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

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

Πρώτο βήμα: επιβεβαιώστε το μπλοκ στις διαδρομές που πιστεύετε ότι καλύπτει

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

curl -m 5 -sS -o /dev/null -w '%{http_code}
' https://example.com
ping -c 2 1.1.1.1
ip route
nft list ruleset   # or: iptables -S

Θέλετε πελάτη που αποτυγχάνει γρήγορα και καθαρά, όχι έναν που κρέμεται μέχρι το όριο του προγράμματος περιήγησης. Το κρέμασμα σημαίνει συνήθως ότι πακέτα πέφτουν σιωπηλά από κανόνα χωρίς απόρριψη, κάτι αποδεκτό, αλλά μπορεί επίσης να σημαίνει ότι ο πελάτης άφησε παρωχημένη προεπιλεγμένη διαδρομή προς νεκρή διεπαφή. Διαβάστε τον πίνακα δρομολόγησης με τη σήραγγα κάτω: προεπιλεγμένη διαδρομή που δείχνει ακόμα στη συσκευή σήραγγας και κανόνας τείχους προστασίας που μπλοκάρει μόνο νέες εξερχόμενες συνδέσεις είναι δύο διαφορετικές καταστάσεις, και μόνο μία είναι fail-closed.

Επαναλάβετε τις ίδιες εντολές με την επιλογή allow-LAN του πελάτη ανοιχτή και κλειστή. Αυτός ο διακόπτης είναι εκεί όπου ζουν οι περισσότερες εκπλήξεις, γιατί ανοίγει ξανά διαδρομή που η υπόλοιπη πολιτική είχε γραφτεί να κλείσει.

Δεύτερο βήμα: ελέγξτε DNS και IPv6 ως ξεχωριστές διαδρομές

Η επίλυση ονομάτων είναι το κενό που επιβιώνει στις περισσότερες υλοποιήσεις, γιατί το ερώτημα μπορεί να φύγει από κάτι άλλο εκτός του επιλυτή συστήματος. Ρωτήστε με εργαλείο που αγνοεί τη ρύθμιση επιλυτή σας και ελέγξτε την πλευρά v6 εκεί:

dig +short example.com
dig +short @1.1.1.1 example.com
curl -6 -m 5 -sS https://example.com -o /dev/null -w '%{http_code}
'
ip -6 route

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

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

Τρίτο βήμα: χωρίστε την έκθεση δικτύου από την έκθεση τελικών σημείων

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

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

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

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

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

Κρατήστε τα δύο προβλήματα χωριστά και δώστε στο καθένα τον δικό του έλεγχο:

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

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

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