Powershell DSC: Installation d’un serveur Pull avec HTTPS 2/2

Dans l’article précédent, nous avons mis en place Powershell DSC avec un serveur de type PULL afin que les nouveaux systèmes puissent récupérer leurs configurations.

Le service Web fonctionne bien, la génération des configurations se fait sans problème.

Nous allons dans cet article modifier le serveur Web pour qu’il puisse chiffrer les configurations envoyées aux nouveaux systèmes. Pour cela nous allons mettre en place le rôle Active Directory Certificate Services (AD CS) sur le DC actif du domaine ad.local.

Nous démarrons l’outil Server Manager. Puis Add Roles and features. Nous laissons le wizard nous guider jusqu’à la liste des Roles et sélectionnons Certification Authority:

ADCSrole

On le laisse terminer son installation, puis nous continuons sur la configuration post installation.

Lors de cette étape j’ai créé un Root Certificate, puis j’ai exécuté certsrv pour vérifier que mon serveur de certificats était bien configuré et démarré:

certsrv

 

Je me suis ensuite connecté sur mon serveur PULL et j’ai démarré l’application (MMC snap-in) qui gère les certificats locaux. J’ai selectionné Personal, puis right-click All Tasks puis Request New Certificate…

newcert

Une fois le Wizard démarré, nous allons sélectionner le enrollment disponible Active Directory Enrollement Policy:newcert2

Puis nous allons sélectionner PULL Server (J’ai au préalable créé une template de ce nom avec la particularité de pouvoir exporter la clé privée) et clicker sur Enroll:

certsrv2

Vérifions que notre certificat est bien installé:

newcert4Issued to PULL.ad.local et Issued by ad-DC1-CA, qui est notre root CA installé sur DC1. Tout va bien.

Nous allons maintenant chercher l’empreinte digitale (thumbprint), ou la clé publique de notre certificat. Pour cela, un peu de Powershell:

Bingo!

Exécuter (dot-sourcer) $env:programFiles\WindowsPowershell\Modules\xPSDesiredStateConfiguration\Examples\Sample_xDscWebService.ps1 afin de charger la fonction du même nom.

Nous allons tout simplement exécuter Sample_xDscWebService à nouveau en passant comme paramètre le thumbprint du certificat:

puis charger la nouvelle configuration à travers DSC:

ATTENTION: Si vous avez créé les applications Web avec l’exemple utilisant le trafic non-chiffré, il faudra enlever les deux applications, et laisser DSC en créer de nouvelles. Normalement je n’aurais pas du avoir à effectuer cette étape, mais ne voyant pas mes applications utilisant HTTPS arriver, j’ai voulu accélérer un peu le mouvement.

Il ne nous reste plus qu’à modifier le script de découverte de configurations (DiscoverConfiguration.ps1) et modifier la ligne 15 qui contient l’URL et le mode de connexion

Voici le script complet:

J’ai enlevé les fichiers du répertoire c:\temp\dsctest ainsi que la clé de registre, et ils sont bien revenus à leur place.

 

PS. Bien s’assurer que la KB3000850 est bien installé, voir la fin de cet article à ce propos.