Πιστοποίηση ταυτότητας πελάτη TLS με υπηρεσίες πληροφοριών Internet (IIS)¶
Compatible Nitrokeys |
|||||||
---|---|---|---|---|---|---|---|
✓ active |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
Αυτός ο οδηγός περιγράφει τη διαμόρφωση των Υπηρεσιών Internet Information Services (IIS) των Windows για έλεγχο ταυτότητας πελάτη TLS που αντιστοιχίζει τους χρήστες σε τοπικούς λογαριασμούς χρηστών.
Δείχνει τη διαμόρφωση ως παράδειγμα με την ιστοσελίδα Default Web Site του IIS. Η διαμόρφωση μπορεί επίσης να χρησιμοποιηθεί για άλλες τοποθεσίες, συμπεριλαμβανομένης ή εξαιρουμένης της προεπιλεγμένης τοποθεσίας.
Prerequisits¶
Nitrokey 3 with PIV client authentication certificate.
Windows Server (διακομιστής ιστού)
DNS record
Πιστοποιητικό TLS για την εγγραφή DNS. Οι υπολογιστές-πελάτες πρέπει να εμπιστεύονται αυτό το πιστοποιητικό TLS.
Εγκατάσταση¶
Open the Server Manager.
In the menubar on the top click Manage → Add Roles and Features.
Ακολουθήστε τον οδηγό μέχρι το βήμα Ρόλοι διακομιστών.
Επιλέξτε το ρόλο Web Server (IIS) από τη λίστα των διαθέσιμων ρόλων.
Ακολουθήστε τον οδηγό μέχρι το βήμα Ρόλοι υπηρεσιών κάτω από Ρόλος διακομιστή Web (IIS).
Από τη λίστα των υπηρεσιών ρόλων επιλέξτε Web Server → Ασφάλεια → IIS Client Certificate Mapping Authentication.
Ακολουθήστε τον οδηγό για την εγκατάσταση. Η εγκατάσταση πρέπει να ολοκληρωθεί πριν ξεκινήσετε τη διαμόρφωσή της.
Διαμόρφωση¶
Ανοίξτε το Internet Information Services (IIS) Manager (
InetMgr.exe
).Επιλέξτε και επεκτείνετε τον διακομιστή ιστού που θέλετε να ρυθμίσετε στη δενδρική προβολή Connections στα αριστερά.
Από το μεσαίο παράθυρο ανοίξτε το Configuration Editor. Ανοίξτε το τμήμα
system.webServer/security/authentication/iisClientCertificateMappingAuthentication
και ξεκλειδώστε το με κλικ στο Unlock Section στο παράθυρο Actions στα δεξιά.Επεκτείνετε το Sites κάτω από το διακομιστή ιστού και επιλέξτε την τοποθεσία που θέλετε να διαμορφώσετε.
Στο παράθυρο Ενέργειες στα δεξιά κάντε κλικ στο Δεσμοί….
Κάντε κλικ στο Add…, το οποίο εμφανίζει τον επεξεργαστή δεσμεύσεων. Ορίστε τον τύπο σε https και το όνομα κεντρικού υπολογιστή σύμφωνα με την εγγραφή DNS και την ιδιότητα Subject Alternative Name (SAN) του πιστοποιητικού TLS. Ενεργοποιήστε το πλαίσιο ελέγχου Disable TLS 1.3 over TCP. Στο πεδίο SSL certificate επιλέξτε το αντίστοιχο πιστοποιητικό. Επιβεβαιώστε τη διαμόρφωση με κλικ στο OK.
Πρακτική συμβουλή
Για να κατανοήσετε την απαίτηση απενεργοποίησης του TLS 1.3 και για οδηγίες διαμόρφωσης σχετικά με τον τρόπο χρήσης του με ενεργοποιημένο το TLS 1.3, ανατρέξτε σε αυτό το post στο blog της υποστήριξης της Microsoft ` <https://techcommunity.microsoft.com/blog/iis-support-blog/windows-server-2022-iis-web-site-tls-1-3-does-not-work-with-client-certificate-a/4129738>` __.
Από το μεσαίο παράθυρο ανοίξτε το SSL Settings. Ενεργοποιήστε το πλαίσιο ελέγχου Require SSL και το κουμπί επιλογής κάτω από το Client certificates είναι ρυθμισμένο σε Require. Επιβεβαιώστε τη διαμόρφωση με ένα κλικ στο Apply στο παράθυρο Actions στα δεξιά.
Από το μεσαίο παράθυρο ανοίξτε το Authentication. Βεβαιωθείτε ότι όλες οι άλλες μέθοδοι ελέγχου ταυτότητας είναι απενεργοποιημένες για την τοποθεσία. Το IIS Client Certificate Mapping Authentication δεν θα είναι ποτέ ορατό σε αυτή τη λίστα. Πλοηγηθείτε πίσω στη ρίζα της τοποθεσίας.
Σημαντικό
Εάν είναι ενεργοποιημένος οποιοσδήποτε άλλος τύπος ελέγχου ταυτότητας, η αντιστοίχιση πιστοποιητικού πελάτη δεν θα λειτουργήσει.
Από το μεσαίο παράθυρο ανοίξτε το Configuration Editor. Ανοίξτε την ενότητα
system.webServer/security/authentication/iisClientCertificateMappingAuthentication
απόApplicationHost.config <location path='Default web site'/>
. Ορίστε το κλειδίenabled
στοTrue
και βεβαιωθείτε ότι ένα ή και τα δύο κλειδιάmanyToOneCertificateMappingsEnabled
καιoneToOneCertificateMappingsEnabled
είναι ενεργοποιημένα.Οι αντιστοιχίσεις χρηστών πρέπει να εγγραφούν στα κλειδιά
manyToOneMappings
ήoneToOneMappings
. Το αντίστοιχο κλειδί που θα χρησιμοποιηθεί εξαρτάται από την επιθυμητή αντιστοίχιση που θα χρησιμοποιηθεί. Μπορείτε να βρείτε πληροφορίες σχετικά με την αντιστοίχιση και λεπτομερέστερες επεξηγήσεις διαμόρφωσης στη διεύθυνση Microsoft Learn.Για να αλλάξετε ένα κλειδί, κάντε κλικ στο κουμπί … στο τέλος του πεδίου κειμένου τιμών. Αυτό θα ανοίξει το Collection Editor. Για τη δημιουργία μιας νέας αντιστοίχισης κάντε κλικ στο Add στο παράθυρο Actions στα δεξιά.
Χαρτογράφηση από πολλούς σε έναν
Συμπληρώστε τα πεδία όπως φαίνεται στον παρακάτω πίνακα.
Key
Αξία
enabled
True
name
<name-for-the-collection>
password
<user-password>
permissionMode
Allow
userName
<username>
Το πεδίο
name
χρησιμοποιείται ως αναγνωριστικό της συλλογής και τα πεδίαuserName
καιpassword
απαιτούν το όνομα χρήστη και τον κωδικό πρόσβασης του τοπικού χρήστη στον οποίο θέλετε να αντιστοιχίσετε. Το πεδίοrules
πρέπει να περιέχει την περιγραφή των πιστοποιητικών που επιτρέπονται ή απορρίπτονται. Για να αλλάξετε το κλειδί κανόνων, κάντε κλικ στο κουμπί … στο τέλος του πεδίου κειμένου τιμών. Αυτό θα ανοίξει ένα νέο παράθυρο του Collection Editor. Για τη δημιουργία νέου κανόνα, κάντε κλικ στο Add στο παράθυρο Actions στα δεξιά.Συμπληρώστε τα πεδία όπως φαίνεται στον παρακάτω πίνακα.
Key
Αξία
certificateField
Subject
certificateSubField
O
compareCaseSensitive
True
matchCriteria
<criteria-value-of-o-field-in-certificate-subject>
Κλείστε τα παράθυρα Collection Editor.
Χαρτογράφηση ένας προς έναν
Συμπληρώστε τα πεδία όπως στον παρακάτω πίνακα.
Key
Αξία
certificate
<base64-encoded-certificate>
enabled
True
password
<user-password>
userName
<username>
Το πιστοποιητικό κωδικοποιημένο σε Base64 για το πεδίο
certificate
μπορεί να ληφθεί από το Nitrokey με την εντολή Nitropy και την εντολήnitropy nk3 piv --experimental read-certificate --format PEM --key 9A
. Τα πεδίαuserName
καιpassword
απαιτούν το όνομα χρήστη και τον κωδικό πρόσβασης του τοπικού χρήστη στον οποίο θέλετε να αντιστοιχίσετε.Κλείστε το παράθυρο Collection Editor.
Επιβεβαιώστε τη διαμόρφωση με κλικ στο Εφαρμογή στο παράθυρο Ενέργειες στα δεξιά.
Η τοποθεσία έχει πλέον ρυθμιστεί για έλεγχο ταυτότητας πελάτη TLS με χρήση τοπικής αντιστοίχισης λογαριασμού χρήστη.