Active Directory Authentification par cartes à puce CPX

De NCad Wiki
Version datée du 12 juillet 2024 à 23:12 par Cacheln (discussion | contributions) (Cacheln a déplacé la page Authantification par cartes à puce CPX vers Authentification par cartes à puce CPX sans laisser de redirection)
Aller à la navigation Aller à la recherche

Rôles Active Directory

Installation du rôle ADCS | Gestion des certificats | Authentification par cartes à puce

Installation du rôle ADDS | Sécuriser son environnement Active Directory | Windows LAPS | gMSA


Archives : Contrôleur de domaine Windows Server 2003 | Intégration Client Ubuntu sur AD Windows Server 2003 | Windows Server 2008

Cet article est en cours de rédaction.

Prérequis

Infrastructure d’authentification

Pour pouvoir mettre en place une authentification par carte à puce, vous devez disposer :

  • D’au moins un serveur Active Directory. Dans notre cas, il s’agit du serveur SRVDC1. Le domaine Active Directory s’appelle CNLABS (CNLABS.lan).
  • D’une autorité de certification racine d’entreprise pleinement opérationnelle. Dans notre cas, il s’agit du serveur SRVDC1. L’autorité de certification s’appelle CNLABS-CA.

Au niveau des postes clients, il sera nécessaire de disposer :

  • De la dernière version cryptolib à jour.
  • D’un lecteur de carte à puce compatible.

L’infrastructure présentée ci-dessus – pour illustrer la présente documentation – est purement fictive.

Certificats de l’autorité racine émettant les cartes à puces

  1. Se rendre sur le site web de l’autorité de certification IGC-Santé accessible depuis le lien http://igc-sante.esante.gouv.fr.
  2. Télécharger les 8 certificats mis à disposition par l’autorité de certification et correspondant.
  3. Vérifier les certificats téléchargés :
    • ACI-EL-ORG.cer : certificat d’autorité de certification intermédiaire gamme élémentaire domaine organisations.
    • ACI-EL-PP.cer : certificat d’autorité de certification intermédiaire gamme élémentaire domaine personnes.
    • ACI-FO-PP.cer : certificat d’autorité de certification intermédiaire gamme fort domaine personnes.
    • ACI-ST-ORG.cer : certificat d’autorité de certification intermédiaire gamme standard domaine organisations.
    • ACI-ST-PP.cer : certificat d’autorité de certification intermédiaire gamme standard domaine personnes.
    • ACR-EL.cer : certificat d’autorité de certification racine gamme élémentaire.
    • ACR-FO.cer : certificat d’autorité de certification racine gamme fort.
    • ACR-ST.cer : certificat d’autorité de certification racine gamme standard.

Installation des certificats de l’IGC-Santé

Les certificats racines et intermédiaires de l’autorité de certification de l’IGC-Santé doivent être installés :

  • Sur les contrôleurs de domaine via une GPO.
  • Sur le serveur de l’autorité de certification d’entreprise si ce dernier est sur un serveur dédié via une GPO.
  • Sur les postes clients via une GPO.

Dans notre usage, nous allons créer la GPO O_WINDOWS_SMARTCARD qui sera liée au groupe Domain Controllers ainsi qu’à la racine de l’organisation.

  1. Ouvrir une console MMC puis ajouter le composant logiciel enfichable Gestion des stratégies de groupe.
  2. Créer la GPO O_WINDOWS_SMARTCARD à la racine du domaine de l’organisation (ou créer une nouvelle GPO pour cette occasion). Dans notre cas, cette GPO est liée aux contenants :
    1. CNLABS : qui contient l’ensemble des objets pour notre entité (utilisateurs, ordinateur, organisation).
    2. Domain Controllers : qui est le groupe Active Directory contenant les serveurs Active Directory.
      MMCGPO O WINDOWS SMARTCARD CREATE.png
  3. Editer la stratégie de groupe sélectionnée puis rechercher la clé Configuration ordinateur / Stratégies / Paramètres Windows / Paramètres de sécurité / Stratégies de clé publique / Autorités de certification racines de confiance.
    1. Faire un clic droit sur cette clé, puis Importer et sélectionner le certificat ACR-EL.cer.
    2. Répéter cette opération pour les 7 certificats restants (ACR-FO.cer, ACR-ST.cer, ACI-EL-ORG.cer, ACI-EL-PP.cer, ACI-FO-PP.cer, ACI-ST-ORG.cer et ACI-ST-PP.cer).
      MMCGPO O WINDOWS SMARTCARD EDIT.png
  4. Sur l’ensemble des contrôleurs de domaines effectuer les opérations suivantes pour vérifier la bonne propagation des certificats :
    1. Ouvrir un terminal de commande CMD puis exécuter la commande  gpupdate /force.
    2. Une fois l’exécution de la commande terminée, ouvrir une console MMC puis ajouter le composant logiciel enfichable Certificats.
    3. Vérifier la présence des 8 certificats racines et intermédiaires dans le dossier Autorité de certification racines de confiance.
      MMCCRT AUTORITE CERTIFICATION RACINE CONFIANCE VIEW IGC.png
    4. Copier les 8 certificats racines et intermédiaires puis les coller dans le dossier Personnel. Cette action est à réaliser sur les Contrôleurs de domaine et l’Autorité de Certification Entreprise (si cette dernière est sur un serveur dédié).
      MMCCRT PERSONNEL VIEW IGC.png

Paramétrage réseau

Pour vérifier la validité d’un certificat, les serveurs Active Directory ainsi que l’Autorité de Certification d’Entreprise doivent pouvoir communiquer avec les serveurs de l’Autorité de Certification Racine de l’IGC-Santé.

Interrogation directe

Identification des flux à autoriser

Les flux suivants doivent être autorisés en sortie (depuis serveur Active Directory vers Internet):

Paramètres proxy

Si le réseau nécessite un accès Internet via un proxy, il sera nécessaire de paramétrer ce dernier sur les serveurs Active Directory ainsi que l’Autorité de Certification d’Entreprise. Par défaut, Windows utilise les paramètres proxy de la session courante. Dans le cas de la phase d’authentification, c’est le processus système lsass.exe qui va essayer de dialoguer avec l’IGC-Santé. Il faut donc basculer sur une configuration proxy par machine.

  1. Ouvrir l’utilitaire d’édition du registre Regedit.
  2. Rechercher la clé HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings.
    1. Puis, créer la valeur DWORD ProxySettingsPerUser.
    2. Et y affecter la valeur 00000000.
  3. Ouvrir un terminal de commande CMD puis exécuter la commande gpupdate /force pour appliquer les paramètres.
  4. Ouvrir la fenêtre de Propriétés de : Internet depuis la commande inetcpl.cpl.
  5. Cliquer sur l’onglet Connexions puis sur le bouton Paramètres réseau.
    1. Si elle est cochée, décocher les cases Détecter automatiquement les paramètres de connexion et Utiliser un script de configuration automatique.
    2. Cocher la case Utiliser un serveur proxy puis renseigner dans le champ Adresse l’adresse IP du serveur proxy puis dans le champ Port le numéro du port d’écoute TCP du serveur proxy.
    3. Cliquer sur le bouton OK pour enregistrer les paramètres.
      INETCPL CONNEXIONS NETWORKSETTINGS.png
  6. Ouvrir un terminal de commande Powershell puis exécuter la commande :
    netsh winhttp set proxy IP_PROXY:PORT_PROXY bypass-list=”SRVWSUS
    en remplaçant :
    • IP_PROXY : par l’adresse IP du serveur proxy.
    • PORT_PROXY : par le port TCP d’écoute du serveur proxy.
    • LIST_EXCLUSION : par l’adresse du serveur de mise à jour WSUS.

Paramétrage de l’authentification

Ajout des certificats dans le magasin NTAuthCertificates

Le magasin de certificat NTAuthCertificates permet au processus d’authentification Kerberos :

  • D’identifier les utilisateurs présentant un certificat signé par une autorité de certification racine.
  • Seulement si le certificat de cette autorité de certification racine est présente dans le magasin NTAuthCertificates.

De ce fait, il est donc nécessaire d’ajouter les certificats d’autorité racine et d’autorité racine intermédiaire de l’autorité IGC-Santé dans le magasin NTAuthCertificates de l’Autorité de Certification d’Entreprise.

Dans le cas où l’Autorité de Certification d’Entreprise est installée sur un serveur dédié. Les actions ci-dessous sont donc à réaliser depuis ce serveur. Le cas échéant, ces actions sont à réaliser sur le contrôleur de domaine.

  1. Ouvrir une console MMC puis ajouter le composant logiciel enfichable PKI d’entreprise.
  2. Effectuer un clic droit sur l’item PKI d’entreprise puis cliquer sur Gérer les conteneurs Active Directory….
  3. Cliquer sur l’onglet Conteneur NTAuthCertificates puis sur le bouton Ajouter….
    MMCPKIENT MANAGE CONTENEURS AD NTAUTHCERTIFICATE.png
  4. Depuis la fenêtre Ouvrir, rechercher et sélectionner le certificat ACR-EL.cer puis cliquer sur le bouton Ouvrir.
  5. Le certificat nouvellement ajouté doit apparaître dans la liste avec le statut OK.
  6. Répéter les étapes _3_ à _5_ pour les certificats ACR-FO.cer, ACR-ST.cer, ACI-EL-PP.cer, ACI-FO-PP.cer, ACI-ST-ORG.cer et ACI-ST-PP.cer.
    MMCPKIENT MANAGE CONTENEURS AD NTAUTHCERTIFICATE ADD ALL.png
  7. Sur l’ensemble des contrôleurs de domaines ainsi que l’Autorité de Certification Entreprise, effectuer les opérations suivantes pour vérifier la bonne propagation des certificats :
    1. Ouvrir un terminal de commande CMD puis exécuter la commande  gpupdate /force.
    2. Une fois l’exécution de la commande terminée, ouvrir l’éditeur de registre REGEDIT.
    3. Rechercher la clé :
      HKLM\SOFTWARE\Microsoft\EnterpriseCertificates\NTAuth\Certificates
      Puis vérifier la présence des clés relatives aux certificats de l’IGC-Santé :
      MMCREGEDIT HKLM SOFTWARE MICROSOFT ENTERPRISECERTIFICATE NTAUTH CERTIFICATES IGC.png

Authentification basée sur des comptes AD existants

Désactivation du SAN (subjectAltName)

Par défaut, pour pouvoir s’authentifier à l’aide d’un certificat, il est nécessaire de créer un compte utilisateur Active Directory spécifique sur le contrôleur de domaine. Ici, nous souhaitons greffer l’authentification par certificat sur des comptes Active Directory existant.

  1. Ouvrir l’utilitaire d’édition du registre Regedit.
  2. Rechercher la clé :
    HKLM\SYSTEM\CurrentControlSet\Services\kdc
    1. Puis, créer la valeur DWORD :
      UseSubjectAltName
    2. Et y affecter la valeur :
      00000000
      MMCREGEDIT HKLM SYSTEM CURRENTCONTROLSET SERVICES KDC USESUBJECTALTNAME CREATE.png
  3. Rechercher la clé :
    HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
    1. Puis, créer la valeur DWORD :
      UseSubjectAltName
    2. Et y affecter la valeur :
      00000000
      MMCREGEDIT HKLM SYSTEM CURRENTCONTROLSET CONTROL LSA KERBEROS PARAMETERS USESUBJECTALTNAME CREATE.png

Activation de l’indication du nom d’utilisateur

Par défaut, pour pouvoir s’authentifier à l’aide d’un certificat, il est nécessaire de créer un compte Active Directory spécifique sur le contrôleur de domaine. Ici, nous souhaitons greffer l’authentification par certificat sur des comptes Active Directory existant.

Dès lors, lors de l’ouverture d’une session à l’aide d’un certificat, il faudra renseigner le nom d’utilisateur Windows pour permettre à Kerberos de vérifier la correspondance entre le certificat présenté et le certificat de l’utilisateur Active Directory enregistré dans l’annuaire.

  1. Ouvrir une console MMC puis ajouter le composant logiciel enfichable Gestion des stratégies de groupe.
  2. Créer une GPO spécifique qui va permettre de personnaliser le paramétrage du composant Carte à puce de Windows. Cette GPO devra être appliquée à l’ensemble des postes clients.
  3. Editer la stratégie de groupe nouvellement créée puis rechercher la clé Configuration ordinateur / Stratégies / Modèle d’administration / Composants Windows / Carte à puce / Autoriser l’indication du nom d’utilisateur.
    1. Faire un clic droit sur cette clé puis Modifier.
    2. Sélectionner l’option Activé puis cliquer sur le bouton OK.
  4. Sur l’ensemble des contrôleurs de domaines ainsi que l’Autorité de Certification Entreprise, effectuer les opérations suivantes pour forcer l’application des paramètres :
    1. Ouvrir un terminal de commande CMD puis exécuter la commande  gpupdate /force.