TLS-klientautentisering med 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

Den här guiden beskriver konfigurationen av Windows Internet Information Services (IIS) för TLS-klientautentisering som mappar användare till lokala användarkonton.

Här visas konfigurationen som ett exempel med Default Web Site i IIS. Konfigurationen kan också användas för andra webbplatser, inklusive eller exklusive standardwebbplatsen.

Prerequisits

  • Nitrokey 3 with PIV client authentication certificate.

  • Windows Server (webbserver)

    • DNS record

    • TLS-certifikat för DNS-posten. Klientdatorerna måste lita på detta TLS-certifikat.

Installation

  1. Open the Server Manager.

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

  3. Följ guiden till steget Serverroller.

  4. Välj rollen Web Server (IIS) i listan över tillgängliga roller.

  5. Följ guiden till steget Roles Services under Web Server Role (IIS).

  6. I listan över rolltjänster väljer du Web Server → Säkerhet → IIS Client Certificate Mapping Authentication.

  7. Följ guiden till installationen. Installationen måste vara klar innan du kan börja konfigurera den.

Konfiguration

  1. Öppna Internet Information Services (IIS) Manager (InetMgr.exe).

  2. Välj och expandera den webbserver som du vill konfigurera i trädvyn Connections till vänster.

  3. Öppna Configuration Editor i mittenfönstret. Öppna avsnittet system.webServer/security/authentication/iisClientCertificateMappingAuthentication och lås upp det genom att klicka på Lås upp avsnittet i Åtgärder till höger.

  4. Expandera Sites under webbservern och välj den webbplats som du vill konfigurera.

  5. I fönstret Åtgärder till höger klickar du på Bindningar….

  6. Klicka på Add… så att bindningsredigeraren visas. Ställ in typen till https och värdnamnet enligt DNS-posten och TLS-certifikatets Subject Alternative Name (SAN)-attribut. Aktivera kryssrutan Disable TLS 1.3 over TCP. I fältet SSL-certifikat väljer du det aktuella certifikatet. Bekräfta konfigurationen genom att klicka på OK.

    Tips

    För att förstå kravet på att inaktivera TLS 1.3 och för en konfigurationsinstruktion om hur du använder den med aktiverad TLS 1.3, se detta Microsoft Support blogginlägg.

  7. Öppna SSL Settings i mittenfönstret. Aktivera kryssrutan Require SSL och alternativknappen under Client certificates är inställd på Require. Bekräfta konfigurationen genom att klicka på Apply i fönstret Actions till höger.

  8. Öppna Authentication från mittfönstret. Se till att alla andra autentiseringsmetoder är avaktiverade för webbplatsen. ** IIS Client Certificate Mapping Authentication** kommer aldrig att vara synlig i den här listan. Navigera tillbaka till webbplatsens rot.

    Viktigt

    Om någon annan typ av autentisering är aktiverad kommer mappningen av klientcertifikat inte att fungera.

  9. Öppna Configuration Editor i mitten av fönstret. Öppna avsnittet system.webServer/security/authentication/iisClientCertificateMappingAuthentication från ApplicationHost.config <location path='Default web site'/>. Ställ in nyckeln enabled till True och se till att en eller båda nycklarna manyToOneCertificateMappingsEnabled och oneToOneCertificateMappingsEnabled är aktiverade.

  10. Användarmappningarna måste skrivas till nycklarna manyToOneMappings eller oneToOneMappings. Vilken nyckel som ska användas beror på vilken mappning som ska användas. Du kan hitta information om mappningen och mer detaljerade konfigurationsförklaringar på Microsoft Learn.

    Om du vill ändra en nyckel klickar du på knappen i slutet av textfältet för värde. Detta kommer att öppna Collection Editor. För att skapa en ny mappning klickar du på Add i Actions rutan till höger.

    1. Kartläggning av många till en

      Fyll i fälten enligt vad som visas i tabellen nedan.

      Key

      Värde

      enabled

      True

      name

      <name-for-the-collection>

      password

      <user-password>

      permissionMode

      Allow

      userName

      <username>

      Fältet name används som identifierare för samlingen och fälten userName och password kräver användarnamn och lösenord för den lokala användare som du vill mappa till. Fältet rules måste innehålla en beskrivning av tillåtna eller nekade certifikat. Om du vill ändra regelnyckeln klickar du på knappen i slutet av textfältet för värde. Detta öppnar ett nytt fönster i Collection Editor. Om du vill skapa en ny regel klickar du på Add i fönstret Actions till höger.

      Fyll i fälten enligt vad som visas i tabellen nedan.

      Key

      Värde

      certificateField

      Subject

      certificateSubField

      O

      compareCaseSensitive

      True

      matchCriteria

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

      Stäng fönstren Collection Editor.

    2. Kartläggning en till en

      Fyll i fälten enligt tabellen nedan.

      Key

      Värde

      certificate

      <base64-encoded-certificate>

      enabled

      True

      password

      <user-password>

      userName

      <username>

      Det Base64-kodade certifikatet för fältet certificate kan erhållas från Nitropy med Nitrokey och kommandot nitropy nk3 piv --experimental read-certificate --format PEM --key 9A. Fälten userName och password kräver användarnamn och lösenord för den lokala användare som du vill mappa till.

      Stäng fönstret Collection Editor.

    Bekräfta konfigurationen genom att klicka på Apply i fönstret Actions till höger.

Webbplatsen är nu konfigurerad för TLS-klientautentisering med hjälp av mappning av lokala användarkonton.