Uwierzytelnianie klienta TLS za pomocą Internetowych Usług Informacyjnych (IIS)¶
Compatible Nitrokeys |
|||||||
---|---|---|---|---|---|---|---|
✓ active |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
W tym przewodniku opisano konfigurację Internetowych usług informacyjnych systemu Windows (IIS) do uwierzytelniania klienta TLS, które mapuje użytkowników na lokalne konta użytkowników.
Pokazuje konfigurację jako przykład z Default Web Site IIS. Konfiguracja może być również używana dla innych witryn, w tym lub z wyłączeniem witryny domyślnej.
Prerequisits¶
Nitrokey 3 with PIV client authentication certificate.
Windows Server (serwer WWW)
DNS record
Certyfikat TLS dla rekordu DNS. Komputery klienckie muszą ufać temu certyfikatowi TLS.
Instalacja¶
Open the Server Manager.
In the menubar on the top click Manage → Add Roles and Features.
Postępuj zgodnie z instrukcjami kreatora do kroku Server Roles.
Wybierz rolę Web Server (IIS) z listy dostępnych ról.
Postępuj zgodnie z instrukcjami kreatora do kroku Roles Services pod Web Server Role (IIS).
Z listy usług ról wybierz Web Server → Security → IIS Client Certificate Mapping Authentication.
Postępuj zgodnie z instrukcjami kreatora instalacji. Instalacja musi zostać zakończona przed rozpoczęciem konfiguracji.
Konfiguracja¶
Otwórz Internet Information Services (IIS) Manager (
InetMgr.exe
).Wybierz i rozwiń serwer WWW, który chcesz skonfigurować w widoku drzewa Connections po lewej stronie.
W środkowym panelu otwórz Edytor konfiguracji. Otwórz sekcję
system.webServer/security/authentication/iisClientCertificateMappingAuthentication
i odblokuj ją klikając na Unlock Section w panelu Actions po prawej stronie.Rozwiń stronę Sites pod serwerem WWW i wybierz witrynę, którą chcesz skonfigurować.
W panelu Actions po prawej stronie kliknij Bindings….
Kliknij Add…, co spowoduje wyświetlenie edytora powiązań. Ustaw typ na https i nazwę hosta zgodnie z rekordem DNS i atrybutem Subject Alternative Name (SAN) certyfikatu TLS. Aktywuj pole wyboru Wyłącz TLS 1.3 przez TCP. W polu SSL certificate wybierz odpowiedni certyfikat. Potwierdź konfigurację klikając na OK.
Wskazówka
Aby zrozumieć wymóg wyłączenia TLS 1.3 i uzyskać instrukcje konfiguracji, jak używać go z włączonym TLS 1.3, zapoznaj się z tym Microsoft Support blog post.
W środkowym panelu otwórz Ustawienia SSL. Aktywuj pole wyboru Require SSL i przycisk radiowy pod Client certificates jest ustawiony na Require. Potwierdź konfigurację klikając na Apply w panelu Actions po prawej stronie.
W środkowym panelu otwórz Authentication. Upewnij się, że wszystkie inne metody uwierzytelniania są wyłączone dla witryny. Lista IIS Client Certificate Mapping Authentication nigdy nie będzie widoczna na tej liście. Przejdź z powrotem do katalogu głównego witryny.
Ważne
Jeśli włączony jest jakikolwiek inny typ uwierzytelniania, mapowanie certyfikatu klienta nie będzie działać.
W środkowym panelu otwórz Edytor konfiguracji. Otwórz sekcję
system.webServer/security/authentication/iisClientCertificateMappingAuthentication
zApplicationHost.config <location path='Default web site'/>
. Ustaw kluczenabled
naTrue
i upewnij się, że jeden lub oba kluczemanyToOneCertificateMappingsEnabled
ioneToOneCertificateMappingsEnabled
są włączone.Mapowania użytkownika muszą być zapisane w kluczach
manyToOneMappings
luboneToOneMappings
. Odpowiedni klucz do użycia zależy od pożądanego mapowania. Informacje na temat mapowania i bardziej szczegółowe objaśnienia konfiguracji można znaleźć na stronie Microsoft Learn.Aby zmienić klucz, kliknij przycisk … na końcu pola tekstowego wartości. Spowoduje to otwarcie edytora kolekcji ** . Aby utworzyć nowe mapowanie, kliknij Add w panelu Actions po prawej stronie.
Mapowanie Many to One
Wypełnij pola zgodnie z poniższą tabelą.
Key
Wartość
enabled
True
name
<name-for-the-collection>
password
<user-password>
permissionMode
Allow
userName
<username>
Pole
name
jest używane jako identyfikator kolekcji, a polauserName
ipassword
wymagają nazwy użytkownika i hasła lokalnego użytkownika, do którego chcesz mapować. Polerules
musi zawierać opis dozwolonych lub odrzuconych certyfikatów. Aby zmienić klucz reguł, kliknij przycisk … na końcu pola tekstowego wartości. Spowoduje to otwarcie nowego okna edytora kolekcji ** . Aby utworzyć nową regułę, kliknij przycisk Add w panelu Actions po prawej stronie.Wypełnij pola zgodnie z poniższą tabelą.
Key
Wartość
certificateField
Subject
certificateSubField
O
compareCaseSensitive
True
matchCriteria
<criteria-value-of-o-field-in-certificate-subject>
Zamknij okna Collection Editor.
Mapowanie jeden do jednego
Wypełnij pola zgodnie z poniższą tabelą.
Key
Wartość
certificate
<base64-encoded-certificate>
enabled
True
password
<user-password>
userName
<username>
Certyfikat zakodowany w Base64 dla pola
certificate
można uzyskać z Nitrokey za pomocą Nitropia i polecenianitropy nk3 piv --experimental read-certificate --format PEM --key 9A
. PolauserName
ipassword
wymagają nazwy użytkownika i hasła lokalnego użytkownika, do którego chcesz mapować.Zamknij okno Collection Editor.
Potwierdź konfigurację klikając na Apply w panelu Actions po prawej stronie.
Witryna jest teraz skonfigurowana do uwierzytelniania klienta TLS przy użyciu lokalnego mapowania kont użytkowników.