Μπορούν οι διαδρομές DHCP να στείλουν την κίνησή σας έξω από το τούνελ VPN;
Η κρυπτογράφηση προστατεύει τα πακέτα μόνο όταν μπουν στο τούνελ. Η επιλογή διαδρομής καθορίζει ποια μπαίνουν. Ελέγξτε τις διαδρομές DHCP, τους κανόνες και τη διαδρομή που ακολουθούν οι εφαρμογές.
Η κρυπτογράφηση αρχίζει σε ένα σύνορο, και αυτό το σύνορο είναι μια απόφαση δρομολόγησης που λαμβάνει το τελικό σημείο πριν ενθυλακωθεί οποιοδήποτε πακέτο. Ένα δίκτυο που δεν βλέπει ποτέ τα κλειδιά σας μπορεί παρ' όλα αυτά να δώσει στο μηχάνημά σας μια διαδρομή που του αρέσει περισσότερο από εκείνη του ίδιου του τούνελ. Εδώ συγχέονται δύο αποτυχίες: η ανάγνωση πακέτου που βρίσκεται ήδη μέσα στο τούνελ, και η διοχέτευση πακέτου που δεν τοποθετήθηκε ποτέ εκεί.
Η διάκριση μετράει γιατί η δεύτερη αποτυχία είναι φθηνότερη να στηθεί και πολύ ευκολότερη να διαφύγει. Εμφανίζεται ως αίτημα που βγήκε από τη λάθος διεπαφή ενώ ο πελάτης ανέφερε ακόμη υγιή σύνδεση.
Δύο τρόποι με τους οποίους ένα δίκτυο μπορεί να σας επηρεάσει
Ένα πακέτο που φτάνει στο τούνελ έχει το ωφέλιμο φορτίο του κρυμμένο από κάθε άλμα που διασχίζει, και αυτή η προστασία ισχύει ακόμη και όταν η διαδρομή σάς εκπλήξει. Ένα πακέτο που δεν φτάνει ποτέ στο τούνελ είναι ένα συνηθισμένο αίτημα από τη διεύθυνσή σας, σταλμένο όπου έδειχνε ο πίνακας δρομολόγησης. Η πρώτη αποτυχία χρειάζεται σπασμένο κρυπτογράφημα ή παραβιασμένο ομότιμο, ενώ η δεύτερη χρειάζεται μόνο ένα μήνυμα διαμόρφωσης που το μηχάνημά σας επέλεξε να εμπιστευτεί. Αυτή η ασυμμετρία είναι ο λόγος που το μισό της δρομολόγησης αξίζει δικό του έλεγχο.
Ο εξοπλισμός στη διαδρομή δεν χρειάζεται τα κλειδιά σας για να επηρεάσει τη δεύτερη περίπτωση. Χρειάζεται μόνο το τελικό σημείο σας να δεχτεί μια διαδρομή, έναν resolver ή έναν κανόνα πολιτικής που παράγει μία.
expected: app -> tunnel device -> encapsulation -> internet
observed: app -> wlan0 -> plaintext -> internet
Από πού μπορεί να έρθει μια διαδρομή πριν υπάρξει το τούνελ
Το DHCP μοιράζει περισσότερα από μια μίσθωση διεύθυνσης. Η επιλογή αταξικής στατικής διαδρομής μπορεί να μεταφέρει προθέματα προορισμού και επόμενα άλματα, και RFC 3442 εξετάζει τις συνέπειες ασφαλείας μιας λανθασμένης διεύθυνσης δρομολογητή: εκτροπή κίνησης, άρνηση υπηρεσίας ή παρατηρητής εγκατεστημένος στη διαδρομή. Ένας πελάτης που δέχεται αυτές τις διαδρομές πριν σηκωθεί το τούνελ μπορεί να καταλήξει με μια προτιμώμενη διαδρομή που δεν έχει καμία σχέση με τον πάροχό σας.
Τίποτα από αυτά δεν κάνει την έγχυση διαδρομών καθολική. Ο πελάτης πρέπει να δεχτεί την επιλογή, το πρόθεμα πρέπει να καλύπτει την κίνηση που σας ενδιαφέρει, το επιλεγμένο επόμενο άλμα πρέπει να είναι προσβάσιμο, και η πολιτική επιβολής πρέπει να επιτρέπει στο πακέτο να βγει από εκείνη τη διαδρομή. Αφαιρέστε οποιοδήποτε από αυτά και η ίδια απάντηση είναι αβλαβής. Γι' αυτό επίσης δύο μηχανήματα στο ίδιο δίκτυο μπορούν να συμπεριφέρονται διαφορετικά, αφού δεν εκτελούν τον ίδιο πελάτη, την ίδια πολιτική ή ακόμη και την ίδια οικογένεια διευθύνσεων.
Το IPv6 αξίζει δικό του πέρασμα, γιατί οι ανακοινώσεις δρομολογητή μεταφέρουν προεπιλεγμένη διαδρομή μέσω διαφορετικού κώδικα από ό,τι η επιλογή DHCPv4. Ένα τεστ που εξετάζει μόνο τον πίνακα v4 δεν το κάλυψε.
Ελέγξτε τη διαδρομή που επιλέγει πράγματι ο πυρήνας
Οι αναζητήσεις διαδρομής απαντιούνται, οπότε ρωτήστε τις αντί να συμπεράνετε από μια λυχνία κατάστασης. Οι παρακάτω εντολές δείχνουν την επιλεγμένη διαδρομή και πηγή για έναν προορισμό, μαζί με τους κανόνες που μπορούν να υπερισχύσουν του κύριου πίνακα. Εκτελέστε τις όσο είστε συνδεδεμένοι και ξανά μετά από επανασύνδεση, γιατί μια ανανέωση μίσθωσης μπορεί να αλλάξει την απάντηση.
ip route get 203.0.113.10
ip route show table all | grep -E '^(default|203\.0\.113)'
ip rule show
resolvectl query example.com
Διαβάστε την έξοδο για δύο πράγματα: τη διεπαφή που ονομάζεται στη διαδρομή και τη διεύθυνση πηγής που επιλέχθηκε. Μια διαδρομή τούνελ ονομάζει τη συσκευή τούνελ, μια διαρρεύσασα διαδρομή ονομάζει τη φυσική, και η διαφορά είναι ορατή χωρίς αποκρυπτογράφηση τίποτα. Αν η απάντηση αλλάζει μεταξύ εκτελέσεων, κρατήστε και τις δύο εξόδους και συγκρίνετε τους κανόνες που τις παρήγαγαν.
Μην σταματήσετε στην προεπιλεγμένη διαδρομή. Μια εξαίρεση εφαρμογής, ένα πρόθεμα τούνελ διαχωρισμού ή ένας δεύτερος κανόνας πολιτικής μπορούν να μεταφέρουν συγκεκριμένο προορισμό γύρω από το τούνελ ενώ η προεπιλογή εξακολουθεί να δείχνει μέσα.
Αποφασίστε πού πρέπει να ζει η επιβολή
Τρεις συνθήκες καθορίζουν αν η επιβολή στην πλευρά του πελάτη αρκεί ή χρειάζεστε κάτι έξω από αυτήν. Αν ο πελάτης εγκαθιστά και υπερασπίζεται διαδρομές για κάθε οικογένεια διευθύνσεων που χρησιμοποιείτε, ένα τούνελ που κατέχει την προεπιλεγμένη διαδρομή συνήθως αρκεί. Αν το μηχάνημα πρέπει να φτάνει σε τοπικούς πόρους ενώ όλα τα άλλα μένουν μέσα στο τούνελ, αυτές οι εξαιρέσεις πρέπει να απαριθμηθούν και να κατέχονται αντί να αφεθούν σε ό,τι διαφήμισε το δίκτυο πρόσβασης. Και αν η πλατφόρμα μπορεί να δεσμεύσει κίνηση σε διεπαφή ανά εφαρμογή, αυτή η δέσμευση είναι ισχυρότερη εγγύηση από μια διαδρομή που οτιδήποτε μπορεί να υπερισχύσει.
Όποιο κι αν επιλέξετε, γράψτε την απόφαση εκεί όπου ζει η διαμόρφωση. Ένας κανόνας που υπάρχει επειδή κάποιος τον πληκτρολόγησε κατά τη διάρκεια ενός περιστατικού δεν θα επιβιώσει από την επόμενη επανεκκίνηση, οπότε κρατήστε τις τοπικές εξαιρέσεις και τις εξαιρέσεις εκκίνησης στενές και καταγράψτε γιατί υπάρχει καθεμία.
Εκτελέστε ξανά τις εντολές αναζήτησης μετά από κάθε αναβάθμιση πελάτη και κάθε αλλαγή δικτύου, και συγκρίνετε με την τελευταία καταγεγραμμένη έξοδο. Ο πίνακας δρομολόγησης είναι το σύνορο επιβολής, οπότε αντιμετωπίστε τον ως τέτοιο.