Klientlogon med Active Directory¶
Compatible Nitrokeys |
|||||||
---|---|---|---|---|---|---|---|
✓ active |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
⨯ inactive |
This document explains how to use the PIV smart card of a Nitrokey 3 for logon with Active Directory. It is available as of firmware version 1.8 and higher.
I fremtiden kan denne manuelle tilrådighedsstillelse automatiseres via en Windows MiniDriver.
Forudsætninger¶
Opsætningen kræver administrativ adgang til de maskiner, der kører Active Directory Directory Services (ADDS) og Active Directory Certificate Services (ADCS). På klientmaskinen kræves der kun adgang til den respektive brugerkonto, der bruges til logon.
- Windows server (supported versions are Windows Server 2016, 2019, 2022, 2025 in Standard and Enterprise editions)
ADDS-rollen er installeret og konfigureret.
- ADCS-rolle installeret og Enterprise-CA med rodcertifikat konfigureret.
Hver domænecontroller (DC) skal have udstedt et Domain Controller, Domain Controller Authentication og Kerberos Authentication certifikat.
Hvis du har klienter, der forlader virksomhedens netværk, skal du sørge for, at de offentliggjorte fulde og delta-certifikattilbagekaldelseslister (CRL) kan hentes fra eksterne netværk.
- Windows-klient (understøttede versioner er Windows 10, 11 i udgaverne Professional og Enterprise)
Klienten skal være medlem af Active Directory-domænet (AD).
Nitrokey 3 with PIV smart card.
Konfigurer smartcard-logon til brug med Active Directory (AD)¶
Smartcard-logon kræver en certifikatskabelon i domænets certifikatautoritet (CA). Denne skabelon definerer værdierne og begrænsningerne for brugercertifikaterne. Den bruges til at underskrive certifikatanmodningen (CSR) under klargøring af Nitrokey.
Signering af en certifikatanmodning til smartcard-logon kræver, at der oprettes en certifikatskabelon i certifikatudstederen.
Skriv
certtmpl.msc
fra kommandolinjen, PowerShell eller Run, og tryk på Enter.I detaljeruden skal du vælge skabelonen Smartcard Logon.
Klik på Actions → All Tasks → Duplicate Template i menulinjen.
Angiv nedenstående indstillinger på skabelonen i henhold til den nævnte fane.
- Kompatibilitet
Deaktiver Vis resulterende ændringer
Sæt Certificate Authority og Certificate recipient til de ældste klienter i domænet, som skal bruge smartcard-logon.
Vigtigt
Hvis du vil bruge EC-nøgler (Elliptic Curve), må dine klienter ikke være ældre end Windows Server 2008 og Windows Vista.
- Generelt
Indstil et -skabelonvisningsnavn.
Indstil Gyldighedsperiode og Fornyelsesperiode.
- Håndtering af anmodninger
Angiv et formål med Signatur og smartcard-logon.
- Kryptografi
Indstil en udbyderkategori til Key Storage Provider.
Indstil et algoritmenavn og en minimumsnøgle.
Vigtigt
Microsoft recommends to use the RSA algorithm with a key length of
2048
Bit. If you choose to use Elliptic Curve (EC) keys you need to make additional changes on your client computers.
- Navn på emne
Indstil Supply i anmodningen.
Bekræft oprettelsen af skabelonen med OK.
Efter oprettelsen af en certifikatskabelon skal skabelonen udstedes, så den kan bruges af klienterne.
From the Command Line, PowerShell, or Run, type
certmgr.msc
and press Enter.I navigationsruden udvides certifikatudstederen (CA), og der navigeres til Certificate Templates.
Klik på Handling → Ny → Certifikatskabelon til udstedelse i menulinjen.
Vælg den certifikatskabelon, du vil udstede, og bekræft med OK.
Klargøring af Nitrokey 3 til smartcard-logon med Active Directory¶
The smartcard logon requires to provision a Nitrokey for a user in Active Directory. The provisioning contains the private key and Certificate Singing Request (CSR) generation. The certificate is then written to the Nitrokey.
Advarsel
Før du følger nedenstående trin, skal du sikre dig, at den Active Directory-brugerkonto, du vil bruge til smartcard-logon, findes. Et oprettelsestidspunkt for certifikatet før oprettelsestidspunktet for brugerkontoen vil føre til et mislykket logon.
Generer en privat nøgle, og skriv CSR’en til en fil med nedenstående kommando.
nitropy nk3 piv --experimental generate-key --key 9A --algo <algorithm> --subject-name <subject-name> --subject-alt-name-upn <subject-alternative-name> --path <file>
The value of
<algorithm>
is the used algorithm with its key length, e.g.rsa2048
. The value of<subject-name>
corresponds to the value of thedistinguishedName
attribute of the Active Directory user account. In most cases it is only necessary to include the common name part of the distinguished name, e.g.CN=John Doe
. The value of<subject-alternative-name>
corresponds to the value of theuserPrincipalName
attribute of the Active Directory user account.Signer CSR’en med domænets certifikatudsteder (CA) med nedenstående kommando.
certreq -attrib CertificateTemplate:<template-name> -submit <file>
Værdien af
<template-name>
er navnet på certifikatskabelonen til smartcard-logon. Værdien af<file>
er filen med anmodning om certifikatsang.Skriv det signerede certifikat til Nitrokey med nedenstående kommando.
nitropy nk3 piv --experimental write-certificate --key 9A --format PEM --path <file>
Værdien af
<file>
er certifikatfilen.Tilknyt certifikatet til Active Directory-brugerkontoen. Opret certifikattilknytningerne med kommandoen nedenfor.
nitropy nk3 piv --experimental get-windows-auth-mapping
Choose one of the offered certificate mappings.
Tip
Microsoft anbefaler brugen af
X509IssuerSerialNumber
mapping.Skriv den valgte mapping til attributten
altSecurityIdentities
i Active Directory-brugerobjektet. Du kan bruge programmet Active Directory Users and Computers eller PowerShell til denne handling.From the Command Line, PowerShell, or Run, type
dsa.msc
and press Enter.In the menu bar click View → Advanced Features.
Vælg det pågældende brugerobjekt.
In the menu bar click Action → Properties.
Åbn fanen Attribute Editor.
Vælg attributten
altSecurityIdentities
.Click on Edit.
Insert the certificate mapping in the text field and click Add.
Anvend ændringen ved at klikke på OK.
Åbn PowerShell.
Tilføj værdien med
Set-ADUser -Identity "<sAMAccountName>" -Add @{altSecurityIdentities="<certificate-mapping>"}
, erstat<sAMAccountName>
med værdien af brugerens logon-navn og<certificate-mapping>
med den valgte certfikat-mapping fra ovenfor.
Vigtigt
Hvis certifikattilknytningen ikke er indstillet korrekt, vil du modtage fejlmeddelelsen
Logon screen message: Your credentials could not be verified.
, når du forsøger at logge på. Derudover vil du se nedenstående hændelsesmeddelelse i Windows-systemets hændelseslog.Source
Kerberos-Key-Distribution-Center
Message
The Key Distribution Center (KDC) encountered a user certificate that was valid but could not be mapped to a user in a secure way (such as via explicit mapping, key trust mapping, or a SID). Such certificates should either be replaced or mapped directly to the user via explicit mapping. See https://go.microsoft.com/fwlink/?linkid=2189925 to learn more.
Tilbagekaldelse af smartcard-logon til brug med Active Directory (AD)¶
De udstedte brugerlogon-certifikater er opført i Active Directory Certificate Services (ADCS). Fra ADCS kan certifikaterne tilbagekaldes, hvilket føjer dem til den konfigurerede liste over tilbagekaldte certifikater (CRL). Dette er nødvendigt i tilfælde af en mistet eller ødelagt Nitrokey.
Vigtigt
Det anbefales på det kraftigste aldrig at efterlade ubrugte brugercertifikater uden at tilbagekalde dem.
Bemærk
Det er muligt at tilbagekalde et certifikat midlertidigt med begrundelsen Certificate Hold. Denne tilbagekaldelse kan annulleres og er derfor ikke permanent.
Skriv
certsrv.msc
fra kommandolinjen, PowerShell eller Run, og tryk på Enter.Udvid certifikatudstederen (CA) i navigationsruden, og gå til Issued Certificates.
I detaljeruden skal du vælge det brugercertifikat, du vil tilbagekalde.
Klik på Action → All Tasks → Revoke Certificate i menulinjen.
Angiv en årsag til tilbagekaldelsen, dato og klokkeslæt, og bekræft med Yes.
Gå til Tilbagekaldte certifikater i navigationsruden.
Klik på Action → All Tasks → Publish i menulinjen.
Vælg den spærreliste, du vil offentliggøre, og bekræft med OK.
Bemærk
Under hvert smartcard-logonforsøg kontrollerer Windows, om certifikatet, der præsenteres af smartcardet, er opført på en liste over tilbagekaldte certifikater (CRL). Hvis certifikatet findes på en CRL, afvises logon. Hver CRL indeholder en gyldighedsperiode, der får dem til at udløbe. Windows cacher de hentede CRL’er og opdaterer dem, hvis CRL’en er ved at udløbe. Derfor er en tilbagekaldelse ikke øjeblikkelig og afhænger af udløbet af den CRL, klienten har.
Importer et bruger-smartcard-certifikat til det personlige certifikatlager¶
Det brugercertifikat, der er gemt på Nitrokey, kan importeres til brugerens personlige certifikatlager. I visse situationer er dette en nødvendig procedure.
Sørg for, at du er logget ind på den brugerkonto, som certifikatet svarer til.
Skriv
certsrv.msc
fra kommandolinjen, PowerShell eller Run, og tryk på Enter.I navigationsruden skal du udvide Personal key store og navigere til Certificates.
Klik på Action → All Tasks → Import i menulinjen.
Følg importguiden, og angiv brugercertifikatfilen, når du bliver bedt om det.
Når importen er afsluttet, skal du tjekke detaljeruden for det importerede certifikat. Hvis Nitrokey er tilsluttet, bør certifikatets egenskaber vise meddelelsen Du har en privat nøgle, der svarer til dette certifikat., hvilket indikerer, at den private nøgle på Nitrokey kunne identificeres.
Sørg for, at du er logget ind på den brugerkonto, som certifikatet svarer til.
Åbn PowerShell.
Import the certificate with
Import-Certificate -CertStoreLocation Cert:\CurrentUser\My -FilePath <path>
, replacing<file>
with the certificate file path.After the import completed check for the certificate with
Get-ChildItem Cert:\CurrentUser\My
.