TUTOS.EU

Installer l'autorité de certification sur Windows server partie 1

Installer une autorité de certification en 2 parties : le rootCA


Cet article explique comment mettre en place une PKI en 2 parties dont l'autorité racine est déconnectée ((two-tier PKI hierarchy).

Pour cela l'article reprendre les étapes de ce lien Microsoft

https://social.technet.microsoft.com/wiki/contents/articles/15037.ad-cs-step-by-step-guide-two-tier-pki-hierarchy-deployment.aspx

 

Le rôle du rootCA est ici installé sur un serveur nommé MyRootCA. C'est un serveur autonome, non joint à un domaine pour des raisons de sécurité.
Il pourra ainsi être éteint pour éviter les problèmes de compromission. En étant en dehors du domaine il n'a pas de problème d'expiration de compte de l'ordinateur (lifetime tombstone).

Le rôle du subCA, l'autorité de certification secondaire, sera installé sur le serveur MySubCA qui appartient lui au domaine mydomain.local.

Il servira également de CDP / CRL / Certificate Revocation List distribution point et d'AIA (Authorithy Information Access) au travers d'un site web.

Les contrôleurs de domaine auront également le rôle de CDP et AIA via l'annuraire LDAP qu'ils hébergent.

 

The CDP is where the certificate revocation list is maintained, which allows client computers to determine if a certificate has been revoked. 

The AIA is used to point to the public key for the certification authority. Il permet aux ordinateurs de localiser les chemins d’accès aux informations de l’autorité. 

Le serveur va avoir besoin d'un disque D qui contient un répertoire CertEnroll


Dans server manager, ajouter un rôle

Next next

Cocher Active Directory Services

Add Features

Next next next next next

Install

Close


Cliquer sur Post Deployment Configuration

Puis Next

Cocher Certification Authority et Next

Cocher Root CA et next

Créer une nouvelle clé privée puis Next

Sélectionner une taille de clé ainsi que l'algorithme

Donner un nom

Choisir une durée de validité

Indiquer l'emplacement des logs

Lancer la configuration

Cliquer sur Close

On peut ensuite re régler la durée de validité des certificats délivrés par le RootCa avec certutil .exe

certutil -setreg ca\ValidityPeriod "Years"  
certutil -setreg ca\ValidityPeriodUnits "5" 
Lien vers le fichier : cliquez ici Copier le code

Et surtout on peut régler également la durée de validité de la CRL

certutil -setreg CA\CRLPeriodUnits 1 
certutil -setreg CA\CRLPeriod "Years" 
certutil -setreg CA\CRLOverlapPeriod "Months" 
certutil -setreg CA\CRLOverlapUnits 6 
Lien vers le fichier : cliquez ici Copier le code

Tous ces paramètres se retrouvent dans la base de registre sous

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration
Lien vers le fichier : cliquez ici Copier le code

Concernant les périodes de validité de la CRL, voici les explications que l'on trouvait sur
https://www.tech-coffee.net/public-key-infrastructure-part-4-configure-certificate-revocation-list

Comme notre RootCA n'est pas jointe au domaine, il faut utiliser adapter cette commande pour indiquer où stocker les informations dans l'AD, dont l'emplacement de la CRL

Certutil –setreg ca\DSConfigDN "CN=Configuration,DC=mydomain,DC=local"
Lien vers le fichier : cliquez ici Copier le code

Le site tech-coffee.net  partie Extensions configuration (AIA and CDP) indique qu'il faut configurer de suite les extensions AIA et CDP, sinon ces informations ne seront pas dans les certificats, et pour corriger le tir il faudra les regénérer.


Pour le CDP, ce lien Microsoft indique qu'on peut paramétrer les options en ligne de commande.

Accédez la console de gestion de la pki avec

certsrv.msc
Lien vers le fichier : cliquez ici Copier le code

Accédez aux propriétés de la Root Ca

La configuration de la CRL Distribution Point et de l'AIA se voient sous Extensions

Pour paramétrer la CRL Distribution Point vis à vis de notre infrastructure, la ligne de commande adaptée donne

certutil -setreg CA\CRLPublicationURLs "1:D:\CertEnroll\%7%8%9.crl\n10:ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10\n2:http://pki.mydomain.local/CertEnroll/rootcacrl.crl" 
Lien vers le fichier : cliquez ici Copier le code

Et pour paramétrer l'AIA

certutil -setreg CA\CACertPublicationURLs "1:D:\CertEnroll\%1_%3%4.crt\n2:ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11\n2:http://pki.mydomain.local/CertEnroll/rootca.crt"
Lien vers le fichier : cliquez ici Copier le code

La signification des valeurs 1, 2 ou 10 se trouve sur https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc775373(v=ws.10)?redirectedfrom=MSDN

Pour prendre en compte les modifications, redémarrer le service avec cette commande powershell

Restart-Service CertSvc -force
Lien vers le fichier : cliquez ici Copier le code

Visuellement la configuration du CDP est passé sur 3 lignes

Et voici visuellement à quoi ressemble la configuration del'AIA

Pour l'instant le répertoire CertEnroll est vide

Mettez à jour la CRL du root en cliquant sur Revoked Certificates>All tasks>Publish

Cela crée le fichier Certificate Revocation List

On va exporter le certificat publique du root ca pour pouvoir ensuite le copier sur le futur subca.
Pour cela, aller dans les propriétés du rootca, aller sur l'onglet General puis visualiser son certificat

Aller sur l'onglet details du certificat du rootca
puis cliquer sur Copy to File

Cliquer sur Next puis exporter le rootca en Base-64
Le format DER convient aussi

Ici on va le nommer rootca.cer

Le codage en baes-64 a l'avantage d'être lisible quand on ouvre le fichier

Copier le certificat du root CA ainsi que la crl sur le subCA dans D:\CertEnroll
On les utilisera par la suite

Passer sur le serveur du SubCA
En point de détail, j'ai renommé le rootca.cer en rootca.crt

Donc depuis le serveur du SubCA (lui seul est joint à l'AD),
publier dans l'active directory le certificat du rootCA en adaptant cette commande.

Le dernier paramètre est bien RootCA et pas autre chose, comme le nom du serveur.

certutil -f -dspublish <emplacement_du_certificat_du_root_CA> RootCA
Lien vers le fichier : cliquez ici Copier le code

RootCA est un paramètre de certutil -f -dspublish

Visuellement dans l'AD avec adsiedit, cela fait apparaitre ceci

Publier dans l'active directory la CRL du rootCA en adaptant cette commande
Mettez bien le nom du serveur de votre rootCA, pas le nom de l'autorité de la rootCA

certutil -dsPublish -f <emplacement_de la CRL du_rootCA> <NomServeur_du_rootCA>
Lien vers le fichier : cliquez ici Copier le code

Visuellement dans l'AD avec adsiedit, cela fait apparaitre ceci


Voir l'article suivant

Pages Web

Site WebDescription
Informatiweb.netCréer une autorité de certification racine d'entreprise sous 2012
MS TechnetAD CS Step by Step Guide: Two Tier PKI Hierarchy Deployment

2