Σχεδιάστε την αποκρυπτογραφημένη διαδρομή: πού η συσκευή VPN επιβάλλει πολιτική
Ένα διάγραμμα που σταματά στον κρυπτογραφημένο δέκτη δεν δείχνει την πολιτική που μετράει. Σχεδιάστε την αποκρυπτογραφημένη διαδρομή και συγκρίνετε τις τοποθετήσεις με το τι διασχίζει το αίτημα.
Τα διαγράμματα των προμηθευτών συνήθως σταματούν στον κρυπτογραφημένο δέκτη, επειδή αυτό είναι το τμήμα με δημόσια διεύθυνση. Το ερώτημα που καθορίζει τη στάση ασφαλείας είναι τι συμβαίνει μετά την αποκρυπτογράφηση, όταν το πακέτο γίνεται συνηθισμένο IP και μπορεί να φτάσει σε ό,τι επιτρέπει ο πίνακας δρομολόγησης. Αν κανείς δεν σχεδίασε αυτό το σκέλος, κανείς δεν το έχει στην ευθύνη του. Το runbook παρακάτω το σχεδιάζει πρώτα και μετά συγκρίνει τις τοποθετήσεις με το τι διασχίζει στην πραγματικότητα το αποκρυπτογραφημένο αίτημα.
Σχεδιάστε το πακέτο μετά την αποκρυπτογράφηση, όχι πριν
Η εξωτερική διαδρομή είναι το τμήμα που τεκμηριώνουν οι προμηθευτές: ένα δημόσιο άκρο, μια πολιτική μεταφοράς που δέχεται τη σύνδεση και μια υπηρεσία που την τερματίζει. Η εσωτερική διαδρομή αρχίζει τη στιγμή που το πακέτο χάνει την κεφαλίδα της σήραγγας και από εκεί διέπεται από κανόνες δρομολόγησης και φιλτραρίσματος που δεν έχουν καμία σχέση με τη σήραγγα. Βάλτε και τις δύο στην ίδια σελίδα, γιατί ένα διάγραμμα μόνο με την πρώτη υπονοεί ότι η αποδοχή και η εξουσιοδότηση είναι μία απόφαση. Δεν είναι, και το κενό μεταξύ τους είναι εκεί όπου οι περισσότερες τοποθετήσεις πάνε στραβά.
Γράψτε το εσωτερικό σκέλος ως αριθμημένη ακολουθία με ονομασμένους τύπους συσκευών και όχι ως βέλος. Το βέλος κρύβει αν το αίτημα διασχίζει φίλτρο, και το αν το διασχίζει ή όχι είναι όλο το ερώτημα. Κάθε βήμα παρακάτω ονομάζει τη συσκευή και το σύνολο κανόνων που δρα εκεί, ώστε ένα απόν φίλτρο να εμφανίζεται ως κενό και όχι ως κάτι που υπονοείται από μια γραμμή.
- Απομακρυσμένος πελάτης: η συσκευή χρήστη που δημιουργεί τη σήραγγα.
- Πολιτική άκρης: το σύνολο κανόνων που δέχεται την εξωτερική μεταφορά στον δημόσιο δέκτη.
- Συσκευή τερματισμού: το άκρο VPN που αποκαψυκλώνει και παραδίδει το πακέτο σε συνηθισμένο IP.
- Εσωτερικό φίλτρο: το σύνολο κανόνων προώθησης ή ομάδων ασφαλείας που περιορίζει την κίνηση από πελάτη σε υπηρεσία.
- Κεντρικός υπολογιστής εφαρμογής: η υπηρεσία που λαμβάνει το αποκρυπτογραφημένο αίτημα.
Δύο πολιτικές, δύο ιδιοκτήτες
Η εξωτερική πολιτική απαντά ποιος επιτρέπεται να στήσει σήραγγα και εκφράζεται στους κανόνες που δέχονται τη μεταφορά στην υπηρεσία τερματισμού. Η εσωτερική πολιτική απαντά σε ποια υπηρεσία επιτρέπεται να φτάσει ένας πιστοποιημένος χρήστης και ζει σε κανόνες προώθησης, ομάδες ασφαλείας ή στην ίδια την εφαρμογή. Μία συσκευή μπορεί να φιλοξενεί και τις δύο, και ένα σχέδιο με πολλές συσκευές εξακολουθεί να έχει και τις δύο. Η χωριστή ονομασία τους είναι αυτό που σας επιτρέπει να πείτε ποια απέτυχε όταν ένας χρήστης δεν φτάνει σε μια εφαρμογή.
Τα χειριστήρια αποδοχής, όπως τα πιστοποιητικά και ο έλεγχος πολλαπλών παραγόντων, απαντούν στην ταυτότητα και σε τίποτε άλλο. Δεν αποφασίζουν την τοποθέτηση και δεν παραχωρούν άδεια ανά πόρο μόλις ο χρήστης είναι μέσα.
Η τοποθέτηση αποφασίζει ποιο όριο διασχίζει το αίτημα
Τρεις τοποθετήσεις είναι συνηθισμένες και καθεμία αλλάζει ποιο όριο διασχίζει το αποκρυπτογραφημένο αίτημα. Συγκρίνετέ τις με το τι τερματίζει εκεί, τι μπορεί να δει καθαρό κείμενο, ποιο χειριστήριο μπορεί ακόμη να απορρίψει το αίτημα και τι αποτυγχάνει μαζί με τη συσκευή. Ο πίνακας παρακάτω χρησιμοποιεί αυτές τις τέσσερις στήλες αντί για μια γενική ερώτηση, γιατί κάθε απάντηση είναι ξεχωριστή σχεδιαστική απόφαση.
| Placement | What terminates there | What sees plaintext | Which control can still deny | Failure domain |
|---|---|---|---|---|
| Termination in a dedicated segment | A dedicated VPN endpoint | The endpoint and anything on its segment | The filter between that segment and the application | The segment path can bypass the filter if no rule sits on it |
| Termination on the edge firewall | The firewall's public listener | The firewall, after decapsulation | The firewall's inner rule set | Admission and inspection fail together |
| Termination on the protected LAN | The appliance's LAN leg | Every host on the protected LAN | Only a host control or a downstream gateway | The appliance and the protected hosts fail together |
Η τρίτη τοποθέτηση είναι αυτή που αφαιρεί αθόρυβα την επιβολή, γιατί ένα σκέλος στο προστατευμένο τμήμα δίνει στη συσκευή άμεση διαδρομή που το διάγραμμα μπορεί να μην δείχνει. Ελέγξτε τις διεπαφές και τις διαδρομές αντί για την εικόνα: το ip route get 10.20.5.10 αναφέρει από ποια διεπαφή θα έφευγε το πακέτο και η απάντηση συχνά δεν είναι αυτή που υπέθεσε το σχέδιο. Ο κλασικός ρόλος του τείχους προστασίας να ελέγχει την κίνηση μεταξύ στάσεων, όπως περιγράφεται στοNIST SP 800-41, είναι χρήσιμη δοκιμή εδώ, γιατί μια συσκευή με απεριόριστο σκέλος προς το προστατευμένο δίκτυο δεν ελέγχει και πολλά. Η αναζήτηση διαδρομής είναι πιο έντιμο διάγραμμα από αυτό της παρουσίασης.
Η διαχείριση ανήκει στη δική της ρητά επιτρεπόμενη διαδρομή. Το να επιτρέπεται στους χρήστες να φτάνουν μια εφαρμογή δεν απαιτεί ποτέ να τους επιτρέπεται να φτάνουν τη διεπαφή ελέγχου της συσκευής, και οι δύο άδειες πρέπει να δίνονται από διαφορετικούς κανόνες. Ελέγξτε και τις δύο διαδρομές χωριστά, γιατί ένας κοινός κανόνας κρύβει ποια άνοιξε.
Η μετάφραση αλλάζει τι μπορούν να δουν οι κανόνες παρακάτω
Η μετάφραση πηγής είναι βολική και καταστρέφει πληροφορία. Μετά το masquerade κάθε πελάτης μοιάζει με τη συσκευή, οπότε ένας κανόνας παρακάτω γραμμένος για να ξεχωρίζει χρήστες δεν μπορεί πια να το κάνει. Δεν είναι μόνο πρόβλημα καταγραφής, είναι πρόβλημα πολιτικής: ένας κανόνας με κλειδί τη διεύθυνση πελάτη γίνεται αθόρυβα κανόνας με κλειδί την πύλη. Αν η πολιτική ανά χρήστη μετράει, διατηρήστε την πηγή ή επιβάλετε την πολιτική πριν από τη μετάφραση.
Η διαδρομή απάντησης αξίζει την ίδια εξέταση. Καταγράψτε ποια διαδρομή επιλέγει ο προορισμός για το πακέτο επιστροφής, γιατί μια ασύμμετρη επιστροφή παρακάμπτει τον έλεγχο κατάστασης και παράγει σύνδεση που εγκαθίσταται και μετά κολλάει. Και οι δύο κατευθύνσεις πρέπει να διασχίζουν το όριο που σχεδιάσατε, αλλιώς το όριο είναι διακόσμηση.
sudo tcpdump -ni inside0 host 10.20.5.10
ip route get 10.20.5.10
sudo iptables -t nat -S POSTROUTINGΔεχτείτε μια επιτρεπόμενη και μια απορριφθείσα λειτουργία
Δοκιμάστε από τον πραγματικό απομακρυσμένο πελάτη και όχι από κεντρικό υπολογιστή διαχείρισης, γιατί ο υπολογιστής διαχείρισης συνήθως βρίσκεται κάπου όπου ο χρήστης δεν θα είναι ποτέ. Μία επιτρεπόμενη λειτουργία αποδεικνύει ότι η διαδρομή δουλεύει και μία απορριφθείσα αποδεικνύει ότι η πολιτική κάνει κάτι. Εκτελέστε και τις δύο μετά από κάθε αλλαγή τοποθέτησης και καταγράψτε την ταυτότητα πηγής και τον προορισμό που χρησιμοποιήσατε. Μια δοκιμή που αποδεικνύει μόνο επιτυχία δεν μπορεί να ξεχωρίσει έναν σωστό κανόνα από έναν απόντα.
Μετά δοκιμάστε τις περιπτώσεις που αλλάζουν κατάσταση: επανασύνδεση, συνεδρία που επιβιώνει από εναλλαγή κλειδιού και αστοχία της ίδιας της συσκευής. Συγκρίνετε ενημερώσεις, χωρητικότητα και ανάκτηση ως μέρος της ίδιας διάταξης, γιατί μία συσκευή που κρατά πολλά λογικά χειριστήρια είναι ένα πεδίο αστοχίας με πολλές ετικέτες. Ούτε ένα δεύτερο κουτί είναι ανεξάρτητο όταν ένα κοινό διαχειριστικό διαπιστευτήριο ή μια απεριόριστη διαδρομή νικά το όριο που υποτίθεται ότι δημιουργεί.
Τεκμηριώστε το άκρο, την αποκρυπτογραφημένη διαδρομή και το χειριστήριο που την περιορίζει. Αυτές οι τρεις γραμμές μένουν ουσιαστικές ό,τι όνομα κι αν έχει η υλοποίηση.