Publié le
14 avril 2024
Gérer les certificats et leurs clés privées de manière efficace est essentiel pour la sécurité de tout système. Windows Server Active Directory Certificate Services (ADCS) offre une plateforme robuste pour la gestion des certificats dans un environnement Windows. Cependant, il peut arriver que vous deviez exporter des clés archivées de l'Autorité de certification (CA) et les convertir dans un format différent, tel que le pfx. Cette procédure garantit que vous pouvez manipuler 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 de se plonger dans le processus d'exportation et de conversion des clés archivées, il est essentiel de s'assurer que vous disposez des autorisations et des outils nécessaires. Vous aurez besoin des autorisations "Manage CA" et "Issue and manage Certificates" de l'autorité de certification. De plus, un accès à des outils tels que MMC (Microsoft Management Console) pour l'ajout et PowerShell.
Les autorisations sur l'Autorité de Certification (CA) incluent généralement la capacité de "Gérer la CA" et "Émettre et gérer les certificats", accordant aux utilisateurs le pouvoir 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, tels que l'interface en ligne de commande comme PowerShell, qui offre flexibilité et capacités de script pour une gestion efficace. De plus, le MMC sert d'interface graphique, permettant aux utilisateurs d'ajouter des composants essentiels tels que les modèles de certificats, l'autorité de certification et les certificats (utilisateurs), simplifiant le processus de gestion.
Pour accéder à ces outils et composants via MMC, les utilisateurs peuvent suivre ces étapes :
Ouvrir MMC
Naviguer "Fichier" menu
Sélectionner "Ajouter” ou “Supprimer les modules d’extension"
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’AC 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é en ajustant les autorisations dans les modèles de certificat. É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 des modèles de certificat :
Modèles de certificat > Nouveau > Modèle de certificat à délivrer > Sélectionner l'agent de récupération de clé
2. Inscrire un certificat à partir du modèle d'agent de récupération de clé et valider 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é précédemment émis (la demande de certificat peut nécessiter une validation dans les demandes en attente du CA)
3. Configurer le CA pour archiver les clés en sélectionnant le certificat approprié dans l'onglet Agents de récupération.
Accédez à l’onglet “properties” du CA (qui sera utilisé pour l’archivage des clés) > Dans l’onglet “Recovery Agents”, sélectionnez l’archivage de la clé.
Vous souhaitez mettre en œuvre ces pratiques PKI ?
Obtenez des conseils d'experts pour mettre en œuvre des solutions PKI sécurisées pour votre organisation.
Obtenir de l'aide d'expertVous devez vous référer au certificat d'agent de récupération de clé précédemment émis.
4. Modifier le modèle de certificat utilisé pour délivrer des certificats afin d'archiver la clé privée de chiffrement du sujet'.
(Placez dans le modèle de certificat qui sera utilisé pour délivrer les certificats dont la clé privée doit être archivée) :
Propriétés > Gestion des demandes onglet > Sélectionner Archiver la clé privée de chiffrement du sujet
Désormais, les certificats émis à partir de ce modèle verront 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 snap‑in 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 CA, il est possible d'utiliser la commande suivante dans un dossier où l'utilisateur possède des permissions d'écriture :
certutil -getkey {numéro de série du certificat}
2. En ajoutant un nom de fichier ensuite, il peut être enregistré sous forme de fichier .bin ou .pfx.
Cela récupérera soit un blob de récupération de clé privée archivé, générera un script de récupération ou récupérera les clés archivées.
3. Sinon, il est possible de répertorier les certificats concernés, de les exporter vers une liste, puis de récupérer les clés privées pour les convertir ensuite.
certutil -view -restrict "KeyRecoveryHashes>0" -out SerialNumber csv
Les attributs suivants peuvent également être inclus :
Demande: décrit l'identifiant unique du certificat dans la base de données de l'AC.
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 : décrit le début de la validité du certificat.
Date d'expiration : décrit la fin de validité du certificat.
Hachages de récupération de clé : décrit avec quels certificats d'agent de récupération de clé 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 sorties mentionnées précédemment peuvent être enregistrées dans un fichier en ajoutant “> Pathname\filename.txt”
4. Pour exporter les clés individuelles, exécutez la commande suivante :
Import-Csv -Path filename.txt | ForEach-Object -Process { certutil -getkey $_."Serial Number" "$($_."Serial Number").bin" }
Remarques :
Cette commande générera un fichier bin par clé.
L'argument -getkey indique 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 déchiffrer ces clés elles doivent être converties au format pfx (PKCS#12).
Conversion des clés au format .pfx
Pour réussir, assurez-vous que tous les certificats d'Agent de récupération de clés (KRA), ainsi que leurs clés privées, sont installés ou accessibles. Sinon, importez les certificats KRA manquants pour éviter cette erreur :
Erreur de décryptage : certificat et clé privée requis pour le décryptage introuvables.
À considérer : Dans l'exemple suivant, le même mot de passe est utilisé pour toutes les clés exportées - ainsi la sécurité de toutes les clés dépend de la connaissance de ce seul mot de passe.
Cette approche n'est donc pas recommandée en pratique. Des mots de passe forts, générés aléatoirement et, surtout, des mots de passe uniques pour chaque clé doivent être utilisés, ce qui pourrait être réalisé avec une logique de programme correspondamment 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 "$($_."Serial Number").bin" "$($_."Serial Number").pfx"}
Remarque : si le tag -p n’est pas spécifié, l'utilisateur sera invité à saisir un mot de passe via l'interface en ligne de commande.
Conclusion
L'exportation et la conversion des clés archivées d'un serveur Windows ADCS sont un processus critique dans la gestion des certificats. En suivant les étapes décrites ci-dessus, vous pouvez vous assurer que vos informations confidentielles restent sécurisées tout en restant accessibles pour les opérations nécessaires. Il est essentiel de respecter les meilleures pratiques, telles que l'utilisation de mots de passe forts et uniques et le maintien des autorisations appropriées, afin de protéger votre système contre les menaces de sécurité potentielles, et les outils proposés par EVERTRUST offrent une alternative robuste à Microsoft ADCS, offrant une utilité significative dans les deux scénarios.
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 puissantes pour répondre à vos besoins – vous pouvez non seulement optimiser l’efficacité opérationnelle, mais aussi renforcer votre infrastructure numérique face aux menaces émergentes, garantissant une approche résiliente et agile de la gestion des certificats dans le paysage en évolution rapide d'aujourd'hui.