TLS-Client-Authentifizierung mit Internetinformationsdiensten (IIS)

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

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

  1. Open the Server Manager.

  2. In the menubar on the top click Manage → Add Roles and Features.

  3. Folgen Sie dem Assistenten bis zum Schritt Server-Rollen.

  4. Wählen Sie die Rolle Web Server (IIS) aus der Liste der verfügbaren Rollen.

  5. Folgen Sie dem Assistenten zum Schritt Roles Services unter Web Server Role (IIS).

  6. Wählen Sie aus der Liste der Rollendienste Web Server → Sicherheit → IIS Client Certificate Mapping Authentication.

  7. Folgen Sie dem Assistenten zur Installation. Die Installation muss abgeschlossen sein, bevor Sie mit der Konfiguration beginnen können.

Konfiguration

  1. Öffnen Sie den Internet Information Services (IIS) Manager (InetMgr.exe).

  2. Wählen Sie den Webserver, den Sie konfigurieren möchten, in der Baumansicht Connections auf der linken Seite aus und erweitern Sie ihn.

  3. Ö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.

  4. Erweitern Sie die Sites unter dem Webserver und wählen Sie die Site aus, die Sie konfigurieren möchten.

  5. Klicken Sie im Bereich Aktionen auf der rechten Seite auf Bindungen….

  6. 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.

  7. Ö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.

  8. Ö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.

  9. Öffnen Sie im mittleren Bereich den Konfigurationseditor. Öffnen Sie den Abschnitt system.webServer/security/authentication/iisClientCertificateMappingAuthentication von ApplicationHost.config <location path='Default web site'/>. Setzen Sie den Schlüssel enabled auf True und stellen Sie sicher, dass einer oder beide der Schlüssel manyToOneCertificateMappingsEnabled und oneToOneCertificateMappingsEnabled aktiviert sind.

  10. Die Benutzerzuordnungen müssen auf die Schlüssel manyToOneMappings oder oneToOneMappings 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.

    1. 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 Felder userName und password erfordern den Benutzernamen und das Kennwort des lokalen Benutzers, auf den Sie zugreifen möchten. Das Feld rules 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.

    2. 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 Befehl nitropy nk3 piv --experimental read-certificate --format PEM --key 9A bezogen werden. Die Felder userName und password 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.