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

Ονομάστε την υπηρεσία πριν ονομάσετε το πρωτόκολλο

Ένα τηλέφωνο γραφείου σε υπηρεσία SIP και μια συσκευή που εκτελεί Wi-Fi Calling του παρόχου δεν μοιράζονται προφίλ δικτύου, και το VoIP ως όρος τείχους προστασίας δεν περιγράφει κανένα από τα δύο. Τα δεδομένα θυρών και προορισμών πρέπει να προέρχονται από τον προμηθευτή ή τον πάροχο που λειτουργεί την υπηρεσία, όχι από μια λίστα θυρών που θυμάται κανείς από άλλο τηλεφωνικό σύστημα. Αυτή είναι η διαφορά ανάμεσα σε έναν κανόνα που προστατεύει μια λειτουργία και σε έναν κανόνα που προστατεύει μια λέξη.

Η αναφορά θυρών υπηρεσίας της Apple απαριθμεί UDP 500 και 4500 για το Wi-Fi Calling, που τυχαίνει να είναι ακριβώς το ζεύγος που απορρίπτουν οι περισσότεροι γενικοί αποκλεισμοί IPsec. Γράψτε το όνομα της λειτουργίας στο αρχείο αλλαγής δίπλα σε αυτές τις θύρες. Προσθέστε την έκδοση ή την ημερομηνία της αναφοράς που χρησιμοποιήσατε, γιατί οι πίνακες των προμηθευτών επεξεργάζονται. Ένας κανόνας που ονομάζει την υπηρεσία για την οποία υπάρχει μπορεί να αναθεωρηθεί· ένας που ονομάζει κατηγορία πρωτοκόλλου δεν μπορεί.

Γράψτε την εξαίρεση ως συμβόλαιο, όχι ως χάρη

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

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

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

Περιορίστε την πηγή ειλικρινά

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

Μια διεύθυνση πηγής ή μια διεύθυνση υλικού δεν αποδεικνύει φυσική συσκευή. Το αν κάποια από τις δύο έχει νόημα εξαρτάται απολύτως από τους άλλους ελέγχους μέσα σε αυτό το τμήμα. Αν το επιχείρημα για τον κανόνα στηρίζεται σε διεύθυνση MAC, ελέγξτε τι εμποδίζει έναν χρήστη να την αλλάξει πριν ο κανόνας κυκλοφορήσει.

Δεχτείτε τι δεν μπορεί να σας πει ένας κανόνας θύρας

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

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

nft add rule inet edge forward ip saddr 10.40.0.0/24 udp dport { 500, 4500 } counter accept
nft add rule inet edge forward udp dport { 500, 4500 } counter drop

Το nftables αξιολογεί με σειρά και σταματά στην πρώτη αντιστοίχιση, οπότε η περιορισμένη αποδοχή πρέπει να βρίσκεται πάνω από τη γενική άρνηση. Αντιστρέψτε τις δύο και η εξαίρεση δεν κάνει τίποτα σιωπηλά.

Επικυρώστε τη λειτουργία και την άρνηση

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

nft -a list chain inet edge forward

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

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