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

Οι δύο ανταλλαγές δεν είναι η ίδια ανταλλαγή

Γράψτε τις πλειάδες και το λάθος γίνεται προφανές. Η θύρα προορισμού του αιτήματος γίνεται θύρα προέλευσης της απάντησης, δηλαδή το αντίθετο από αυτό που φαντάζονται οι περισσότεροι όταν προσθέτουν έναν εισερχόμενο κανόνα για τη θύρα 53:

query:  203.0.113.10:53018 -> 198.51.100.53:53
reply:  198.51.100.53:53 -> 203.0.113.10:53018

Ένας εισερχόμενος κανόνας που απαιτεί θύρα προορισμού 53 περιγράφει κίνηση που απευθύνεται σε έναν ακροατή DNS που τρέχει στον υπολογιστή, και αυτή είναι μια εντελώς διαφορετική υπηρεσία. Αυτές οι διευθύνσεις είναι παραδείγματα τεκμηρίωσης, και η θύρα προέλευσης επιλέγεται από τον πελάτη για κάθε ερώτημα, άρα δεν είναι μια τιμή που μπορείτε να αντιγράψετε σε έναν κανόνα και να περιμένετε να συνεχίσει να λειτουργεί.

Άκρη χωρίς κατάσταση έναντι τείχους προστασίας υπολογιστή με κατάσταση

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

Η σύγκριση έχει σημασία επειδή οι δύο συσκευές αποτυγχάνουν διαφορετικά. Ένα τείχος προστασίας με κατάσταση που αρνείται την απάντηση καταγράφει απόρριψη· μια άκρη χωρίς κατάσταση την αρνείται σιωπηλά, γι' αυτό ο υπολογιστής απλώς λήγει σε χρονικό όριο.

Χτίστε την άδεια γύρω από το πρωτόκολλο, όχι από έναν αριθμό θύρας

Περιορίστε τον κανόνα στις πραγματικές διευθύνσεις του διακομιστή επίλυσης, στον υπολογιστή προορισμού και στην πολιτική θύρας λήψης που υποστηρίζει το προϊόν. Έχετε επίσης κατά νου τη διαδρομή TCP του DNS, γιατί μια μεγάλη απάντηση ή μια υποχώρηση περικοπής μετακινεί την ανταλλαγή σε TCP και ένας κανόνας μόνο για UDP δεν θα την καλύψει. Αν η άκρη υποστηρίζει επιθεώρηση με κατάσταση για μια καθορισμένη ροή, προτιμήστε την από έναν χειρόγραφο κανόνα απάντησης, γιατί η διαδρομή με κατάσταση ακολουθεί αυτόματα τις θύρες που επιλέγει ο πελάτης.

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

Γιατί το να επιτρέπεται οποιαδήποτε θύρα προέλευσης 53 δεν είναι διόρθωση

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

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

Επαληθεύστε στο σωστό όριο, στη σωστή κατεύθυνση

Καταγράψτε στον υπολογιστή και στην άκρη το ίδιο ερώτημα και συγκρίνετε τις πλειάδες αντί για τους μετρητές πακέτων. Ένα ερώτημα ορατό και στις δύο πλευρές χωρίς απάντηση ορατή στην πλευρά του υπολογιστή δείχνει το εισερχόμενο φίλτρο· ένα ερώτημα ορατό μόνο στην πλευρά του υπολογιστή δείχνει τη δρομολόγηση ή τον ίδιο τον διακομιστή επίλυσης. Επαναλάβετε με ερώτημα TCP αν έχετε άδεια μόνο για UDP, γιατί αυτό είναι το κενό που δεν μπορεί να δει η πρώτη δοκιμή.

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

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