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

Πολλά πιστοποιητικά, ένα προσφέρεται

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

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

Ελέγξτε τον χώρο αποθήκευσης πριν επεξεργαστείτε το προφίλ

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

Get-VpnConnection -Name 'Office' | Select-Object Name, TunnelType, AuthenticationMethod
Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject, Issuer, Thumbprint, NotAfter, HasPrivateKey, EnhancedKeyUsageList

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

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

Το φίλτρο εκδότη θέλει αντικείμενο

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

$issuerPath = Read-Host 'Certificate-provider path for the approved issuer CA'
$issuer = Get-Item -LiteralPath $issuerPath
Set-VpnConnection -Name 'Office' -MachineCertificateIssuerFilter $issuer

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

Το φίλτρο χρήσης θέλει συμβολοσειρά OID

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

Set-VpnConnection -Name 'Office' -MachineCertificateEKUFilter '1.3.6.1.5.5.7.3.2'

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

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

Αποδείξτε ποιο πιστοποιητικό πρόσφερε ο πελάτης

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

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

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