Conectarea clientului cu 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.
În viitor, această aprovizionare manuală poate fi automatizată prin intermediul unui MiniDriver Windows.
Condiții prealabile¶
Configurarea necesită acces administrativ la mașinile pe care rulează Active Directory Directory Directory Services (ADDS) și Active Directory Certificate Services (ADCS). Pe mașina client este necesar doar accesul la contul de utilizator respectiv utilizat pentru conectare.
- Windows server (supported versions are Windows Server 2016, 2019, 2022, 2025 in Standard and Enterprise editions)
Rolul ADDS instalat și configurat.
- Rolul ADCS instalat și Enterprise-CA cu certificat rădăcină configurat.
Fiecare controler de domeniu (DC) trebuie să aibă un certificat Domain Controller, Domain Controller Authentication, și Kerberos Authentication emis.
Dacă aveți clienți care părăsesc rețeaua companiei, asigurați-vă că listele complete și delta de revocare a certificatelor (CRL) publicate pot fi recuperate din rețelele externe.
- Client Windows (versiunile acceptate sunt Windows 10, 11 în edițiile Professional și Enterprise)
Clientul trebuie să fie un membru al domeniului Active Directory (AD).
Nitrokey 3 with PIV smart card.
Configurarea conectării prin card inteligent pentru utilizarea cu Active Directory (AD)¶
Conectarea cu cardul inteligent necesită un model de certificat în autoritatea de certificare (CA) a domeniului. Acest șablon definește valorile și constrângerile certificatelor de utilizator. Acesta este utilizat pentru a semna cererea de certificat (CSR) în timpul aprovizionării Nitrokey.
Semnarea unei cereri de certificat pentru conectarea cu cardul inteligent necesită crearea unui șablon de certificat în autoritatea de certificare.
Din linia de comandă, PowerShell sau Run, tastați
certtmpl.msc
și apăsați Enter.În panoul de detalii, selectați șablonul Smartcard Logon.
În bara de meniu, faceți clic pe Actions → All Tasks → Duplicate Template.
Setați setările de mai jos pe șablon, în conformitate cu fila menționată.
- Compatibilitate
Dezactivați Afișați modificările rezultate
Setați Autoritatea de certificare și Destinatarul certificatului la cei mai vechi clienți din domeniu care trebuie să utilizeze conectarea prin card inteligent.
Important
Dacă doriți să utilizați chei cu curbă eliptică (EC), clienții dvs. nu trebuie să fie mai vechi de Windows Server 2008 și Windows Vista.
- General
Setați un nume de afișare a șablonului Template.
Setați Perioada de valabilitate și Perioada de reînnoire.
- Gestionarea cererilor
Stabiliți un scop al Semnătură și logare cu card inteligent.
- Criptografie
Setați o categorie de furnizor de Key Storage Provider.
Setați un nume de algoritm și dimensiunea minimă a cheii.
Important
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.
- Numele subiectului
Setați Furnizare în cererea.
Confirmați crearea șablonului cu OK.
După crearea unui șablon de certificat, șablonul trebuie să fie emis pentru a fi utilizat de către clienți.
From the Command Line, PowerShell, or Run, type
certmgr.msc
and press Enter.În panoul de navigare, extindeți Autoritatea de certificare (CA) și navigați la Certificate Templates.
În bara de meniu, faceți clic pe Action → New → Certificate Template to Issue.
Selectați șablonul de certificat pe care doriți să îl emiteți și confirmați cu OK.
Aprovizionarea Nitrokey 3 pentru conectarea cu smartcard cu 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.
Atenționare
Înainte de a urma pașii de mai jos, asigurați-vă că există contul de utilizator Active Directory pe care doriți să îl utilizați pentru conectarea cu cardul inteligent. O oră de creare a certificatului anterioară orei de creare a contului de utilizator va duce la o logare eșuată.
Generați o cheie privată și scrieți CSR-ul în fișier cu comanda de mai jos.
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.Semnați CSR-ul cu autoritatea de certificare (CA) a domeniului cu ajutorul comenzii de mai jos.
certreq -attrib CertificateTemplate:<template-name> -submit <file>
Valoarea din
<template-name>
este numele șablonului de certificat pentru conectarea cu cardul inteligent. Valoarea din<file>
este fișierul de solicitare a certificatului de cântărire.Scrieți certificatul semnat pe Nitrokey cu comanda de mai jos.
nitropy nk3 piv --experimental write-certificate --key 9A --format PEM --path <file>
Valoarea din
<file>
este fișierul de certificat.Maparea certificatului cu contul de utilizator Active Directory. Creați corespondențele certificatelor cu ajutorul comenzii de mai jos.
nitropy nk3 piv --experimental get-windows-auth-mapping
Choose one of the offered certificate mappings.
Sfat
Microsoft recomandă utilizarea corespondenței
X509IssuerSerialNumber
.Scrieți corespondența aleasă în atributul
altSecurityIdentities
al obiectului utilizator Active Directory. Puteți utiliza aplicația Active Directory Users and Computers sau PowerShell pentru această operațiune.From the Command Line, PowerShell, or Run, type
dsa.msc
and press Enter.In the menu bar click View → Advanced Features.
Selectați obiectul utilizator respectiv.
In the menu bar click Action → Properties.
Deschideți fila Editor de atribute.
Selectați atributul
altSecurityIdentities
.Click on Edit.
Insert the certificate mapping in the text field and click Add.
Aplicați modificarea cu un clic pe OK.
Deschideți PowerShell.
Adăugați valoarea cu
Set-ADUser -Identity "<sAMAccountName>" -Add @{altSecurityIdentities="<certificate-mapping>"}
, înlocuind<sAMAccountName>
cu valoarea numelui de conectare al utilizatorului și<certificate-mapping>
cu corespondența certificatului ales de mai sus.
Important
Dacă maparea certificatului nu este setată corect, veți primi mesajul de eroare
Logon screen message: Your credentials could not be verified.
atunci când încercați să vă conectați. În plus, veți vedea mesajul de mai jos în jurnalul de evenimente al sistemului Windows.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.
Revocarea conectării prin card inteligent pentru utilizarea cu Active Directory (AD)¶
Certificatele de conectare a utilizatorilor emise sunt listate în Active Directory Certificate Services (ADCS). Din ADCS, certificatele pot fi revocate, ceea ce le adaugă la lista de revocare a certificatelor (CRL) configurată. Acest lucru este necesar în cazul în care Nitrokey este pierdut sau stricat.
Important
Se recomandă insistent să nu lăsați niciodată certificate de utilizator neutilizate fără a le revoca.
Notă
Este posibilă revocarea temporară a unui certificat cu motivul Certificate Hold. Această revocare poate fi anulată și, prin urmare, nu este permanentă.
Din linia de comandă, PowerShell sau Run, tastați
certsrv.msc
și apăsați Enter.În panoul de navigare, extindeți autoritatea de certificare (CA) și navigați la Issued Certificates.
În panoul detaliat, selectați certificatul de utilizator pe care doriți să îl revocați.
În bara de meniu, faceți clic pe Action → All Tasks → Revoke Certificate.
Precizați motivul revocării, data și ora și confirmați cu Da.
În panoul de navigare, navigați la Certificatele revocate.
În bara de meniu, faceți clic pe Action → All Tasks → Publish.
Selectați lista de revocare pe care doriți să o publicați și confirmați cu OK.
Notă
În timpul fiecărei încercări de conectare cu cardul inteligent, Windows verifică dacă certificatul prezentat de cardul inteligent este listat pe o listă de revocare a certificatelor (CRL). În cazul în care certificatul se găsește pe o CRL, conectarea este refuzată. Fiecare CRL conține un termen de valabilitate care le face să expire. Windows păstrează în memoria cache CRL-ul preluat și le actualizează dacă CRL-ul este pe cale să expire. Prin urmare, o revocare nu este imediată și depinde de expirarea CRL-ului pe care îl are clientul.
Importați un certificat de card inteligent al utilizatorului în stocul de certificate personal¶
Certificatul utilizatorului care este stocat pe Nitrokey poate fi importat în stocul personal de certificate al utilizatorului. În anumite situații, aceasta este o procedură necesară.
Asigurați-vă că sunteți conectat la contul de utilizator căruia îi corespunde certificatul.
Din linia de comandă, PowerShell sau Run, tastați
certsrv.msc
și apăsați Enter.În panoul de navigare, extindeți magazinul de chei Personal și navigați la Certificate.
În bara de meniu, faceți clic pe Action → All Tasks → Import.
Urmați expertul de import și furnizați fișierul cu certificatul utilizatorului atunci când vi se solicită.
După finalizarea importului, verificați panoul de detalii pentru certificatul importat. Dacă Nitrokey este conectat, proprietățile certificatului ar trebui să afișeze mesajul You have a private key that corresponds to this certificate. care indică faptul că cheia privată de pe Nitrokey a putut fi identificată.
Asigurați-vă că sunteți conectat la contul de utilizator căruia îi corespunde certificatul.
Deschideți 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
.