AD Certificate Service

[AD CS] Gérer une autorité de certification

 

J'avais déjà écrit quelques articles sur le service de certificats Active Directory, comme une installation simple d'une autorité racine d'entreprise. Ce scénario peut sembler suffisant pour apprendre le produit et réaliser quelques petites opérations. Dans un environnement plus complexe et si l'on souhaite rester un peu plus dans les bonnes pratiques, il est préférable d'avoir une autorité racine autonome qui fournit un certificat à l'autorité secondaire d'entreprise.

[AD CS] Agent d’inscription

 

Nous avons déjà introduit l'administration par les rôles et entre autres les rôles d'administrateur et de gestionnaire de certificat.

Nous allons parler d'un rôle qui n'est pas forcément utile dans toutes les structures. L'agent d'inscriptions, souvent membre des équipes techniques est une personne pouvant créer des certificats pour d'autres utilisateurs.

Nous allons créer un groupe de domaine local, afin de gérer les autorisations. Il est recommandé d'utiliser le modèle AGDLP déjà évoqué dans les articles précédents.

[AD CS] Activation de la séparation des rôles

L'administrateur d'une autorité de certification AD CS, peut affecter des rôles aux utilisateurs. Un utilisateur pourrait avoir plusieurs rôles au sein AD CS. Il est recommandé de séparer les rôles. Il est également possible d'activer la séparation des rôles aux niveaux de l'autorité de certification.

Avant d'activer la séparation des rôles, chaque utilisateur ne doit disposer que d'un seul rôle. Un utilisateur qui dispose de plusieurs rôles pourrait être bloqué dans ses tâches d'administrations.

 

{AD CS] Rôle gestionnaire de certificat

 

Les gestionnaires de certificats ont entre autres pour missions :

  • Emettre, approuver ou refuser des certificats
  • Révoquer des certificats émis

Il est recommandé d'affecter la permission d'émettre et de gérer les certificats à un groupe Active Directory et de gérer les membres du groupe en ajoutant les comptes autorisés.

Il est recommandé d'utiliser le modèle AGDLP.

Il est possible de créer plusieurs groupes différents de gestionnaire de certificats et de limiter les modèles de certificats gérés par chaque groupe.

[AD CS] Exemple de rôle administrateurs PKI

 

Les administrateurs de la PKI ont par exemple pour mission :

- l'installation de l'autorité de certification 

- arrêter et démarrer les services de l'autorité    

- Configurer les extensions (publication de la CRL) et les paramètres de l'autorité

- renouveler le certificat de l'autorité

- gérer les rôles et les permissions

 

Les administrateurs de la PKI doivent pour cela disposer d'autorisation :

- Sur les conteneurs Active Directory dans la partie configuration, s'il s'agit d'une autorité de certification d'entreprise.

[AD CS] Gérer les permissions sur les modèles de certificats

 

Sur chaque modèle de certificat, il est possible de définir des permissions spécifiques pour des utilisateurs, ordinateurs ou des groupes. Il est préférable d'utiliser des groupes et de gérer les membres.

Pour qu'un utilisateur ou un ordinateur puisse obtenir un certificat, il lui faut la permission d' « inscrire ».

[AD CS] Permissions sur l’autorité de certification AD CS

Au niveau des droits accès sur une autorité de certification, il existe quatre permissions :

  • Lire
  • Emettre et gérer des certificats
  • Gérer l'autorité de certification
  • Demander des certificats

     

Par défaut, les groupes d'administrations (« admins du domaine », « admins de l'entreprise » et « administrateurs ») disposent des permissions « émettre et gérer des certificats » ainsi que de « gérer l'autorité de certification ».

Les utilisateurs authentifiés disposent de la permission de demander un certificat.

[AD CS] Administration basée sur les rôles

L'administration basée sur les rôles permet de séparer les actions qu'un administrateur peut faire sur l'autorité de certification. En séparant les rôles, les erreurs ou les actes malveillants deviennent plus rares et plus complexes.

Les comptes d'administrations des autorités de certification ne devraient pas être membre du groupe « admins du domaine », « administrateur de l'entreprise », « administrateur de schéma ».

[AD CS] Informations publiées dans le domaine AD

Ou sont stocké les informations de l'autorité de certification d'entreprise dans Active Directory ?

 

Dans une autorité de certification d'entreprise, intégré aux services de domaine Active Directory, il existe un certain nombre d'informations enregistré dans l'annuaire.

Parmi ses éléments, nous retrouvons entre autres :

[ADCS] Sécurités et rôles

 

La gestion des permissions sur un environnement AD CS est un élément crucial. L'utilisation d'un produit comme AD CS commence souvent par le besoin de répondre à une exigence applicative d'utilisation de certificat, comme un certificat pour un serveur Web.

Un certificat peut permettre l'authentification d'un client, la sécurité apportée à son utilisation a le même niveau d'importance que celle apporté à votre annuaire Active Directory et à vos protocoles d'authentification.

[AD CS] Certificat et auto-inscription

 

L'inscription automatique de certificat permet de générer des certificats utilisateurs ou ordinateurs dans le magasin personnel du demandeur sans qu'une personne n'en fasse spécifiquement une demande.

L'utilisation de l'inscription automatique n'est valable que pour une autorité de certification d'entreprise donc intégrée à Active Directory.

Pour diffuser des certificats automatiquement, il faut :

[AD CS] Approuver ou refuser un certificat

 

Selon votre politique d'émission de certificat, il peut être intéressant de mettre en place un processus d'approbation avant de délivrer un certificat. La demande d'approbation est une option définit au niveau du modèle de certificat. Une autorité peut donc émettre certains certificats sans approbation alors que d'autres modèles l'exigent. L'approbation doit être réalisée par une personne ayant les permissions de gestion des certificats sur AD CS.

[AD CS] Révoquer un certificat

 

La révocation d'un certificat consiste à ajouter le numéro de série d'un certificat dans une liste de révocation qui est publié et disponible aux différents systèmes qui ont besoin de vérifier la validité du certificat. Un certificat révoqué ne devrait donc plus être utilisable si l'application gère la consultation des listes de révocations ou si elle interroge un répondeur OCSP.

Il existe des situations dans lesquelles le certificat doit être révoqué. La liste suivante, non-exhaustive illustre des motifs devant entraîner la révocation d'un certificat :

[AD CS] Extraire information #PKCS12 (.pfx) avec OpenSSL

 

OpenSSL est un outil pratique permettant de créer des demandes et de manipuler des certificats. Il est largement utilisé dans les environnements Linux/ Apache, mais il est également possible de l'installer sur Windows.

Dans cet exemple, nous allons extraire la clé privée et le certificat d'un fichier #PKCS12 avec une extension .pfx.

La première commande avec l'option « -nokeys » permet d'exclure la clé privée de la ligne d'export. 

 

[AD CS] Exporter des certificats : les différents types de fichiers

Il est possible d'exporter un certificat depuis l'autorité de certification sans la clé privée. La clé privée n'est pas enregistrée dans la base de données de l'autorité de certification. Sous Windows, elle est enregistrée avec le certificat dans le magasin personnel du compte utilisateur ou ordinateur dans la session.

Si vous exportez le certificat sans la clé privée, vous pouvez le transmettre à n'importe qui sans corrompre votre environnement.

Selon les paramètres du modèle de certificat utilisé, la clé privée peut être enregistrée comme non-exportable.

[AD CS] Migrer une autorité vers un nouveau serveur (Partie 2)

Jusque-là, nous avons installé une nouvelle autorité de certification qui utilise le même nom et le même certificat que l'ancienne autorité (voir 1ère partie), mais avec un serveur et un OS plus récent (Windows Server 2022 dans notre exemple). Il nous faut encore restaurer la base de données de l'autorité provenant d'une sauvegarde récente de l'ancien serveur. Pour restaurer la base de données, il faut d'abord arrêter le service.

[AD CS] Migrer une autorité vers un nouveau serveur (Partie 1)

 

Il est possible de migrer une autorité de certificat vers un nouveau serveur. Le nouveau serveur devra utiliser le même nom que l'ancien. Pour remplacer votre autorité vous devez au préalable vous assurez que vous disposez de :

 

[AD CS] Sauvegarder les sites IIS

 

Les autorités de certification AD CS peuvent utiliser IIS pour certains rôles comme le service d'inscription en ligne que nous avons installé précédemment.

Le service d'inscription Web peut être hébergé sur le même serveur ou sur un serveur différent. Dans notre exemple, ce service est hébergé sur l'autorité de certification. Nous avons un autre service IIS installé sur un autre serveur « LAB-IIS » sur lequel sont publié en « http », les listes de révocations et les informations de l'autorité.

Les commandes ci-dessous permettent de sauvegarder les sites IIS.

[AD CS] Sauvegarder les paramètres de l’autorité de certification

 

Nous avons vu comment sauvegarder la base de données de l'autorité AD CS. La base de données contient les informations sur les certificats émis, révoqués, mais n'inclut pas les paramètres de l'autorité de certification. Ces paramètres se trouvent dans le registre Windows, sous la clé :

HKLM\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration

 

[ AD CS] Restauration la base de données de l’autorité

Pour restaurer une autorité de certification AD CS, vous pouvez utiliser la console de gestion de l'autorité de certification (%windir%\system32\certsrv.msc) .

Cliquez sur « OK » lors du message d'avertissement vous indiquant que les services AD CS doivent être arrêté pendant la restauration.

 

 

[AD CS] Sauvegarde la base de données de l’autorité

Le dossier contenant la base de données d'une autorité de certification est indiqué dans la partie stockage des propriétés de l'autorité.

 

Le chemin par défaut est « c:\windows\system32\certlog ».

Il s'agit par défaut d'une base de données Microsoft avec une extension « .edb ». La base de données JET utilise des journaux de transactions afin de fournir une protection lors de la restauration.

[AD CS] Sauvegarder le certificat et la clé privée de l’autorité

Pour exporter, le certificat ainsi que la clé privée, vous pouvez utiliser la console « certlm.msc ». Sélectionnez « Certificats – ordinateur local », puis « Personnel » et « certificats ».

Sélectionnez le certificat de l'autorité, puis « toutes les tâches », puis « exporter ».

Sur la première page de l' « assistant d'exportation du certificat», cliquez sur « suivant ».

[AD CS] Configurer IIS avec https

Dans cet article nous allons configurer les services IIS du rôle serveur d'inscription Web AD CS.

Vous pouvez consulter l'article suivant : [AD CS] Créer un nouveau modèle, pour créer un modèle de certificat Web.

Après avoir créé le modèle, vous pouvez générer un certificat pour les services Web IIS utilisé par le service d'inscription Web en suivant le lien [AD CS] Demander un certificat.

[AD CS] Demander un certificat pour l’utilisateur ou l’ordinateur

Il existe plusieurs méthodes pour soumettre une demande de certificat à une autorité AD CS. Une des méthodes consistes à utiliser la console « mmc » du magasin de certificat de l'utilisateur « certmgr.msc » ou de l'ordinateur « certlm.msc ». Dans notre exemple, nous allons demander un certificat de type « serveur Web-2 ans » pour le compte de l'ordinateur. Ouvrez la console « certmgr.msc », puis sélectionnez « personnel » et faites un clic droit sur « certificats ». Sélectionnez « toutes les tâches » et « demander un nouveau certificat ».

[AD CS] Créer un nouveau modèle

 

Vous pouvez gérer et créer les modèles de certificats stockés dans la partition de configuration d'un annuaire Active Directory depuis la console « MMC.exe », « modèle de certificat ».

 

Vous pouvez également accéder à cette console depuis la console de gestion de l'autorité de certification. Sur le volet de gauche, faites un clic droit sur « modèles de certificats » puis cliquez sur « gérer ».

[AD CS] Modèle de certificat délivré par défaut

 

Lors de l'installation d'une autorité de certification d'entreprise (intégrée dans un domaine Active Directory), des modèles de certificat sont proposés par défaut. Si vous disposez de plusieurs Autorités dans la même forêt Active Directory, vous pourrez constater que les modèles sont disponibles sur l'ensemble de vos autorités. En effet, les modèles sont enregistrés dans la partition de configuration unique au sein d'une forêt Active Directory. Dans une autorité de certification autonome, donc non lié à un domaine Active Directory, vous n'aurez pas de modèle.

[AD CS] Modèle de certificats

 

Les modèles de certificat vont dépendre des usages qui en sont fait. Les certificats peuvent être utilisés pour une ou plusieurs finalités comme l'authentification, la signature ou le chiffrement.

Les certificats possèdent un certain nombre de valeur comme par exemple, l'usage du certificat, la date de fin de validité, le lien vers la liste de révocation.

Le contenu des informations présent dans les certificats est décrit dans la norme X509.

Cet article n'a pas pour but de détailler la norme en question.

[AD CS] Gérer une autorité de certification

 

Dans ce chapitre, nous verrons différentes opérations de gestion de l'autorité de certification. Nous verrons entre autres comment gérer les modèles de certificats. Nous verrons également comment demander un certificat depuis la console mmc ou depuis un navigateur. Nous parlerons également de l'enregistrement des certificats et de la clé privée dans Active Directory. La gestion des permissions sur les certificats et sur l'autorité de certification sera également au présenté. Enfin, nous verrons l'utilisation d'agent d'inscription.

Pages

S'abonner à RSS - AD Certificate Service