TLS-Client-Authentifizierung mit Internetinformationsdiensten (IIS)¶
Compatible Nitrokeys |
|||||||
---|---|---|---|---|---|---|---|
✓ active |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
Dieses Handbuch beschreibt die Konfiguration von Windows Internet Information Services (IIS) für die TLS-Client-Authentifizierung, die Benutzer lokalen Benutzerkonten zuordnet.
Sie zeigt die Konfiguration als Beispiel mit der Standard-Website von IIS. Die Konfiguration kann auch für andere Sites verwendet werden, einschließlich oder ausschließlich der Standard-Site.
Prerequisits¶
Nitrokey 3 with PIV client authentication certificate.
Windows Server (Webserver)
DNS record
TLS-Zertifikat für den DNS-Eintrag. Client-Computer müssen diesem TLS-Zertifikat vertrauen.
Installation¶
Open the Server Manager.
In the menubar on the top click Manage → Add Roles and Features.
Folgen Sie dem Assistenten bis zum Schritt Server-Rollen.
Wählen Sie die Rolle Web Server (IIS) aus der Liste der verfügbaren Rollen.
Folgen Sie dem Assistenten zum Schritt Roles Services unter Web Server Role (IIS).
Wählen Sie aus der Liste der Rollendienste Web Server → Sicherheit → IIS Client Certificate Mapping Authentication.
Folgen Sie dem Assistenten zur Installation. Die Installation muss abgeschlossen sein, bevor Sie mit der Konfiguration beginnen können.
Konfiguration¶
Öffnen Sie den Internet Information Services (IIS) Manager (
InetMgr.exe
).Wählen Sie den Webserver, den Sie konfigurieren möchten, in der Baumansicht Connections auf der linken Seite aus und erweitern Sie ihn.
Öffnen Sie im mittleren Bereich den Konfigurationseditor. Öffnen Sie den Abschnitt
system.webServer/security/authentication/iisClientCertificateMappingAuthentication
und entsperren Sie ihn mit einem Klick auf Abschnitt entsperren im Bereich Aktionen auf der rechten Seite.Erweitern Sie die Sites unter dem Webserver und wählen Sie die Site aus, die Sie konfigurieren möchten.
Klicken Sie im Bereich Aktionen auf der rechten Seite auf Bindungen….
Klicken Sie auf Hinzufügen…, um den Bindungseditor aufzurufen. Setzen Sie den Typ auf https und den Hostnamen entsprechend dem DNS-Eintrag und dem Attribut Subject Alternative Name (SAN) des TLS-Zertifikats. Aktivieren Sie das Kontrollkästchen Disable TLS 1.3 over TCP. Wählen Sie im Feld SSL-Zertifikat das entsprechende Zertifikat aus. Bestätigen Sie die Konfiguration mit einem Klick auf OK.
Tipp
Zum Verständnis der Anforderung, TLS 1.3 zu deaktivieren, und für eine Konfigurationsanleitung zur Verwendung mit aktiviertem TLS 1.3 lesen Sie bitte diesen Microsoft Support Blog Post.
Öffnen Sie im mittleren Bereich SSL-Einstellungen. Aktivieren Sie das Kontrollkästchen Require SSL und setzen Sie den Radiobutton unter Client certificates auf Require. Bestätigen Sie die Konfiguration mit einem Klick auf Anwenden im Bereich Aktionen auf der rechten Seite.
Öffnen Sie im mittleren Bereich Authentifizierung. Stellen Sie sicher, dass alle anderen Authentifizierungsmethoden für die Website deaktiviert sind. Die IIS Client Certificate Mapping Authentication wird in dieser Liste nie sichtbar sein. Navigieren Sie zurück zum Stamm der Site.
Wichtig
Wenn eine andere Art der Authentifizierung aktiviert ist, funktioniert die Zuordnung der Client-Zertifikate nicht.
Öffnen Sie im mittleren Bereich den Konfigurationseditor. Öffnen Sie den Abschnitt
system.webServer/security/authentication/iisClientCertificateMappingAuthentication
vonApplicationHost.config <location path='Default web site'/>
. Setzen Sie den Schlüsselenabled
aufTrue
und stellen Sie sicher, dass einer oder beide der SchlüsselmanyToOneCertificateMappingsEnabled
undoneToOneCertificateMappingsEnabled
aktiviert sind.Die Benutzerzuordnungen müssen auf die Schlüssel
manyToOneMappings
oderoneToOneMappings
geschrieben werden. Welcher Schlüssel zu verwenden ist, hängt von der gewünschten Zuordnung ab, die verwendet werden soll. Informationen zum Mapping und nähere Erläuterungen zur Konfiguration finden Sie auf Microsoft Learn.Um einen Schlüssel zu ändern, klicken Sie auf die Schaltfläche … am Ende des Textfeldes für den Wert. Dadurch wird der Sammlungseditor geöffnet. Um eine neue Zuordnung zu erstellen, klicken Sie auf Hinzufügen im Bereich Aktionen auf der rechten Seite.
Viele-zu-Eins-Zuordnung
Füllen Sie die Felder wie in der nachstehenden Tabelle angegeben aus.
Key
Wert
enabled
True
name
<name-for-the-collection>
password
<user-password>
permissionMode
Allow
userName
<username>
Das Feld
name
dient als Bezeichner der Sammlung, und die FelderuserName
undpassword
erfordern den Benutzernamen und das Kennwort des lokalen Benutzers, auf den Sie zugreifen möchten. Das Feldrules
muss die Beschreibung der erlaubten oder verweigerten Zertifikate enthalten. Um den Schlüssel der Regeln zu ändern, klicken Sie auf die Schaltfläche … am Ende des Textfeldes für den Wert. Dadurch wird ein neues Fenster des Sammlungseditors geöffnet. Um eine neue Regel zu erstellen, klicken Sie auf Add im Bereich Actions auf der rechten Seite.Füllen Sie die Felder wie in der nachstehenden Tabelle angegeben aus.
Key
Wert
certificateField
Subject
certificateSubField
O
compareCaseSensitive
True
matchCriteria
<criteria-value-of-o-field-in-certificate-subject>
Schließen Sie das Fenster Collection Editor.
One-to-One-Mapping
Füllen Sie die Felder wie in der nachstehenden Tabelle aus.
Key
Wert
certificate
<base64-encoded-certificate>
enabled
True
password
<user-password>
userName
<username>
Das Base64-kodierte Zertifikat für das Feld
certificate
kann vom Nitrokey mit Nitropy und dem Befehlnitropy nk3 piv --experimental read-certificate --format PEM --key 9A
bezogen werden. Die FelderuserName
undpassword
erfordern den Benutzernamen und das Passwort des lokalen Benutzers, dem Sie zuordnen möchten.Schließen Sie das Fenster Collection Editor.
Bestätigen Sie die Konfiguration mit einem Klick auf Anwenden im Bereich Aktionen auf der rechten Seite.
Die Website ist jetzt für die TLS-Client-Authentifizierung mit lokaler Benutzerkontozuordnung konfiguriert.