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.
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.
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.
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.
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 ».
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.
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 ».
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 :
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.
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 :
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.
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 :
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.
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.
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 ».
Dans ce chapitre, nous parlerons de la sauvegarde, de la restauration des migrations d'une autorité de certification. Nous verrons comment supprimer une autorité qui n'est plus utilisée, ainsi que la migration vers un serveur plus récent.
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.
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 ».
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 ».
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.
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.
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.
Nous venons d'ajouter le rôle d'inscription via le Web sur notre autorité de certification. L'étape suivante consiste à configurer IIS afin de créer le site. Le gestionnaire de serveur nous propose de lancer la configuration post installation.
La configuration du site ne demande pas de paramétrage particulier, mais il est conseillé de réaliser les étapes suivantes, notamment la configuration de IIS pour utiliser https avec un certificat de serveur WEB.
L'installation du rôle d'inscription Web se déroule en deux étapes. La première étape est l'ajout du rôle depuis le gestionnaire de serveur ou avec PowerShell.
Ouvrez le gestionnaire de serveur, puis cliquez sur « gérer » puis « ajouter des rôles et fonctionnalités ». Sur la page « avant de commencer » cliquez sur « suivant ».
Les services d'inscription Web d'AD CS permettent d'offrir un accès aux utilisateurs pour soumettre et récupérer des certificats à travers un portail Web. Le service d'inscription Web utilise IIS comme solution de serveur Web. Il est possible d'installer le service Web directement sur le serveur ayant le rôle d'autorité de certification. Il est également possible de l'installer sur un serveur différent. Dans notre exemple, l'installation sera sur l'autorité de certification.
Nous avions déjà vu comment publier la liste de révocation sur un serveur racine autonome, généralement conservé hors ligne. Dans le cas d'une autorité secondaire d'entreprise, nous avons vu dans les paragraphes précédents, comment donner accès au serveur directement sur un partage à la source de la diffusion de la CRL. Il n'y a donc pas besoin de la copier manuellement sur le point de diffusion.
Depuis la console de l'autorité de certification ou « certsrv.msc », faites un clic droit sur « certificats révoqués » puis « toutes les tâches » et « publier».