Publié le
14 avril 2024
La gestion efficace des certificats et de leurs clés privées est essentielle à la sécurité de tout système. Les services de certificats Active Directory (ADCS) de Windows Server offrent une plateforme robuste pour la gestion des certificats au sein d'un environnement Windows. Toutefois, il peut arriver que vous ayez besoin d'exporter les clés archivées de l'autorité de certification (AC) et de les convertir dans un autre format, tel que PFX. Cette procédure vous permet de gérer ces informations sensibles en toute sécurité, tout en préservant l'intégrité de votre système.
[ADCS] Exporter les clés privées archivées de la base de données de l'autorité de certification
Prérequis :
Avant d'entamer le processus d'exportation et de conversion des clés archivées, il est essentiel de vérifier que vous disposez des autorisations et des outils nécessaires. Vous aurez besoin des autorisations « Gérer l'autorité de certification » et « Émettre et gérer des certificats » de l'autorité de certification. De plus, l'accès à des outils tels que la console de gestion Microsoft (MMC) et PowerShell est requis pour l'ajout de clés.
Les autorisations sur l'autorité de certification (AC) comprennent généralement la possibilité de « gérer l'AC » et d'« émettre et gérer des certificats », accordant aux utilisateurs l'autorité de superviser et de contrôler l'émission et la gestion des certificats au sein du système.
Pour faciliter ces tâches, divers outils sont disponibles, comme l'interface de ligne de commande (CLI) PowerShell, qui offre flexibilité et capacités de script pour une gestion efficace. De plus, la console MMC sert d'interface graphique, permettant aux utilisateurs d'ajouter des composants essentiels tels que des modèles de certificats, une autorité de certification et des certificats (utilisateurs), simplifiant ainsi le processus de gestion.
Pour accéder à ces outils et composants via MMC, les utilisateurs peuvent suivre les étapes suivantes :
MMC ouvert
Naviguer dans le menu « Fichier ».
Sélectionnez « Ajouter » ou « Supprimer des éléments enfichables ».
Activer l'archivage des clés
La première étape consiste à activer l'archivage des clés dans l'ADCS. Cela implique de configurer les modèles de certificats et l'autorité de certification elle-même pour archiver les clés privées. Voici comment procéder :
1. Assurez-vous que l'utilisateur actuel peut s'inscrire à un certificat d'agent de récupération de clés en ajustant les autorisations dans les modèles de certificats. Étapes :
Propriétés > Sécurité
Remarque : Si le modèle d’agent de récupération de clé n’est pas disponible dans la section Modèles de certificats :
Modèles de certificats > Nouveau > Modèle de certificat à émettre > Sélectionner l'agent de récupération de clé
2. Inscrivez un certificat à partir du modèle d'agent de récupération de clés et validez la demande.
Certificats > Utilisateur actuel > Personnel > Toutes les tâches > Demander un nouveau certificat.
Ici, inscrivez-vous sur le modèle d'agent de récupération de clés précédemment émis (la demande de certificat peut nécessiter une validation dans les demandes en attente de l'autorité de certification)
3. Configurez l'autorité de certification pour archiver les clés en sélectionnant le certificat approprié dans l'onglet Agents de récupération.
Accédez à l'onglet « Propriétés » de l'autorité de certification (qui sera utilisée pour l'archivage des clés) > Dans l'onglet « Agents de récupération », sélectionnez archiver la clé.
Vous souhaitez mettre en œuvre ces pratiques PKI ?
Bénéficiez de conseils d'experts sur la mise en œuvre de solutions PKI sécurisées pour votre organisation.
Obtenez l'aide d'un expertVous devriez demander l'invite avec le certificat d'agent de récupération de clé précédemment émis.
4. Modifier le modèle de certificat utilisé pour l'émission des certificats afin d'archiver la clé privée de chiffrement du sujet.
(Indiquer dans le modèle de certificat qui sera utilisé pour émettre les certificats à partir desquels la clé privée doit être archivée) :
Propriétés > Gestion des requêtes > Sélectionnez la clé privée de chiffrement du sujet d'archivage
Les certificats émis à partir de ce modèle verront désormais leurs clés privées archivées sur le serveur ADCS.
5. Assurez-vous que ce modèle de certificat soit disponible dans la liste des modèles de certificats du composant logiciel enfichable de l'autorité de certification.
Exportation des clés privées archivées
Pour récupérer les clés archivées de la base de données de l'autorité de certification, il est possible d'utiliser la commande suivante dans un dossier où l'utilisateur dispose des autorisations d'écriture :
certutil -getkey {numéro de série du certificat}
2. En ajoutant un nom de fichier par la suite, il peut être enregistré au format .bin ou .pfx.
Cette opération permettra soit de récupérer un blob de récupération de clé privée archivé, soit de générer un script de récupération, soit de récupérer des clés archivées.
3. Sinon, il est possible de lister les certificats concernés, de les exporter dans une liste, puis de récupérer les clés privées pour ensuite les convertir.
certutil -view -restrict "KeyRecoveryHashes>0" -out SerialNumber csv
Les attributs suivants peuvent également être inclus :
Requête : décrit l'identifiant unique du certificat dans la base de données de l'autorité de certification.
Nom du demandeur : décrit le demandeur du certificat.
Numéro de série : décrit le numéro de série unique du certificat.
« Pas avant » : indique le début de la validité du certificat.
« À compter du » : indique la fin de la validité du certificat.
Hachages de récupération de clé : indique avec quels certificats de l’agent de récupération de clé (KRA) la clé privée a été archivée. Si la clé est archivée avec plusieurs certificats KRA, ils sont séparés par un signe « + ». Pour la récupération, la clé privée de l’un des certificats KRA doit être présente.
Par exemple:
certutil -view -restrict "KeyRecoveryHashes>0" -out RequestId,RequesterName,SerialNumber,NotBefore,NotAfter,KeyRecoveryHashes csv
Les résultats mentionnés précédemment peuvent être enregistrés dans un fichier en ajoutant « > Chemin\nom_du_fichier.txt »
4. Pour exporter les clés individuelles, exécutez la commande suivante :
Import-Csv -Path nom_fichier.txt | ForEach-Object -Process { certutil -getkey $_."Numéro_de_série" "$($_."Numéro_de_série").bin" }
Remarques :
Cette commande générera un fichier binaire par clé.
L'argument -getkey spécifie que la clé doit être exportée de la base de données de l'autorité de certification vers un fichier.
Ces clés sont encore chiffrées ; pour les déchiffrer, elles doivent être converties au format pfx (PKCS#12).
Conversion des clés au format .pfx
Pour poursuivre la procédure, assurez-vous que tous les certificats de l'agent de récupération de clés (KRA), ainsi que leurs clés privées, sont installés ou accessibles. Dans le cas contraire, importez les certificats KRA manquants afin d'éviter cette erreur
Erreur de déchiffrement : certificat et clé privée requis pour le déchiffrement introuvables.
À prendre en compte : dans l’exemple suivant, le même mot de passe est utilisé pour toutes les clés exportées ; la sécurité de toutes les clés est donc liée à la connaissance de ce seul mot de passe.
Cette approche est donc déconseillée en pratique. Il convient d'utiliser des mots de passe robustes, générés aléatoirement et, surtout, uniques pour chaque clé, ce qui implique une logique de programmation plus complexe.
Pour convertir les clés exportées au format .pfx (PKCS#12), exécutez la commande suivante et spécifiez le mot de passe souhaité :
Import-Csv -Path keyscsv.txt | ForEach-Object -Process { certutil -p "P@$$w0rd" -recoverkey "$($_."Numéro de série").bin" "$($_."Numéro de série").pfx"}
Remarque : si l’option -p n’est pas spécifiée, l’utilisateur sera invité à saisir son mot de passe via l’interface de ligne de commande.
Conclusion
L'exportation et la conversion des clés archivées d'un serveur Windows ADCS constituent un processus essentiel de la gestion des certificats. En suivant les étapes décrites ci-dessus, vous garantissez la sécurité de vos informations confidentielles tout en préservant leur accessibilité pour les opérations nécessaires. Il est primordial d'adopter les bonnes pratiques, telles que l'utilisation de mots de passe robustes et uniques et la gestion appropriée des autorisations, afin de protéger votre système contre les menaces de sécurité potentielles. Les outils proposés par EVERTRUST constituent une alternative performante à Microsoft ADCS et offrent une utilité considérable dans les deux cas.
Que vous cherchiez à renforcer la sécurité, à rationaliser les processus ou à moderniser la gestion du cycle de vie de vos certificats, EVERTRUST propose des solutions performantes pour répondre à vos besoins. Vous pouvez ainsi optimiser votre efficacité opérationnelle et renforcer votre infrastructure numérique contre les menaces émergentes, garantissant une approche résiliente et agile de la gestion des certificats dans un environnement en constante évolution.