Γιατί η διαχείριση του ρούτερ σταματά να απαντά μετά από αλλαγή VPN
Μια αλλαγή VPN μπορεί να κόψει τη διαδρομή διαχείρισης του ρούτερ ή να τη διευρύνει σιωπηλά. Ελέγξτε διαδρομή, κανόνα εισόδου και ακροατή πριν εμπιστευτείτε τη σήραγγα.
Αλλάξατε μια διαδρομή ή έναν κανόνα τείχους προστασίας για να δοκιμάσετε μια σήραγγα στο ρούτερ, και τώρα η σελίδα διαχείρισης δεν απαντά από τον φορητό υπολογιστή που λειτουργούσε καλά πριν από δέκα λεπτά. Το αντανακλαστικό είναι να κατηγορήσετε το VPN. Τις περισσότερες φορές η σήραγγα είναι υγιής και χάλασε ένα από τρία άλλα πράγματα: δεν υπάρχει διαδρομή επιστροφής στη διεύθυνση του ίδιου του ρούτερ, μια πολιτική εισόδου απορρίπτει το αίτημα ή μια υπηρεσία ιστού δεν ακούει στη διεύθυνση που καλείτε. Και τα τρία φαίνονται ίδια στο πρόγραμμα περιήγησης, γι' αυτό οι άνθρωποι επανεκκινούν τη σήραγγα για μια ώρα και δεν μαθαίνουν τίποτα.
Ιδού ο μύθος που αξίζει να σκοτώσετε πρώτος: μια σήραγγα που λειτουργεί δεν είναι τρόπος επιστροφής μέσα. Είναι μια νέα σύνδεση δικτύου με τα δικά της ερωτήματα εμπιστοσύνης, και μπορεί να αφαιρέσει σιωπηλά την παλιά σας διαδρομή διαχείρισης ενώ ανοίγει μια νέα που κανείς δεν εξέτασε.
Η σήραγγα ποτέ δεν ήταν η διαδρομή διαχείρισης
Η προώθηση και η είσοδος είναι διαφορετικές δουλειές. «Μπορεί ένας πελάτης να φτάσει το NAS μέσα από τη σήραγγα;» είναι ερώτημα προώθησης για πακέτα που περνούν από το ρούτερ. «Μπορώ να ανοίξω τη θύρα SSH του ρούτερ;» είναι ερώτημα εισόδου για πακέτα που απευθύνονται στο ίδιο το ρούτερ. Ένας κανόνας διέλευσης γραμμένος για προωθούμενη κίνηση δεν κάνει τίποτα για το δεύτερο, και αυτός είναι ο συνηθέστερος λόγος που μια σήραγγα που μεταφέρει κίνηση άψογα εξακολουθεί να αρνείται τη συνεδρία διαχείρισής σας.
Το αντίστροφο λάθος είναι να εμπιστεύεστε ένα όνομα διεπαφής. Μια σήραγγα κρυπτογραφείται προς τον ομότιμο, όχι προς κάθε υπηρεσία πίσω της, και η λέξη VPN σε μια ετικέτα διεπαφής δεν λέει τίποτα για το ποιες πηγές πρέπει να επιτρέπεται να συνδεθούν.
Επίπεδο ένα: υπάρχει διαδρομή προς τη διεύθυνση του ίδιου του ρούτερ;
Ξεκινήστε στον πελάτη και ρωτήστε τον πυρήνα πού θα πάει το πακέτο. Στο Linux το ip route get 10.6.0.1 εκτυπώνει τη διαδρομή που επιλέχθηκε, τη διεπαφή εξόδου και τη διεύθυνση προέλευσης. Αν αναφέρει την προεπιλεγμένη διαδρομή προς τον πάροχό σας, το πακέτο δεν μπαίνει ποτέ στη σήραγγα, και κανένας κανόνας στο ρούτερ δεν μπορεί να το σώσει.
Η πλευρά της σήραγγας έχει τη δική της εκδοχή του ερωτήματος. Το WireGuard αντιμετωπίζει το AllowedIPs ως πίνακα δρομολόγησης κρυπτοκλειδιών: σε κάθε άκρο δηλώνει ποιες διευθύνσεις προέλευσης μπορεί να χρησιμοποιήσει ένας ομότιμος και ποιοι προορισμοί στέλνονται σε αυτόν τον ομότιμο. Αν η εγγραφή του πελάτη δεν περιλαμβάνει τη διεύθυνση σήραγγας του ρούτερ, ο πελάτης δεν έχει διαδρομή προς αυτήν. Αν η εγγραφή του διακομιστή για αυτόν τον πελάτη δεν καλύπτει τη διεύθυνση σήραγγας του πελάτη, ο διακομιστής απορρίπτει το πακέτο πριν συμβουλευτεί οποιονδήποτε κανόνα τείχους προστασίας.
Επιβεβαιώστε την ακριβή διεύθυνση που περιμένετε να φτάσετε πριν αποσφαλματώσετε την πολιτική. Μια παρωχημένη εγγραφή DNS ή μια προσωρινά αποθηκευμένη εγγραφή γείτονα από πριν την αλλαγή σάς στέλνει σε μια διεύθυνση που το ρούτερ δεν κατείχε ποτέ.
Επίπεδο δύο: η πολιτική εισόδου, όχι η πολιτική προώθησης
Τα τείχη προστασίας αξιολογούν κανόνες στη διεπαφή όπου φτάνει το πακέτο. Στο pfSense και το OPNsense, η καρτέλα διεπαφής και η σειρά κανόνων αποφασίζουν αν επιτρέπεται κίνηση προς τις υπηρεσίες του ίδιου του τείχους προστασίας· ένας κανόνας που αφήνει πελάτες LAN προς το διαδίκτυο δεν είναι κανόνας που επιτρέπει σε έναν ομότιμο της σήραγγας να ανοίξει το web GUI. Στο OpenWrt με firewall4 κάθε ζώνη φέρει πολιτική εισόδου, option input 'ACCEPT' ή 'REJECT', και μια διεπαφή σήραγγας σε ζώνη με είσοδο REJECT θα αρνείται συνδέσεις διαχείρισης ενώ ακόμη προωθεί κίνηση αν η προώθηση επιτρέπεται.
Μην απενεργοποιήσετε τον κανόνα κατά του κλειδώματος για να δουλέψει η νέα διαδρομή. Αυτός ο κανόνας εμποδίζει τη διεύθυνση διαχείρισης LAN να κλειδωθεί από έναν κακό κανόνα· προστατεύει το υποδίκτυο LAN, όχι το υποδίκτυο της σήραγγας που μόλις δημιουργήσατε. Προσθέστε έναν στενό κανόνα για την πηγή του διαχειριστή και αφήστε το δίχτυ ασφαλείας ήσυχο. Η τεκμηρίωση του pfSense για πρόσβαση διαχειριστή εξηγεί πού βρίσκονται αυτά τα στοιχεία ελέγχου.
# on the router: bind addresses and the loaded ruleset
ss -ltnp | grep -E ':(22|80|443)\b' # Linux / OpenWrt
sockstat -4 -l | grep -E ':(22|80|443)\b' # FreeBSD / pfSense
nft list ruleset | grep -A6 'chain input' # firewall4
pfctl -sr | head -40 # pf / pfSense
Επίπεδο τρία: ακούει τίποτα σε αυτή τη διεύθυνση;
Μια υπηρεσία μπορεί να τρέχει και παρ' όλα αυτά να είναι απρόσιτη επειδή δεσμεύτηκε σε μία διεύθυνση. Το uhttpd του OpenWrt κρατά ρητές εγγραφές ακρόασης στο /etc/config/uhttpd, για παράδειγμα list listen_http '0.0.0.0:80'· μια έκδοση που δεσμεύεται μόνο στη διεύθυνση LAN δεν δέχεται τίποτα στη διεύθυνση της σήραγγας, και τα προϊόντα που εκθέτουν ρύθμιση διεπαφής ακρόασης συμπεριφέρονται το ίδιο. Οι εντολές ακρόασης παραπάνω απαντούν σε αυτό άμεσα.
Έπειτα διαχωρίστε την άρνηση από τη σιωπή. Το nc -vz 10.6.0.1 443 που επιστρέφει απορριφθείσα σύνδεση σημαίνει ότι το πακέτο έφτασε στο ρούτερ και κάτι το απέρριψε, είτε κλειστή θύρα είτε ρητός κανόνας απόρριψης. Ένα κόλλημα μέχρι το τέλος χρόνου σημαίνει ότι το πακέτο απορρίφθηκε ή δεν δρομολογήθηκε ποτέ. Αυτή η διάκριση σας λέει ποιο επίπεδο να εξετάσετε στη συνέχεια, και κοστίζει πέντε δευτερόλεπτα.
Μια διεπαφή VPN είναι όριο, όχι διαδρομή ανάκτησης
Η κρυπτογράφηση προστατεύει το σύρμα· δεν λέει τίποτα για το ποιος επιτρέπεται να ανοίξει τη σελίδα διαχείρισης. Μόλις λειτουργήσει η σήραγγα, αντισταθείτε στην παρόρμηση να λύσετε την προσβασιμότητα επιτρέποντας τα πάντα στη διεπαφή της σήραγγας. Δώστε στους διαχειριστές έναν κανόνα δεμένο στη δική τους διεύθυνση σήραγγας ή μια ξεχωριστή σήραγγα μόνο για διαχειριστές, και κρατήστε τους απλούς χρήστες, το NAS, τις κάμερες και τους φορητούς της οικογένειας μακριά από τη θύρα διαχείρισης. Ένας ομότιμος που χρειάζεται κοινή χρήση αρχείων δεν πρέπει να απέχει έναν κανόνα από τη σύνδεση στο ρούτερ.
Ο ρόλος του ρούτερ αλλάζει την απάντηση. Ένα ρούτερ που τερματίζει τη σήραγγα μπορεί νόμιμα να δέχεται διαχειριστές από αυτήν, ενώ ένα ρούτερ που χρησιμοποιεί τη σήραγγα μόνο ως έξοδο στο διαδίκτυο συνήθως δεν πρέπει. Και στις δύο περιπτώσεις η άδεια υποδικτύου δεν είναι η σύνδεση, γι' αυτό κρατήστε ενεργή την ταυτοποίηση λογαριασμού και την ασφάλεια μεταφοράς.
Η αντισταθμιστική κίνηση που κάνουν οι άνθρωποι μετά από ένα κλείδωμα είναι χειρότερη: ενεργοποίηση διαχείρισης μέσω WAN ή προώθηση θύρας στο web GUI. Αυτό μετατρέπει μια σύντομη διακοπή σε μόνιμη έκθεση, και η σελίδα σύνδεσης γίνεται τότε προσβάσιμη σε κάθε σαρωτή του διαδικτύου. Δοκιμάστε και την απαγορευμένη πλευρά, όχι μόνο την επιτρεπόμενη, ώστε ένας ομότιμος που δεν θα έπρεπε να έχει πρόσβαση διαχειριστή να λήγει σε χρονικό όριο ή να απορρίπτεται αντί να λαμβάνει προτροπή σύνδεσης.
Δοκιμάστε και με νέα σύνδεση. Ένα τείχος προστασίας κατάστασης κρατά τις υπάρχουσες ροές στον πίνακα καταστάσεών του, οπότε η συνεδρία SSH που έχετε ήδη ανοιχτή μπορεί να επιβιώσει από μια αλλαγή που μπλοκάρει κάθε νέα σύνδεση. Έτσι ένα κλείδωμα μένει αόρατο μέχρι την επόμενη επανεκκίνηση ή τον επόμενο ύπνο του φορητού.
Ετοιμάστε τον δρόμο της επιστροφής πριν αγγίξετε την πολιτική
Γράψτε τέσσερα πράγματα πριν την πρώτη αλλαγή: πώς θα φτάσετε στη συσκευή αν η σήραγγα πεθάνει, όπως σειριακή κονσόλα, κονσόλα παρόχου ή μηχάνημα στο LAN· πού εξάγεται η τρέχουσα διαμόρφωση· ποιον μεμονωμένο κανόνα ή διαδρομή πρόκειται να τροποποιήσετε· και πώς θα επαναφέρετε ακριβώς αυτό το στοιχείο. Στο OpenWrt το sysupgrade -b /tmp/backup.tar.gz καταγράφει τη διαμόρφωση, και οι αλλαγές μένουν σε εκκρεμότητα μέχρι το uci commit, που σας δίνει φθηνή αναίρεση αν το προσέξετε εγκαίρως. Το pfSense κρατά ιστορικό διαμόρφωσης, και το AutoConfigBackup βοηθά μόνο αν ήταν ήδη ενεργό. Αν το ρούτερ τρέχει σύνολο κανόνων fail-closed, επιβεβαιώστε ότι η διαδρομή συντήρησης που σχεδιάσατε δεν είναι μέσα στην κίνηση που μπλοκάρει αυτός ο κανόνας, και θυμηθείτε ότι μια επανεκκίνηση εφαρμόζει ξανά τους μόνιμους κανόνες αντί να τους καθαρίζει.
Αλλάξτε ένα όριο ανά προσπάθεια και μετά δοκιμάστε από νέα σύνδεση αντί από το κέλυφος που κρατάτε ανοιχτό. Αν η δοκιμή αποτύχει, επαναφέρετε αυτή την αλλαγή πριν αγγίξετε το επόμενο επίπεδο. Η σήραγγα μπορεί να μένει πάνω όλη την ώρα, αλλά το πράσινο εικονίδιο κατάστασής της δεν είναι απόδειξη ότι μπορείτε ακόμη να μπείτε.
Γρήγορος έλεγχος πριν φύγετε:
- Μπορείτε να φτάσετε το ρούτερ από πηγή που δεν εξαρτάται από τον κανόνα που μόλις επεξεργαστήκατε;
- Η πολιτική εισόδου στη διεπαφή της σήραγγας επιτρέπει μόνο την πηγή του διαχειριστή;
- Η υπηρεσία διαχείρισης είναι δεμένη σε διεύθυνση που υπάρχει στη σήραγγα;
- Δοκιμάσατε έναν απαγορευμένο ομότιμο και μια νέα συνεδρία;
- Η επιφάνεια διαχείρισης μέσω WAN είναι ακόμη κλειστή;