Dans la configuration standard, le répondeur en ligne renvoie le statut „Good“ pour les certificats demandés qui n'apparaissent pas sur l'une des listes de révocation configurées.
Cela peut poser problème, car le répondeur en ligne n'a pas connaissance des certificats émis par les autorités de certification. Si un attaquant parvenait à émettre un certificat à l'aide de la clé privée de l'autorité de certification sans en avoir connaissance, cela ne serait pas détecté par le répondeur en ligne et ne serait pas non plus pris en compte dans le système. Protocole d'audit apparaissent comme „Good“.
Le Online Responder (Online Certificate Status Protocol, OCSP) est une autre manière de fournir des informations sur le statut de révocation des certificats. Grâce à l'OCSP, les entités qui souhaitent vérifier le statut de révocation d'un certificat ne doivent pas télécharger la liste complète de tous les certificats révoqués, mais peuvent adresser une demande ciblée au répondeur en ligne pour le certificat concerné. Pour une description plus détaillée, voir l'article "Principes de base du répondeur en ligne (Online Certificate Status Protocol, OCSP)„ .
Voir aussi à ce sujet RFC 6960:
L'état „bon“ indique une réponse positive à la demande d'état. Au minimum, cette réponse positive indique qu'aucun certificat portant le numéro de série du certificat demandé n'est actuellement révoqué dans son intervalle de validité. Cet état ne signifie pas nécessairement que le certificat a jamais été émis ou que le moment auquel la réponse a été produite se situe dans l'intervalle de validité du certificat.
Fonctionnement
Connaissez-vous TameMyCerts? TameMyCerts est un add-on pour l'autorité de certification Microsoft (Active Directory Certificate Services). Il étend la fonction de l'autorité de certification et permet de Application de la réglementationIl s'agit d'un logiciel de gestion des certificats qui permet d'automatiser l'émission de certificats en toute sécurité. TameMyCerts est unique dans l'écosystème Microsoft, a déjà fait ses preuves dans d'innombrables entreprises du monde entier et est disponible sous une licence libre. Il peut téléchargé via GitHub et être utilisé gratuitement. Une maintenance professionnelle est également proposée.
Les étapes suivantes sont suivies :
- Exporter les numéros de série des certificats délivrés par les autorités de certification.
- Configurer le répondeur en ligne pour qu'il utilise les numéros de série exportés afin de vérifier le statut des certificats.
Les numéros de série des certificats délivrés par les autorités de certification concernées sont exportés sous forme de fichiers texte vides. Le nom du fichier correspond au numéro de série du certificat.
Ces fichiers doivent être mis à la disposition du répondeur en ligne. Après avoir été configuré pour rechercher les numéros de série dans le répertoire configuré, il vérifiera, pour chaque certificat demandé, si un fichier correspondant au numéro de série peut être trouvé.
Une fois la configuration effectuée, le répondeur en ligne se comportera comme suit :
- Pour les certificats dont les numéros de série sont trouvés dans l'un des répertoires configurés, le statut „Good“ est renvoyé.
- Pour les certificats dont les numéros de série apparaissent dans l'une des listes de révocation configurées, le statut „Revoked“ est renvoyé.
- Pour les certificats auxquels les deux critères précédents ne s'appliquent pas, le statut „Inconnu“ est renvoyé.
Fiabilité de la solution
L'utilisation du répondeur en ligne par tous les participants n'est pas garantie. Par exemple, il est possible que le répondeur en ligne ne soit pas utilisé dans les cas suivants :
- L'application qui effectue le contrôle n'utilise pas l'OCSP.
- Le certificat à vérifier n'a pas de chemin OCSP inscrit dans l'extension Authority Information Access (AIA). Comme elle peut être déterminée par un agresseur dans certaines circonstances, Si les CDP sont fournis, cela pose un problème.
- Le site OCSP Numéro magique s'applique lorsque les CDP sont configurés dans le certificat (par exemple, les contrôleurs de domaine qui vérifient les inscriptions par carte à puce). Dans ce cas, l'application utilisera de préférence la liste de révocation, car elle estime que cela est plus efficace.
Il n'est possible de s'assurer que l'OCSP est utilisé dans tous les cas que si les certificats délivrés ne contiennent pas de CDP et que les listes de révocation ne sont accessibles nulle part.
Alternativement, il y a aussi la possibilité, de demander à des ordinateurs individuels, par le biais d'une stratégie de groupe pour certaines autorités de certification, d'utiliser exclusivement les répondeurs en ligne.
Installation
Installer le hotfix
Pour Windows Server 2012 R2, le hotfix KB2967917 doit être installé. Windows Server 2016 et les versions ultérieures incluent déjà le correctif.
Exporter les numéros de série des certificats délivrés par les autorités de certification
Ci-joint l'exemple de script tiré de l'article de la base de connaissances mentionné précédemment.
param(
[ValidateScript({Test-Path $_})]
[String] $Path
)
pushd $Path
dir | foreach {
remove-item $_ -force
}
certutil.exe -out serialnumber -restrict "Disposition = 20" -view | foreach {
if ($_ -match 'Serial Number: "([^"]+)"') {
New-Item -type File $matches[1] | out-null
}
}
popd
Le script doit être exécuté régulièrement afin de maintenir la synchronisation des informations sur les certificats émis.
Alternativ ist es möglich und auch eleganter, hierfür ein Exit Modul zu schreiben, welches die Seriennummern direkt bei Ausstellung eines Zertifikats ins Dateisyste, speichert. Siehe Artikel „Créer un module de sortie pour l'autorité de certification dans C#„ .


Configurer le répondeur en ligne pour qu'il utilise les numéros de série exportés pour vérifier le statut des certificats
Pour que le répondeur en ligne puisse vérifier les numéros de série exportés, la configuration de blocage correspondante doit être configurée à cet effet. Il n'existe pas d'interface graphique ni de commande en ligne de commande à cet effet. Au lieu de cela, le chemin doit être indiqué directement via une clé de registre.
Pour cela, il faut naviguer avec l'éditeur de registre dans le répertoire suivant :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OcspSvc\Responder\{Name-der-Sperrkonfiguration}\Provider
Une nouvelle valeur multi-chaîne y est créée.
Le nom „IssuedSerialNumbersDirectories“ lui est attribué.

Le chemin configuré, qui contient les numéros de série, est configuré comme contenu.


Appliquer les modifications
Une fois la configuration terminée, le service de répondeur en ligne doit ensuite être redémarré.
Restart-Service OCSPSvc
Contrôle des résultats
Si les Audit des événements OCSP est activé et qu'un certificat avec un numéro de série inconnu est demandé pour vérification, le répondeur en ligne renvoie maintenant un statut de „Unknown“ (à voir dans l'événement n. 5125).

A titre de comparaison, si aucun bon déterministe n'est configuré, le même certificat entraîne un statut de „bon“.

Liens complémentaires :
- forcer les contrôleurs de domaine (ou autres participants) à utiliser un répondeur en ligne (OCSP)
- Vecteur d'attaque sur le service d'annuaire Active Directory via le mécanisme de connexion par carte à puce
- Aperçu des événements d'audit générés par le répondeur en ligne (OCSP)
Les commentaires sont fermés.