Ένας χρήστης VPN των Windows πρέπει να φτάνει στο HTTPS σε έναν διακομιστή και όχι στο SMB στον ίδιο διακομιστή, και μια διαδρομή δεν μπορεί να το εκφράσει. Και τα δύο αιτήματα φέρουν την ίδια διεύθυνση προορισμού, άρα το πρόθεμα που στέλνει την κίνηση στη σήραγγα φέρει και τη ροή που θέλατε να αποκλείσετε. Ο διαχωρισμός τους απαιτεί κανόνα που εξετάζει κάτι λεπτότερο από τον προορισμό.

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

Μια διαδρομή δεν μπορεί να χωρίσει δύο υπηρεσίες σε μία διεύθυνση

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

Ξεκινήστε γράφοντας την επιθυμητή πρόταση. Το «να επιτρέπεται μόνο HTTPS» είναι πρόταση πρόσβασης, ενώ το «να απαιτείται IPsec για HTTPS» είναι πρόταση προστασίας, και τα δύο οδηγούν σε διαφορετική διαμόρφωση.

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

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

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

Χτίστε τη λίστα φίλτρου ως πλήρες σύνολο

Τα προφίλ VPNv2 φέρουν τη λίστα φίλτρου χωριστά από τη λίστα διαδρομών, και οι εγγραφές της είναι ιδιότητες προφίλ και όχι εντολές. Για το παράδειγμα HTTPS η εγγραφή χρειάζεται πρωτόκολλο 6, την απομακρυσμένη διεύθυνση και την απομακρυσμένη θύρα, αναπτυσσόμενη μέσω του καναλιού διαχείρισης ή του ProfileXML για τον τύπο προφίλ που χρησιμοποιείται. Ο ορισμός φίλτρου κίνησης VPNv2 της Microsoft δηλώνει ότι οι συνθήκες εντός ενός κανόνα συνδυάζονται ενώ χωριστοί αναγνωριστικοί κανόνων λειτουργούν ως εναλλακτικές.

TrafficFilterList/0/Protocol            = 6
TrafficFilterList/0/RemoteAddressRanges = 10.60.4.20/32
TrafficFilterList/0/RemotePortRanges    = 443
RouteList/0/Address                     = 10.60.4.0/24

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

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

Αποδείξτε και τα δύο αποτελέσματα με δύο αιτήματα

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

Test-NetConnection 10.60.4.20 -Port 443
Test-NetConnection 10.60.4.20 -Port 445
Get-NetIPsecRule -DisplayName *Vpn*
Get-VpnConnection -Name Corp

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

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

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