Εξαίρεση UFW για VPN όταν αλλάζει η διεύθυνση του τελικού σημείου
Το kill switch εξακολουθεί να επιτρέπει τον χθεσινό peer ενώ το hostname του VPN επιλύεται αλλού. Ανανεώστε την εξαίρεση UFW ως μία ροή εργασίας με ιδιοκτήτη.
Ο πελάτης προσπαθεί να επανασυνδεθεί και τίποτα δεν φεύγει από το μηχάνημα, παρόλο που το ίδιο προφίλ λειτουργούσε την περασμένη εβδομάδα. Το hostname του τελικού σημείου επιλύεται τώρα σε άλλη διεύθυνση, και η εξαίρεση εξόδου αναφέρει ακόμη την παλιά. Αυτή η μία παρωχημένη άδεια αρκεί για να μετατρέψει ένα λειτουργικό kill switch σε πλήρη διακοπή, και είναι αόρατη σε κάθε ένδειξη κατάστασης που εμφανίζει η επιφάνεια εργασίας. Η επισκευή είναι μια μικρή ροή εργασίας, όχι μια αλλαγή μιας γραμμής.
Η σήραγγα επανασυνδέεται και μετά τίποτα δεν βγαίνει
Ένας κανόνας εξόδου που ονομάζει μια διεύθυνση προορισμού είναι ένα στιγμιότυπο, και οι απαντήσεις DNS δεν είναι. Όταν ο πάροχος περιστρέφει μια διεύθυνση, το πακέτο που στέλνει ο πελάτης προς τον νέο peer δεν ταιριάζει με τίποτα και απορρίπτεται από την προεπιλεγμένη άρνηση. Ο πελάτης αναφέρει τότε λήξη χρόνου, που ακούγεται σαν πρόβλημα διακομιστή και όχι τείχους προστασίας.
Η καθήλωση της διεύθυνσης που επιστρέφει μια δημόσια αναζήτηση κάνει το σήμερα να λειτουργεί και αφήνει το αύριο χαλασμένο. Αυτή είναι μια εφάπαξ αλλαγή, όχι πολιτική συντήρησης.
Περιγράψτε την εξαίρεση που πραγματικά εννοείτε
Ξεκινήστε γράφοντας τις τέσσερις τιμές που χρειάζεται ο κανόνας: το εγκεκριμένο όνομα ή σύνολο διευθύνσεων του τελικού σημείου, τη μεταφορά, τη θύρα προορισμού και τη διεπαφή από την οποία βγαίνει το πακέτο. Και οι τέσσερις είναι μέρος της άδειας, και οποιαδήποτε από αυτές μπορεί να είναι λάθος ενώ ο κανόνας φαίνεται ακόμη εύλογος. Ένας κανόνας που είναι σωστός σε τρεις από αυτές αποτυγχάνει ακριβώς όπως ένας κανόνας που είναι λάθος και στις τέσσερις. Γράψτε τις πριν πληκτρολογήσετε την εντολή, γιατί ένας κανόνας αξίζει όσο η περιγραφή πίσω από αυτόν.
Η παρακάτω εντολή δείχνει τη μορφή για ένα τελικό σημείο IPv4 UDP σε ενσύρματη ζεύξη. Αντικαταστήστε και τις δύο τιμές με εκείνες που επαληθεύσατε ως προς την ανάπτυξη.
sudo ufw allow out on enp3s0 proto udp to 192.0.2.44 port 1194
sudo ufw status verbose
Αυτή η άδεια δεν εξουσιοδοτεί αυθαίρετους προορισμούς στην ίδια θύρα, δεν δημιουργεί ακροατή και δεν καλύπτει το TCP. Η σελίδα εγχειριδίου του UFW περιγράφει πώς η διεύθυνση, η διεπαφή και το πρωτόκολλο περιορίζουν έναν κανόνα, και αυτός ο περιορισμός είναι όλο το νόημα.
Ανανεώστε το ως μία ροή εργασίας
Αντιμετωπίστε την εξαίρεση ως πόρο με ιδιοκτήτη και μετάβαση, όχι ως εντολή που κάποιος θυμάται να εκτελέσει. Πρώτα αποκτήστε έναν υποψήφιο από τον επιλυτή και το απόθεμα τελικών σημείων της ίδιας της ανάπτυξης, και ορίστε σκόπιμα πώς επιλύεται αυτό το όνομα πριν υπάρξει η σήραγγα. Έπειτα επικυρώστε τον υποψήφιο ως προς το προβλεπόμενο πρωτόκολλο, θύρα και οικογένεια διευθύνσεων πριν αγγίξετε το σύνολο κανόνων.
Εγκαταστήστε πρώτα τη νέα στενή άδεια και επιβεβαιώστε ότι φορτώθηκε, γιατί το να ζητάτε από τον πελάτη να χρησιμοποιήσει μια διεύθυνση που το τείχος προστασίας εξακολουθεί να αποκλείει παράγει αποτυχία που μοιάζει με βλάβη διακομιστή. Αφήστε άσχετους κανόνες ανέπαφους κατά την αλλαγή.
Παρατηρήστε τη μετάβαση του πελάτη μέσω της υποστηριζόμενης διαδρομής επανασύνδεσης και επιβεβαιώστε ποια απομακρυσμένη διεύθυνση επέλεξε. Η ενημέρωση μόνο του DNS δεν μετακινεί ένα υπάρχον socket, και μια ρύθμιση επιμονής τελικού σημείου μπορεί να κρατήσει τον πελάτη στον παλιό peer πολύ καιρό αφού αλλάξει η εγγραφή.
Τέλος αποσύρετε σκόπιμα την παρωχημένη άδεια, επιτρέποντας το εγκεκριμένο παράθυρο επικάλυψης όσο μια παλιά συνεδρία είναι ακόμη ενεργή. Η αφαίρεση της παλιάς καταχώρισης πολύ νωρίς παράγει σύντομη διακοπή, ενώ το να την αφήσετε για πάντα αφήνει μια άδεια που κανείς δεν μπορεί να εξηγήσει.
Αποσύρετε σκόπιμα την παλιά άδεια
Η αφαίρεση είναι εκεί όπου βρίσκεται το μεγαλύτερο μέρος του κινδύνου, γιατί ο παλιός κανόνας είναι το μόνο πράγμα που λειτουργεί αυτή τη στιγμή. Αν η εγκατάσταση του υποψηφίου απέτυχε, μην προχωρήσετε και μην διαγράψετε την καταχώριση που εξακολουθεί να μεταφέρει κίνηση. Αν η ίδια η αφαίρεση αποτύχει, καταγράψτε την παρωχημένη άδεια ως παρωχημένη αντί να δηλώσετε την πολιτική ενημερωμένη.
Επαναλάβετε ολόκληρη την επισκόπηση όταν η ζεύξη αλλάζει από Ethernet σε Wi-Fi, όταν αλλάζει η μεταφορά ή όταν μια υπηρεσία περιστρέφεται σε πολλές διευθύνσεις. Ένας κανόνας ειδικός για διεπαφή υποτίθεται ότι σταματά να ταιριάζει μετά από αλλαγή δικτύου, και αυτή η συμπεριφορά είναι σωστή ακόμη και αν μοιάζει με οπισθοδρόμηση.
Στη συνέχεια αποδείξτε το συμβόλαιο με αβλαβή κίνηση. Το εγκεκριμένο τελικό σημείο πρέπει να είναι προσβάσιμο κατά τη ρύθμιση, η προστατευμένη εφαρμογή πρέπει να λειτουργεί μόλις συνδεθεί, και η άσχετη άμεση κίνηση πρέπει να παραμένει αποκλεισμένη κατά τη διάρκεια μιας διακοπής. Συμπεριλάβετε και τις δύο οικογένειες διευθύνσεων και μία σκόπιμα αποτυχημένη προσπάθεια ενημέρωσης, γιατί μια σύνδεση που πετυχαίνει μετά από μία μόνο αλλαγή καθηλωμένης διεύθυνσης δεν αποδεικνύει καμία από αυτές τις περιπτώσεις.