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

Ένα υποδίκτυο είναι ετικέτα, όχι κανόνας

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

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

Διαλέξτε τη διαδρομή που μεταφέρει την κίνηση μεταξύ ομοτίμων

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

# peer forwarding inside the daemon: enforce with per-group policy instead of FORWARD rules
client-to-client
# kernel forwarding path: remove the line above, then filter in the forward chain

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

Γράψτε τον πίνακα πριν γράψετε κανόνες

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

SourceDestinationDecision
Group A addressAnother Group A addressAllow
Group A addressA Group B addressDeny
Either groupThe shared internal serviceAllow
Either groupAnything not listedDeny

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

Βάλτε τους κανόνες εκεί όπου επιβιώνουν

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

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

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

Αποδείξτε το από τις δύο πλευρές

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

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

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