TLS-clientverificatie met Internet Information Services (IIS)

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

active

inactive

inactive

inactive

inactive

inactive

inactive

inactive

Deze handleiding beschrijft de configuratie van Windows Internet Information Services (IIS) voor TLS-clientverificatie die gebruikers koppelt aan lokale gebruikersaccounts.

Het toont de configuratie als voorbeeld met de Default Web Site van IIS. De configuratie kan ook worden gebruikt voor andere sites, inclusief of exclusief de standaardsite.

Prerequisits

  • Nitrokey 3 with PIV client authentication certificate.

  • Windows Server (webserver)

    • DNS record

    • TLS-certificaat voor het DNS-record. Clientcomputers moeten dit TLS-certificaat vertrouwen.

Installatie

  1. Open the Server Manager.

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

  3. Volg de wizard tot de stap Server Roles.

  4. Selecteer de rol Web Server (IIS) in de lijst met beschikbare rollen.

  5. Volg de wizard naar de stap Roles Services onder Web Server Role (IIS).

  6. Selecteer in de lijst met rolservices Web Server → Beveiliging → IIS Client Certificate Mapping Authentication.

  7. Volg de installatiewizard. De installatie moet voltooid zijn voordat u kunt beginnen met configureren.

Configuratie

  1. Open de Internet Information Services (IIS) Manager (InetMgr.exe).

  2. Selecteer en vouw de webserver die je wilt configureren uit in de boomstructuurweergave Connections aan de linkerkant.

  3. Open in het middelste deelvenster Configuration Editor. Open de sectie system.webServer/security/authentication/iisClientCertificateMappingAuthentication en ontgrendel deze met een klik op Sectie ontgrendelen in het paneel Acties aan de rechterkant.

  4. Vouw de Sites uit onder de webserver en selecteer de site die je wilt configureren.

  5. Klik in het deelvenster Acties aan de rechterkant op Bindingen….

  6. Klik op Add… waarmee de bindingseditor wordt geopend. Stel het type in op https en de hostnaam volgens het DNS-record en het SAN-attribuut (Subject Alternative Name) van het TLS-certificaat. Schakel het selectievakje TLS 1.3 over TCP uitschakelen in. Selecteer in het veld SSL-certificaat het betreffende certificaat. Bevestig de configuratie met een klik op OK.

    Tip

    Om de vereiste om TLS 1.3 uit te schakelen te begrijpen en voor een configuratie-instructie over hoe het te gebruiken met ingeschakelde TLS 1.3, raadpleegt u deze Microsoft Support blog post.

  7. Open in het middelste deelvenster SSL Settings. Activeer het selectievakje SSL vereisen en zet het keuzerondje onder Clientcertificaten op Vereisen. Bevestig de configuratie met een klik op Apply in het paneel Actions aan de rechterkant.

  8. Open in het middelste deelvenster Authentication. Zorg ervoor dat alle andere verificatiemethoden zijn uitgeschakeld voor de site. De IIS Client Certificate Mapping Authentication zal nooit zichtbaar zijn in deze lijst. Navigeer terug naar de root van de site.

    Belangrijk

    Als een ander type authenticatie is ingeschakeld, zal de toewijzing van het cliëntcertificaat niet werken.

  9. Open in het middelste deelvenster Configuration Editor. Open de sectie system.webServer/security/authentication/iisClientCertificateMappingAuthentication van ApplicationHost.config <location path='Default web site'/>. Stel de sleutel enabled in op True en zorg ervoor dat een of beide van de sleutels manyToOneCertificateMappingsEnabled en oneToOneCertificateMappingsEnabled zijn ingeschakeld.

  10. De gebruikerstoewijzingen moeten naar de sleutels manyToOneMappings of oneToOneMappings worden geschreven. Welke sleutel gebruikt moet worden hangt af van de gewenste mapping die gebruikt moet worden. Je kunt informatie over de mapping en meer gedetailleerde uitleg over de configuratie vinden op Microsoft Learn.

    Om een sleutel te wijzigen, klik je op de knop aan het einde van het tekstveld met de waarde. Hierdoor wordt de Collectie-editor geopend. Klik voor het maken van een nieuwe toewijzing op Toevoegen in het deelvenster Acties aan de rechterkant.

    1. Veel naar één in kaart brengen

      Vul de velden in zoals aangegeven in de onderstaande tabel.

      Key

      Waarde

      enabled

      True

      name

      <name-for-the-collection>

      password

      <user-password>

      permissionMode

      Allow

      userName

      <username>

      Het veld name wordt gebruikt als identificatie van de verzameling en de velden userName en password vereisen de gebruikersnaam en het wachtwoord van de lokale gebruiker waarnaar je wilt mappen. Het veld rules moet de beschrijving van toegestane of geweigerde certificaten bevatten. Om de regelsleutel te wijzigen, klik je op de knop aan het einde van het tekstveld met de waarde. Dit opent een nieuw venster van de Collectie-editor. Om een nieuwe regel te maken, klik je op Toevoegen in het deelvenster Acties aan de rechterkant.

      Vul de velden in zoals aangegeven in de onderstaande tabel.

      Key

      Waarde

      certificateField

      Subject

      certificateSubField

      O

      compareCaseSensitive

      True

      matchCriteria

      <criteria-value-of-o-field-in-certificate-subject>

      Sluit de vensters Collection Editor.

    2. Eén op één in kaart brengen

      Vul de velden in zoals in de onderstaande tabel.

      Key

      Waarde

      certificate

      <base64-encoded-certificate>

      enabled

      True

      password

      <user-password>

      userName

      <username>

      Het Base64 gecodeerde certificaat voor het veld certificate kan worden verkregen uit de Nitrokey met Nitropie en het commando nitropy nk3 piv --experimental read-certificate --format PEM --key 9A. De velden userName en password vereisen de gebruikersnaam en het wachtwoord van de lokale gebruiker waarnaar je wilt verwijzen.

      Sluit het venster Collection Editor.

    Bevestig de configuratie met een klik op Apply in het deelvenster Actions aan de rechterkant.

De site is nu geconfigureerd voor TLS-cliëntverificatie met behulp van lokale gebruikersaccountmapping.