Pré-requis

  • Nous devrons disposer de deux machines 64 bits avec au moins 2 Go de RAM, 32 Go d'espace de stockage, 1 puce TPM, 1 interface réseau. Dans un environnement de production, il est plus que recommandé de mettre à jour régulièrement le système d'exploitation du serveur.

Installer l'autorité racine

L'intégration d'une autorité de certification dans Active Directory offre de nombreux avantages tels que la distribution automatique de certificats. Cependant, dans le cas de la création d'une autorité de certification racine, il faut mettre en place des mesures de sécurisation supplémentaires spécifiques pour minimiser le risque de compromission de la PKI. C'est pourquoi la meilleure pratique consiste à créer une autorité racine non intégrée à l'AD (standalone) et à la laisser éteinte sauf en cas de besoin. On créera ensuite une autorité secondaire certifiée par l'autorité racine et qui elle, sera intégrée à l'AD et restera en ligne.

  1. Renommer le serveur (ex : root-ca) sans l'intégrer au domaine Active Directory et rebooter

  2. Dans le gestionnaire de serveur, cliquer sur "Ajouter des rôles et des fonctionnalités"

    cap1

     
  3. Dans la fenêtre "Avant de commencer" cliquer sur "suivant"

  4. Dans la fenêtre suivante, sélectionner "Installation basée sur un rôle ou une fonctionnalité", puis cliquer sur "suivant"

    cap2


  5.  Dans la fenêtre suivante, sélectionner le serveur dans le pool de serveur, puis cliquer sur "suivant"

    cap3

     
  6. Dans la fenêtre suivante, sélectionner "Services de certificats Active Directory". Un popup apparait demandant si on veut installer des outils d'administration complémentaires. Cliquer sur "Ajouter des fonctionnalités" puis sur "suivant"

    cap4

     
  7.  Dans la fenêtre suivante, cliquer sur "suivant"

    cap5

     
  8.  Dans la fenêtre suivante, il est mentionné que le nom de ce serveur n'est plus modifiable après avoir installé les services ADCS. Il faut donc en tenir compte. Cliquer sur "suivant"

    cap6

     
  9. Dans la fenêtre suivante, il est possible d'ajouter des fonctions à l'autorité de certification. Dans notre cas de figure nous nous contenterons de la fonction de base. Cliquer sur "suivant"

    cap7

     
  10. Dans la fenêtre suivante, cocher la case "Redémarrer automatiquement le serveur de destination si nécessaire" et cliquer sur "installer"

    cap8

     
  11.  Dans la fenêtre suivante, cliquer sur "fermer" une fois l'installation terminée

    cap9

     
  12.   Dans le gestionnaire de serveur, une icône d'avertissement apparait signalant que la configuration post-déploiement de ADCS est requise. Cliquer sur "Configurer les services de certificats Active-Directory"

    cap10

     
  13.  Dans la fenêtre suivante, le compte administrateur local doit être spécifié puisque notre autorité de certification sera autonome. Ce doit normalement être déjà le cas par défaut. Cliquer sur "suivant"

    cap11

     
  14. Dans la fenêtre suivante, cocher la case "Autorité de certification" puisque c'est le rôle que nous souhaitons configurer. Cliquer ensuite sur "suivant".

    cap12

     
  15. Dans la fenêtre suivante, sélectionner "Autorité de certification autonome" puis cliquer sur "suivant"

    cap13

     
  16.  Dans la fenêtre suivante, sélectionner "Autorité de certification racine" puis cliquer sur "suivant"

    cap14

     
  17. Dans la fenêtre suivante, sélectionner "Créer une clé privée" puis cliquer sur "suivant"

    cap15


  18. Dans la fenêre suivante, spécifier une longueur de clé RSA de 4096 bits et l'algorithme de hachage SHA512. Cliquer ensuite sur "suivant"

    cap16

     
  19. Donner un nom pour cette autorité de certification qui apparaitra dans les certificats émis. Notez que l'assistant propose un nom en ajoutant un suffixe -CA au nom du serveur, ce qui peut être redondant si notre serveur possède déjà un suffixe -CA (ex : ROOT-CA-CA). Dans ce cas, on peut supprimer le suffixe en trop 😊. Cliquer ensuite sur "suivant"

    cap17

     

  20. Dans la fenêtre suivante, spécifier une durée de validité pour le certificat racine de cette autorité de certification puis cliquer sur "suivant"

    cap18

     
  21. Dans la fenêtre suivante, changer éventuellement l'emplacement des logs et cliquer sur "suivant"

    cap19

     
  22.  Dans la fenêtre suivante, vérifier le récapitulatif et cliquer sur "configurer"

    cap20

     
  23. La fenêtre suivante doit indiquer que la configuration est réussie et on peut alors cliquer sur "fermer"

    cap21



Publier la CRL et l'AIA dans Active Directory

Une autorité de certification émet des certificats. Mais elle doit également mettre à disposition des machines clientes une liste des certificats révoqués appelée CRL (Certificate Revocation List) et des informations sur son identité nommées AIA (Authority Information Access). La mise à disposition se fait généralement par des modalités différentes (LDAP, HTTP, Accès fichier CIFS...) mais le plus simple pour les machines membres d'un domaine AD est d'y accéder directement dans l'annuaire LDAP. Cependant, comme cette autorité racine ne fait pas partie d'un domaine Active Directory, elle ne peut pas y publier elle-même la CRL et l'AIA. Il faut donc faire l'opération manuellement à partir d'une machine membre du domaine et c'est ce que nous allons voir dans la procédure ci-dessous.

  1.  Sur le serveur de l'autorité de certification racine, taper "autorité de certification" dans la barre de recherche Windows afin d'ouvrir le composant d'administration.

  2. Faire un clic-droit + "propriété" sur le serveur de l'autorité de certification

    cap68

     
  3. Dans l'onglet "Extensions" de la boîte de dialogue, une liste d'emplacements est affichée pour chaque extension sélectionnée (CDP et AIA). Certains de ces emplacements sont utilisés par l'autorité de certification pour publier les CRL et AIA tandis que d'autres correspondent aux adresses qui seront incluses dans les certificats émis. La configuration des emplacements se fait à l'aide des cases à cocher en bas de la fenêtre.
    Dans notre cas, nous constatons que nous pourrons récupérer manuellement les 2 fichiers (CRL + certificat) dans le répertoire C:\Windows\system32\CertSrv\CertEnroll\ afin de les intégrer à la forêt Active Directory à partir d'un serveur membre. 

    cap69
     
  4. Pour que les clients Active Directory sachent qu'il faut aller chercher les informations de CRL et AIA dans l'annuaire LDAP, il faut sélectionner l'emplacement "ldap:/// ... " pour chaque extension (CDP + AIA) et cocher la case "Inclure dans l'extension CDP / AIA des certificats émis". Appuyer sur "OK". Un message demande alors de redémarrer le service ADCS. Cliquer sur "oui".

    cap74


  5. L'opération précédente n'est toutefois pas suffisante car l'annuaire LDAP où nous souhaitons que nos clients AD récupèrent les informations de CRL et AIA est totalement inconnu de notre autorité de certification racine (standalone). Les pseudo-adresses LDAP des extensions CDP et AIA ne peuvent donc pas être complétées par les vraies adresses de notre annuaire Active Directory. Pour résoudre ce problème, il faut lancer la commande suivante qui va ajouter les informations requises dans la base de registre (remplacer "DC=pic,DC=lan" par vos informations de domaine) :

    certutil -setreg ca\DSConfigDN "CN=Configuration,DC=pic,DC=lan"

    cap75
  6. Redémarrer l'autorité de certification en faisant un clic-droit sur l'autorité puis < Toutes les tâches / Arrêter le service > puis à nouveau < Toutes les tâche / Démarrer le service >

    cap76


  7. Nous constatons maintenant que si nous ouvrons un certificat nouvellement émis par l'autorité de certification, l'adresse LDAP de l'extension CDP du certificat est correcte.

    cap77


  8. Si nous avons révoqué des certificats et devons publier une nouvelle CRL, nous pouvons faire cette opération dans le composant d'administration en faisant un clic-droit sur "Certificats révoqués" puis < Toutes les tâches / publier >

    cap70

     
  9. Récupérer le fichier de CRL et le certificat racine dans le répertoire C:\Windows\system32\CertSrv\CertEnroll\  et les copier sur un serveur membre du domaine Active Directory

    cap71

     
  10.  Sur le serveur membre, ouvrir une fenêtre de ligne de commande, se placer dans le répertoire où les fichiers ont été copiés et taper les commandes suivantes :

    certutil -f -dspublish root-ca_ROOT-CA.crt RootCA

    cap72

    certutil -f -dspublish ROOT-CA.crl root-ca ROOT-CA

    cap73

Notons que quand une machine cliente reçoit un certificat d'un serveur, elle peut lire l'adresse de révocation (CDP) et ainsi vérifier si le certificat est toujours valide. Si le CDP n'est pas consultable, alors un message d'erreur peut apparaître. Etant donné que les adresses de CRL et AIA sont incluses dans les certificats, il est important de bien les définir avant l'émission de nouveaux certificats.

 

Liens de référence

https://www.tutos.eu/4534
https://blog.ronnyvdb.net/2019/01/20/howto-publish-offline-certificates-and-crls-to-active-directory/
https://www.securew2.com/blog/best-practices-ad-cs-configuration
https://rdr-it.com/autorite-certification-entreprise-installation-configuration-windows-server/2/

 

 

 

Ajouter un commentaire

Joomla templates by a4joomla