PKI Trust Auditor - Guide utilisateur
Guide utilisateur de PKI Trust Auditor pour découvrir et auditer la sécurité de l’infrastructure Microsoft ADCS.
Sommaire#
- Introduction et présentation
- Configuration système et installation
- Prise en main
- Référence des contrôles d’audit
- Scénarios d’utilisation et exemples
- Résultats et rapports
- Dépannage et problèmes courants
- Configuration avancée
- Considérations de sécurité
- Annexe
Introduction et présentation#
Qu’est-ce que PKI Trust Auditor ?#
PKI Trust Auditor est un outil complet d’audit de sécurité pour les infrastructures Active Directory Certificate Services (ADCS). Il automatise la découverte, l’évaluation et le reporting de la posture de sécurité de votre environnement PKI.
Fonctionnalités principales#
- Découverte automatique des CA : découvre automatiquement toutes les autorités de certification de votre environnement Active Directory.
- Audit complet : réalise des audits de connectivité, de configuration, de modèles, de cryptographie et d’exploitation.
- Rapports multiformats : génère des rapports JSON, CSV, Web et console.
- Interface interactive : menu console convivial avec sortie en couleurs.
- Configuration par paramètres : personnalisez les paramètres d’audit dans
parameters.json. - Collecte de preuves : fichiers détaillés pour chaque exécution de contrôle.
- Application Web : rapports Web interactifs avec visualisations.
Public visé#
- Administrateurs PKI : surveiller et maintenir l’état des autorités de certification.
- Professionnels de la sécurité : évaluer la posture de sécurité et la conformité PKI.
- Auditeurs de conformité : produire des preuves répondant aux exigences réglementaires.
- Opérations informatiques : résoudre les problèmes d’infrastructure PKI.
Configuration système et installation#
Prérequis#
- Runtime .NET 9.0 ou version ultérieure.
- Environnement Windows avec connectivité Active Directory.
- Compte utilisateur de domaine disposant des autorisations nécessaires :
- Accès en lecture à Active Directory.
- Droits WMI et PowerShell remoting sur les serveurs CA.
- Autorisations administratives Certificate Authority.
- Connectivité réseau aux serveurs Certificate Authority.
Étapes d’installation#
Option 1 : utiliser l’exécutable
# Run the application
PKI_Trust_Auditor.exeAutorisations requises#
- Active Directory : accès en lecture au conteneur Configuration.
- Certificate Authorities :
- Administrateur local sur les serveurs CA (pour WMI/PowerShell).
- Autorisations CA Administrator ou Certificate Manager.
- Réseau : ports TCP 135 (WMI), 5985/5986 (WinRM).
Prise en main#
Première exécution : mode interactif#
Exécutez l’application sans arguments pour accéder au menu interactif :
PKI_Trust_Auditor.exeLe menu principal présente des options différenciées par couleur :
===============================================================================
================= PKI TRUST AUDITOR | https://securetron.net =================
Active Directory Certificate Authority Infrastructure & Security Auditing Tool
===============================================================================
Main Menu:
1. Run Full Audit
2. Generate Audit Summary - CLI
3. Executive Reporting - WebUI
4. Discover Certificate Authorities Only
5. Run Connectivity Tests Only
6. Run Configuration and Operational Audits Only
7. Run Cryptographic Audits Only
8. Run Template Audits Only
9. Exit
Options de ligne de commande#
Lancez directement des opérations spécifiques depuis la ligne de commande :
# Display help
PKI_Trust_Auditor.exe --help
# Run specific audit tests
PKI_Trust_Auditor.exe --tests config
PKI_Trust_Auditor.exe --tests crypto
PKI_Trust_Auditor.exe --tests templates
PKI_Trust_Auditor.exe --tests connectivity
PKI_Trust_Auditor.exe --tests full
# Launch web application
PKI_Trust_Auditor.exe --report
# Clear audit results cache
PKI_Trust_Auditor.exe --clear
# Display version information
PKI_Trust_Auditor.exe --versionConfiguration des paramètres#
Créez ou modifiez parameters.json pour personnaliser le comportement des audits :
{
"DomainOverride": "DC=yourdomain,DC=com",
"CA-CRYPTO-001": 2048,
"CA-CRYPTO-002": ["MD5", "SHA1", "DES", "RC4", "3DES"],
"CA-TEMPLATE-001": true,
"CA-OPS-002": ["10", "3", "5", "1"]
}Référence des contrôles d’audit#
Tests de connectivité#
PKI-TEST-001 : test de connectivité WMI/SMB
- Gravité : Critical
- Objectif : tester la connectivité réseau de base avec les autorités de certification.
- Méthode : connectivité au service WMI et partage de fichiers SMB.
- Résultat attendu : connexion WMI/SMB réussie à la CA.
- Preuve : méthode de connectivité et état d’accessibilité.
- Recommandation : vérifiez la connectivité réseau, les règles de pare-feu et l’état du service WMI.
PKI-TEST-002 : test de connectivité PowerShell
- Gravité : Critical
- Objectif : tester PowerShell remoting (solution de repli en cas d’échec WMI).
- Méthode : PowerShell remoting via WinRM.
- Résultat attendu : accès PowerShell remoting réussi à la CA.
- Preuve : méthode de connectivité et état d’accessibilité.
- Recommandation : activez PowerShell remoting et vérifiez la configuration WinRM.
PKI-TEST-003 : validation des privilèges utilisateur
- Gravité : Critical
- Objectif : vérifier que l’utilisateur actuel dispose des privilèges requis.
- Méthode : vérification des autorisations et de l’appartenance aux groupes.
- Résultat attendu : l’utilisateur possède les privilèges administratifs nécessaires.
- Preuve : identité de l’utilisateur et évaluation des privilèges.
- Recommandation : exécutez l’outil avec des identifiants administratifs appropriés.
Audits de configuration#
CA-CONFIG-001 : configuration du registre CA
- Gravité : High
- Objectif : récupérer la configuration complète du registre CA.
- Méthode : requêtes distantes du registre via WMI/PowerShell.
- Résultat attendu : récupération complète de la configuration du registre CA.
- Preuve : fichier JSON contenant toutes les valeurs et options du registre.
- Recommandation : examinez les paramètres de sécurité de la configuration du registre.
CA-CONFIG-002 : modèles de CA
- Gravité : High
- Objectif : découvrir et analyser les modèles de certificats.
- Méthode : commandes certutil et analyse des modèles.
- Résultat attendu : liste de tous les modèles de certificats et de leurs configurations.
- Preuve : noms, paramètres et descripteurs de sécurité des modèles.
- Recommandation : examinez la sécurité des modèles et supprimez ceux qui sont inutiles.
CA-CONFIG-003 : configuration AIA
- Gravité : High
- Objectif : analyser la configuration Authority Information Access.
- Méthode :
certutil -getreg CA\CSP\AIA. - Résultat attendu : URL AIA et paramètres de configuration.
- Preuve : URL AIA et indicateurs
AddToCertificateAia,AddToCertificateOcsp. - Recommandation : vérifiez que les URL AIA sont accessibles et correctement configurées.
CA-CONFIG-004 : points de distribution CRL
- Gravité : High
- Objectif : examiner la configuration CRL Distribution Point.
- Méthode :
certutil -getreg CA\CSP\CRL. - Résultat attendu : URL CRL et paramètres de publication.
- Preuve : URL CRL, indicateurs de publication et paramètres de delta CRL.
- Recommandation : vérifiez que les URL CRL sont accessibles et correctement publiées.
CA-CONFIG-005 : configuration CAPolicy.inf
- Gravité : Medium
- Objectif : récupérer la configuration du fichier CAPolicy.inf.
- Méthode : récupération et analyse du fichier.
- Résultat attendu : paramètres et politiques CAPolicy.inf.
- Preuve : contenu et configuration CAPolicy.inf.
- Recommandation : examinez les paramètres des politiques de certificats.
CA-CONFIG-006 : exportation PowerShell des modèles
- Gravité : Medium
- Objectif : exporter les détails de configuration des modèles avec PowerShell.
- Méthode : exécution d’un script PowerShell.
- Résultat attendu : configuration complète des modèles au format JSON.
- Preuve : fichier JSON contenant les attributs et paramètres détaillés des modèles.
- Recommandation : utilisez-le pour analyser précisément les modèles et examiner leur sécurité.
Audits opérationnels#
CA-OPS-001 : état du service CertSvc
- Gravité : High
- Objectif : vérifier l’état du service Certificate Services.
- Méthode : interrogation de l’état du service via WMI/PowerShell.
- Résultat attendu : service CertSvc en cours d’exécution et en bon état.
- Preuve : état du service, type de démarrage et état de santé.
- Recommandation : vérifiez que CertSvc fonctionne et est configuré pour démarrer automatiquement.
CA-OPS-002 : validation de l’expiration du certificat CA
- Gravité : High
- Objectif : valider les dates d’expiration des certificats CA.
- Méthode : récupération du certificat et analyse des dates.
- Résultat attendu : les certificats CA respectent les limites d’expiration configurées.
- Preuve : périodes de validité, temps restant et état de conformité.
- Recommandation : réémettez les certificats avant leur expiration ou ajustez leur période de validité.
CA-OPS-003 : validation de la configuration AIA du certificat CA
- Gravité : High
- Objectif : valider l’extension AIA des certificats CA.
- Méthode : analyse du certificat et validation des extensions.
- Résultat attendu : configuration AIA correcte dans les certificats CA.
- Preuve : présence de l’extension AIA, URL et état de configuration.
- Recommandation : configurez correctement les URL de l’extension AIA.
CA-OPS-004 : validation de la configuration CDP du certificat CA
- Gravité : High
- Objectif : valider l’extension CDP des certificats CA.
- Méthode : analyse du certificat et validation des extensions.
- Résultat attendu : configuration CDP correcte dans les certificats CA.
- Preuve : présence de l’extension CDP, URL et état de configuration.
- Recommandation : configurez correctement les URL de l’extension CDP.
CA-OPS-005 : accessibilité des URL AIA
- Gravité : Medium
- Objectif : tester l’accessibilité des URL AIA HTTP.
- Méthode : test de connectivité HTTP vers les URL AIA.
- Résultat attendu : toutes les URL AIA HTTP avec
AddToCertificateAia=TRUEsont accessibles. - Preuve : état d’accessibilité des URL et codes de réponse HTTP.
- Recommandation : corrigez les problèmes d’accessibilité des URL AIA HTTP.
CA-OPS-006 : accessibilité des URL CDP/CRL
- Gravité : Medium
- Objectif : tester l’accessibilité des URL CDP/CRL HTTP.
- Méthode : test de connectivité HTTP vers les URL CDP/CRL.
- Résultat attendu : toutes les URL CDP/CRL HTTP avec les indicateurs applicables sont accessibles.
- Preuve : état d’accessibilité, codes HTTP et analyse des indicateurs.
- Recommandation : corrigez les problèmes d’accessibilité des URL CDP/CRL HTTP.
CA-OPS-007 : téléchargement AIA et validation de l’expiration
- Gravité : Medium
- Objectif : télécharger les certificats AIA et valider leur expiration.
- Méthode : téléchargement du certificat et analyse de l’expiration.
- Résultat attendu : les certificats AIA téléchargés possèdent des dates d’expiration valides.
- Preuve : détails du certificat, état du téléchargement et validation de l’expiration.
- Recommandation : mettez à jour les certificats AIA expirés.
CA-OPS-008 : téléchargement et validation CRL
- Gravité : Medium
- Objectif : télécharger les fichiers CRL et vérifier leur accessibilité.
- Méthode : téléchargement CRL et validation élémentaire.
- Résultat attendu : les fichiers CRL sont téléchargeables et valides.
- Preuve : état du téléchargement CRL, taille du fichier et validation élémentaire.
- Recommandation : assurez la publication et l’accessibilité des CRL.
CA-OPS-009 : configuration du filtre d’audit CA
- Gravité : Critical
- Objectif : valider la configuration du filtre d’audit CA.
- Méthode : analyse du registre et validation du masque de bits.
- Résultat attendu :
AuditFilterest défini sur 127 pour un audit complet. - Preuve : valeur actuelle d’
AuditFilteret catégories d’audit manquantes. - Recommandation : définissez
AuditFiltersur 127 pour activer toutes les catégories d’audit.
Audits de modèles#
CA-TEMPLATE-001 : validation des restrictions de modèle CA
- Gravité : Critical
- Objectif : valider les restrictions de modèle CA (
CT_FLAG_IS_CA). - Méthode : analyse des indicateurs de modèle et validation de cohérence.
- Résultat attendu : les modèles non CA ne doivent pas figurer sur les CA racines ou intermédiaires.
- Preuve : analyse du modèle, état de
CT_FLAG_IS_CAet évaluation de conformité. - Recommandation : retirez les modèles non CA des serveurs CA ou garantissez une utilisation cohérente de l’indicateur.
CA-TEMPLATE-002 : validation de la taille de clé des modèles
- Gravité : High
- Objectif : valider la taille minimale des clés des modèles de certificats.
- Méthode : comparaison de la taille de clé des modèles au seuil configuré.
- Résultat attendu : tous les modèles respectent la taille minimale de clé.
- Preuve : tailles de clés, état de conformité et modèles non conformes.
- Recommandation : mettez à jour les modèles afin qu’ils respectent la taille minimale requise.
CA-TEMPLATE-003 : validation de la version de schéma des modèles
- Gravité : High
- Objectif : valider les versions de schéma par rapport aux versions interdites.
- Méthode : analyse du schéma et recherche de versions interdites.
- Résultat attendu : les modèles n’utilisent pas de versions de schéma interdites.
- Preuve : versions du schéma, correspondances interdites et état de conformité.
- Recommandation : mettez à jour les modèles pour utiliser des versions de schéma conformes.
CA-TEMPLATE-004 : validation CSP des modèles
- Gravité : Critical
- Objectif : valider l’utilisation des Cryptographic Service Provider dans les modèles.
- Méthode : analyse des CSP par rapport aux listes approuvées et interdites.
- Résultat attendu : les modèles utilisent des CSP approuvés et évitent les CSP interdits.
- Preuve : CSP utilisés, état de conformité et modèles non conformes.
- Recommandation : mettez à jour les modèles pour utiliser les CSP approuvés et éviter les interdits.
CA-TEMPLATE-005 : validation de l’indicateur Enrollee Supplies Subject
- Gravité : High
- Objectif : valider l’utilisation de l’indicateur d’objet fourni par le demandeur.
- Méthode : analyse de l’indicateur et validation de la liste d’exclusion.
- Résultat attendu : les modèles avec
CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT=1figurent dans la liste d’exclusion. - Preuve : état de l’indicateur et conformité à la liste d’exclusion.
- Recommandation : mettez à jour les modèles ou la liste d’exclusion pour maintenir la conformité.
Audits cryptographiques#
CA-CRYPTO-001 : validation de la taille de clé du certificat CA
- Gravité : High
- Objectif : valider la taille des clés des certificats CA.
- Méthode : analyse du certificat et validation de la taille de clé.
- Résultat attendu : la taille de clé du certificat CA respecte le minimum requis.
- Preuve : détails du certificat, taille de clé et état de conformité.
- Recommandation : réémettez le certificat CA avec une taille de clé adéquate.
CA-CRYPTO-002 : détection d’algorithmes faibles dans les certificats CA
- Gravité : High
- Objectif : détecter les algorithmes cryptographiques faibles dans les certificats CA.
- Méthode : analyse des algorithmes par rapport à la liste des algorithmes interdits.
- Résultat attendu : le certificat CA utilise des algorithmes cryptographiques robustes.
- Preuve : algorithmes de signature et de clé, détection des algorithmes faibles.
- Recommandation : réémettez le certificat CA avec des algorithmes robustes.
CA-CRYPTO-003 : validation Extended Key Usage du certificat CA
- Gravité : High
- Objectif : valider les extensions Extended Key Usage des certificats CA.
- Méthode : analyse EKU par rapport à la liste des EKU interdites.
- Résultat attendu : le certificat CA ne contient pas d’EKU interdites.
- Preuve : extensions EKU, détection des EKU interdites et état de conformité.
- Recommandation : réémettez le certificat CA sans EKU interdites.
CA-CRYPTO-004 : validation Basic Constraints du certificat CA
- Gravité : High
- Objectif : valider l’extension Basic Constraints des certificats CA.
- Méthode : analyse Basic Constraints par rapport aux valeurs configurées.
- Résultat attendu : les contraintes de base du certificat CA correspondent aux valeurs configurées.
- Preuve : indicateur CA, contrainte de longueur de chemin et état de conformité.
- Recommandation : réémettez le certificat CA avec les bonnes contraintes de base.
Audits des autorisations#
CA-PERM-001 : validation des autorisations d’administrateur CA
- Gravité : Critical
- Objectif : valider les autorisations des administrateurs CA par rapport aux principaux attendus.
- Méthode : analyse des autorisations de sécurité et validation des principaux.
- Résultat attendu : tous les administrateurs CA figurent dans la liste des principaux attendus.
- Preuve : principaux administrateurs, principaux attendus et état de conformité.
- Recommandation : ajoutez les principaux non conformes à la liste attendue ou supprimez leurs autorisations.
Scénarios d’utilisation et exemples#
Évaluation complète de l’infrastructure#
Exécutez un audit complet de votre environnement PKI :
# Interactive menu option 1
PKI_Trust_Auditor.exe
# Command line equivalent
PKI_Trust_Auditor.exe --tests fullLes opérations suivantes sont exécutées :
- Validation des privilèges utilisateur.
- Découverte des Certificate Authority.
- Tests de connectivité (WMI/PowerShell).
- Audits de configuration (registre, modèles, AIA, CRL).
- Audits opérationnels (état du service, certificats et URL).
- Audits de modèles (restrictions, tailles de clés, versions de schéma).
- Audits cryptographiques (tailles de clés, algorithmes et extensions).
- Audits des autorisations.
Test ciblé de connectivité#
Testez uniquement la connectivité réseau avec les CA découvertes :
# Interactive menu option 5
# Or command line
PKI_Trust_Auditor.exe --tests connectivityÉvaluation de la sécurité des modèles#
Concentrez-vous sur la sécurité des modèles de certificats :
# Interactive menu option 8
# Or command line
PKI_Trust_Auditor.exe --tests templatesRevue cryptographique#
Analysez la sécurité des certificats et des algorithmes :
# Interactive menu option 7
# Or command line
PKI_Trust_Auditor.exe --tests cryptoRapports Web#
Générez et ouvrez des rapports Web interactifs :
# Interactive menu option 3
# Or command line
PKI_Trust_Auditor.exe --reportDécouverte rapide uniquement#
Découvrez les CA sans lancer d’audit :
# Interactive menu option 4
# Or command line (no direct equivalent, use interactive menu)Résultats et rapports#
Structure des fichiers de sortie#
L’outil crée un répertoire Audit-Results/ avec la structure suivante :
Audit-Results/
├── PKI-Audit.json # Complete audit results in JSON format
├── PKI-Audit.csv # Summary data in CSV format
├── CA-CRYPTO-001-{CA-Name}.cer # Downloaded CA certificates
├── CA-OPS-007-{CA-Name}.cer # Downloaded AIA certificates
├── CA-OPS-008-{CA-Name}.crl # Downloaded CRL files
├── {Control-ID}-{CA-Name}.txt # Individual control evidence files
└── {Control-ID}-{CA-Name}.json # JSON evidence files (for some controls)
Formats de rapport#
Rapport JSON (PKI-Audit.json)
Données structurées complètes comprenant :
- Détails des Certificate Authority.
- Résultats de tous les contrôles et leurs preuves.
- Horodatages et durées d’exécution.
- Statistiques récapitulatives et taux de réussite.
Rapport CSV (PKI-Audit.csv)
Données tabulaires adaptées aux feuilles de calcul :
- ID, nom, gravité et état du contrôle.
- Certificate Authority et résultat attendu.
- Heure et durée d’exécution.
Fichiers individuels des contrôles
Preuves détaillées pour chaque exécution de contrôle :
- Métadonnées et configuration du contrôle.
- Texte complet des preuves.
- Recommandations et état de conformité.
- Détails et durée d’exécution.
Application Web
Rapports Web interactifs :
- Tableau de bord visuel récapitulatif.
- Détail des contrôles.
- Filtrage et recherche.
- Fonction d’exportation.
Collecte de preuves#
Chaque contrôle génère des preuves détaillées comprenant :
- Métadonnées du contrôle : ID, nom, gravité et résultat attendu.
- Détails d’exécution : horodatage, durée et informations CA.
- Contenu des preuves : sortie brute, données analysées et résultats.
- État de conformité : réussite, échec, erreur ou non exécuté.
- Recommandations : étapes de correction précises.
Stockage des certificats et CRL#
- Certificats CA : téléchargés depuis Active Directory pour analyse.
- Certificats AIA : téléchargés depuis les URL AIA pour validation.
- Fichiers CRL : téléchargés depuis les URL CDP pour tester l’accessibilité.
Dépannage et problèmes courants#
Problèmes de connectivité#
Échecs de connectivité WMI
Symptômes : échecs de PKI-TEST-001.
Causes :
- Le pare-feu bloque le port 135.
- Le service WMI n’est pas en cours d’exécution sur la CA.
- Problèmes de connectivité réseau.
- Autorisations insuffisantes.
Solutions :
# Check WMI service status
sc \\CA-Server query winmgmt
# Test basic connectivity
Test-NetConnection CA-Server -Port 135
# Verify firewall rules
netsh advfirewall firewall show rule name="Windows Management Instrumentation (WMI-In)"Échecs PowerShell remoting
Symptômes : échecs de PKI-TEST-002.
Causes :
- Le service WinRM n’est pas en cours d’exécution.
- PowerShell remoting n’est pas activé.
- Problèmes de certificat pour HTTPS.
- Problèmes de connectivité réseau.
Solutions :
# Enable PowerShell remoting (run on CA server)
Enable-PSRemoting -Force
# Check WinRM service
Get-Service WinRM
# Test WinRM connectivity
Test-WSMan CA-ServerProblèmes d’autorisations#
Accès Active Directory
Symptômes : échec de la découverte des CA. Causes :
- Autorisations AD insuffisantes.
- Problèmes de connectivité avec le contrôleur de domaine.
- Problèmes de résolution DNS.
Solutions :
- Vérifiez que le compte utilisateur de domaine dispose d’un accès en lecture au conteneur Configuration.
- Vérifiez la résolution DNS des contrôleurs de domaine.
- Vérifiez la connectivité réseau aux contrôleurs de domaine.
Autorisations administratives CA
Symptômes : échecs d’audit de configuration. Causes :
- Autorisations CA Administrator manquantes.
- Droits d’administrateur local absents sur les serveurs CA.
- Autorisations Certificate Manager manquantes.
Solutions :
- Ajoutez l’utilisateur au groupe CA Administrators.
- Accordez les droits d’administrateur local sur les serveurs CA.
- Vérifiez que les autorisations Certificate Manager sont présentes.
Problèmes de configuration#
Problèmes parameters.json
Symptômes : erreurs d’exécution des contrôles ou comportement inattendu. Causes :
- Format JSON non valide.
- Paramètres requis manquants.
- Valeurs de paramètres incorrectes.
Solutions :
// Validate parameters.json structure
{
"DomainOverride": "DC=yourdomain,DC=com",
"CA-CRYPTO-001": 2048,
"CA-CRYPTO-002": ["MD5", "SHA1", "DES", "RC4", "3DES"],
"CA-TEMPLATE-001": true
}Problèmes de détection du domaine
Symptômes : impossible de découvrir les CA ou de récupérer les certificats. Causes :
- Échec de la détection automatique du domaine.
- Valeur
DomainOverrideincorrecte. - Problèmes réseau/DNS.
Solutions :
- Vérifiez que
DomainOverridedansparameters.jsoncorrespond à votre domaine. - Vérifiez la résolution DNS des contrôleurs de domaine.
- Vérifiez la connectivité réseau avec le domaine.
Problèmes de performances#
Exécution lente
Causes :
- Nombre élevé de CA à auditer.
- Latence réseau avec les CA distantes.
- Ressources insuffisantes sur les serveurs CA.
Solutions :
- Lancez des audits ciblés plutôt que des audits complets.
- Planifiez les audits en dehors des heures de pointe.
- Vérifiez que les serveurs CA disposent de ressources suffisantes.
Utilisation de la mémoire
Causes :
- Fichiers de certificats volumineux.
- Collecte de preuves étendue.
- Plusieurs audits simultanés.
Solutions :
- Videz régulièrement le cache des résultats d’audit.
- Surveillez les ressources système pendant l’exécution.
- Envisagez d’utiliser un serveur dédié aux audits.
Configuration avancée#
Référence parameters.json
Configuration du domaine
{
"DomainOverride": "DC=securetron-lab,DC=local"
}Paramètres cryptographiques
{
"CA-CRYPTO-001": 2048, // Minimum key size in bits
"CA-CRYPTO-002": ["MD5", "SHA1", "DES"], // Prohibited algorithms
"CA-CRYPTO-003": ["Server Authentication", "Client Authentication"], // Prohibited EKUs
"CA-CRYPTO-004": ["CA", "-1"] // Basic constraints (CA flag, path length)
}Paramètres des modèles
{
"CA-TEMPLATE-001": true, // Enable template restriction validation
"CA-TEMPLATE-002": 2048, // Minimum template key size
"CA-TEMPLATE-003": [1], // Prohibited schema versions
"CA-TEMPLATE-004": [ // CSP validation settings
"Microsoft Base Cryptographic Provider v1.0", // Prohibited CSPs
"APPROVED", // Separator
"Microsoft Enhanced Cryptographic Provider v1.0", // Approved CSPs
"Microsoft Strong Cryptographic Provider"
],
"CA-TEMPLATE-005": [ // Enrollee supplies subject
"1", // Control enabled (1) or disabled (0)
"WebServer", // Exclusion list templates
"Workstation"
]
}Paramètres opérationnels
{
"CA-OPS-002": ["10", "3", "5", "1"], // Certificate expiration limits
// [Root Max, Root Min, Sub Max, Sub Min]
"CA-OPS-003": true, // AIA validation required
"CA-OPS-004": true, // CDP validation required
"CA-OPS-005": true, // AIA reachability validation
"CA-OPS-006": true, // CDP/CRL reachability validation
"CA-OPS-007": true, // AIA certificate validation
"CA-OPS-008": true, // CRL download validation
"CA-OPS-009": 127 // Audit filter threshold
}Paramètres d’autorisations
{
"CA-PERM-001": [ // Expected CA administrators
"DOMAIN\\CA-Admins", // Substitute DOMAIN in parameters.json
"DOMAIN\\PKI-Admins"
]
}Configuration personnalisée des contrôles#
Activer/désactiver les contrôles
Les contrôles peuvent être activés ou désactivés via parameters.json :
- Valeurs booléennes :
truepour activer,falsepour désactiver. - Valeurs numériques : toute valeur non nulle active le contrôle ;
0le désactive. - Valeurs de tableau : le premier élément détermine l’activation.
Configuration des seuils
De nombreux contrôles acceptent des seuils configurables :
- Tailles de clés (
CA-CRYPTO-001,CA-TEMPLATE-002). - Limites d’expiration (
CA-OPS-002). - Listes d’algorithmes (
CA-CRYPTO-002). - Versions de schéma (
CA-TEMPLATE-003).
Listes d’exclusion
Certains contrôles prennent en charge des listes d’exclusion :
- Exclusions de modèles (
CA-TEMPLATE-005). - Principaux administrateurs (
CA-PERM-001).
Personnalisation des scripts#
Scripts PowerShell
L’outil utilise des scripts auxiliaires PowerShell pour certaines opérations :
helper/ca-config-001.ps1- configuration du registre.helper/ca-config-006.ps1- exportation des modèles.
Ils peuvent être adaptés à des environnements ou exigences spécifiques.
Analyse des preuves
L’outil fournit une analyse avancée des preuves pour :
- Fichiers de configuration JSON.
- Sortie des commandes certutil.
- Sortie des objets PowerShell.
- Structures de données du registre.
Considérations de sécurité#
Traitement des données#
Informations collectées
L’outil collecte et stocke :
- Données de configuration Certificate Authority.
- Modèles de certificats et paramètres associés.
- Informations sur les algorithmes cryptographiques.
- Informations de connectivité réseau.
- Paramètres d’autorisations et de sécurité.
Sécurité du stockage
- Toutes les données sont stockées localement dans
Audit-Results. - Aucune information sensible n’est transmise à l’extérieur.
- Les fichiers de preuves contiennent des données d’évaluation de sécurité.
- Les certificats et CRL téléchargés sont stockés pour analyse.
Sécurité réseau#
Méthodes de communication
- WMI : utilise DCOM/RPC via le port 135.
- PowerShell : utilise WinRM via les ports 5985/5986.
- LDAP : requêtes Active Directory via les ports 389/636.
- HTTP/HTTPS : tests d’accessibilité des URL.
Recommandations de sécurité
- Utilisez des comptes d’audit dédiés avec le minimum de privilèges.
- Segmentez le réseau des serveurs CA.
- Utilisez des canaux chiffrés lorsqu’ils sont disponibles (LDAPS, WinRM HTTPS).
- Examinez et mettez à jour régulièrement les autorisations d’audit.
Utilisation des identifiants#
Méthodes d’authentification
- Utilise les identifiants de l’utilisateur actuel pour toutes les opérations.
- Ne stocke et ne met en cache aucun identifiant.
- S’appuie sur l’authentification intégrée Windows.
Bonnes pratiques
- Utilisez des comptes de service dédiés aux audits.
- Appliquez le principe du moindre privilège.
- Renouvelez régulièrement les identifiants des comptes d’audit.
- Surveillez l’utilisation du compte d’audit.
Aide à la conformité#
Référentiels réglementaires
L’outil aide à évaluer la conformité aux référentiels suivants :
- NIST SP 800-53 : évaluation des contrôles de sécurité.
- PCI DSS : exigences relatives aux certificats et à la cryptographie.
- ISO 27001 : gestion de la sécurité de l’information.
- CIS Benchmarks : recommandations de configuration de sécurité.
Génération de preuves
- Preuves détaillées d’exécution des contrôles.
- Enregistrements d’exécution horodatés.
- Rapports d’état de conformité.
- Recommandations de remédiation.
Annexe#
Référence des ID de contrôle#
Tests de connectivité
- PKI-TEST-001 : test de connectivité WMI/SMB.
- PKI-TEST-002 : test de connectivité PowerShell.
- PKI-TEST-003 : validation des privilèges utilisateur.
Audits de configuration
- CA-CONFIG-001 : configuration du registre CA.
- CA-CONFIG-002 : modèles de CA.
- CA-CONFIG-003 : configuration AIA.
- CA-CONFIG-004 : points de distribution CRL.
- CA-CONFIG-005 : configuration CAPolicy.inf.
- CA-CONFIG-006 : exportation PowerShell des modèles.
Audits opérationnels
- CA-OPS-001 : état du service CertSvc.
- CA-OPS-002 : validation de l’expiration du certificat CA.
- CA-OPS-003 : validation de la configuration AIA du certificat CA.
- CA-OPS-004 : validation de la configuration CDP du certificat CA.
- CA-OPS-005 : accessibilité des URL AIA.
- CA-OPS-006 : accessibilité des URL CDP/CRL.
- CA-OPS-007 : téléchargement AIA et validation de l’expiration.
- CA-OPS-008 : téléchargement et validation CRL.
- CA-OPS-009 : configuration du filtre d’audit CA.
Audits de modèles
- CA-TEMPLATE-001 : validation des restrictions de modèle CA.
- CA-TEMPLATE-002 : validation de la taille de clé des modèles.
- CA-TEMPLATE-003 : validation de la version de schéma des modèles.
- CA-TEMPLATE-004 : validation CSP des modèles.
- CA-TEMPLATE-005 : validation de l’indicateur Enrollee Supplies Subject.
Audits cryptographiques
- CA-CRYPTO-001 : validation de la taille de clé du certificat CA.
- CA-CRYPTO-002 : détection d’algorithmes faibles dans les certificats CA.
- CA-CRYPTO-003 : validation Extended Key Usage du certificat CA.
- CA-CRYPTO-004 : validation Basic Constraints du certificat CA.
Audits des autorisations
- CA-PERM-001 : validation des autorisations d’administrateur CA.
Niveaux de gravité#
Critical
- Risques de sécurité immédiats.
- Incidences sur la disponibilité du système.
- Défaillances fondamentales de sécurité.
High
- Problèmes de sécurité importants.
- Non-conformités réglementaires.
- Problèmes de configuration importants.
Medium
- Risques de sécurité modérés.
- Écarts par rapport aux bonnes pratiques.
- Améliorations de configuration nécessaires.
Low
- Observations de sécurité mineures.
- Constatations informatives.
- Possibilités d’amélioration.
Codes d’état#
Success
Le contrôle a été exécuté correctement et a satisfait les résultats attendus.
Failure
Le contrôle a été exécuté correctement, mais n’a pas satisfait les résultats attendus.
Error
Le contrôle n’a pas pu s’exécuter correctement en raison de problèmes techniques.
Not Run
Le contrôle a été ignoré (généralement à cause d’échecs de prérequis).
Structure des fichiers#
Structure de sortie
Audit-Results/
├── PKI-Audit.json (Complete results)
├── PKI-Audit.csv (Summary data)
├── *.cer (Certificate files)
├── *.crl (CRL files)
├── *.txt (Evidence files)
└── *.json (JSON evidence files)
Assistance et ressources#
Documentation
- Ce guide utilisateur.
- Aide intégrée à l’application (option
--help). - Fichiers de preuves propres à chaque contrôle.
Assistance technique
- Contact : [email protected]
- Site Web : https://securetron.net
- Produit : https://securetron.net/pki-trust-auditor/
Mises à jour et maintenance
- Mises à jour de sécurité régulières.
- Ajout de nouveaux contrôles.
- Améliorations des performances.
- Mises à jour de compatibilité.
Ce guide utilisateur est maintenu par l’équipe de développement PKI Trust Auditor. Dernière mise à jour : octobre 2025.