Pour des raisons de sécurité, il peut être judicieux d'utiliser le CES avec un compte de service géré par le groupe (gMSA) plutôt qu'avec un compte de domaine normal. Cette option offre l'avantage intéressant de modifier automatiquement le mot de passe du compte, ce qui évite d'avoir à effectuer cette opération manuellement, une étape qui est malheureusement trop souvent oubliée.
Les services web d'enregistrement des certificats (Certificate Enrollment Policy Web Service, CEP et Certificate Enrollment Web Service, CES) permettent de demander et de renouveler automatiquement les certificats d'une autorité de certification via une interface web. Il n'est donc pas nécessaire de contacter directement l'autorité de certification par Remote Procedure Call (RPC). Pour une description plus détaillée, voir l'article "Bases de la demande de certificat via Certificate Enrollment Web Services (CEP, CES)„ .
Le CES a-t-il été créé conformément à l'article „Installation d'un Certificate Enrollment Web Service (CES)“, le service s'exécute avec l'identité du pool d'applications après l'installation.

Si CEP et CES sont installés sur le même serveur et qu'un compte de service avec délégation est utilisé, les pools d'applications CEP et CES doivent fonctionner sous le même compte.
Conditions requises pour le compte de service CES
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.
Le compte de service CES…
- doit être membre du groupe local de IIS_IUSRS.
- nécessite un nom principal de service (SPN) qui, selon la configuration, doit correspondre au nom complet du serveur ou à l'alias à utiliser.
- doit être configuré pour l'authentification déléguée auprès de l'autorité de certification.
Création du gMSA pour le service Web d'inscription aux certificats
Le gMSA pour CES peut être créé à l'aide de la commande PowerShell suivante, à condition que une clé racine KDS est créée dans la structure globale d'Active Directory a été
New-ADServiceAccount `
-Name gMSA_CES `
-PrincipalsAllowedToRetrieveManagedPassword CES01$ `
-DNSHostName gMSA_CES.intra.adcslabor.de
Les arguments indiqués ont la signification suivante :
- Le site Nom L'argument indique le nom du gMSA.
- Le site PrincipalsAllowedToRetrieveManagedPassword indique le serveur autorisé à récupérer le mot de passe du compte de service.
- Le site DNSHostName L'argument indique le contenu de l'attribut dNSHostName du compte, car un gMSA fonctionne techniquement comme un compte informatique.

Configurer le nom principal de service (SPN) pour le gMSA
La commande suivante permet de créer le nom principal de service (SPN) pour le gMSA.
setspn -S HTTP/ces01.intra.adcslabor.de INTRA\gMSA_CES$

Configurer les paramètres de délégation pour le gMSA
Pour les comptes de service gérés par groupe, il n'est malheureusement pas possible de configurer les paramètres de délégation via l'interface graphique. La configuration doit être effectuée via Windows PowerShell.
Les réglages suivants sont effectués :
- Délégation limitée vers l'autorité de certification CA03.intra.adcslabor.de sans transfert de protocole (option „ Use Kerberos only “) pour les protocoles „ HOST “ et „ rpcss “.
Si l'authentification avec un certificat client est utilisée, une délégation avec transfert de protocole doit être mise en place, ce qui peut augmenter le risque d'attaque par Kerberoasting.
$AllowedToDelegateTo = @(
"rpcss/CA03",
"rpcss/CA03.intra.adcslabor.de",
"HOST/CA03",
"HOST/CA03.intra.adcslabor.de"
)

Ensuite, les objectifs de délégation sont appliqués au gMSA.
Get-ADServiceAccount -Identity gMSA_CES | Set-ADObject -Add @{"msDS-AllowedToDelegateTo"=$AllowedToDelegateTo}

De plus, l'option "Account is sensitive and cannot be delegated" doit encore être désactivée.
Get-ADServiceAccount -Identity gMSA_CES | Set-ADServiceAccount -AccountNotDelegated $False
Installation du gMSA sur le serveur CES
Tout d'abord, les outils de gestion Active Directory pour PowerShell doivent être installés sur le serveur CES.
Add-WindowsFeature RSAT-AD-PowerShell

Ensuite, le compte de service peut être installé sur le serveur à l'aide de la commande PowerShell suivante.
Install-ADServiceAccount gMSA_CES

La commande ne renvoie rien si elle a réussi.
Pour vérifier si c'est vraiment le cas, on peut utiliser la commande de ligne de commande suivante.
Test-ADServiceAccount gMSA_CES

Cette commande renvoie True si le gMSA a été installé avec succès.
Ajouter gMSA au groupe IIS_IUSRS sur le serveur CES
Le gMSA configuré doit maintenant être ajouté au groupe de sécurité local IIS_IUSRS afin de pouvoir être utilisé par le CES. Cela peut être effectué via la console de gestion des utilisateurs locaux (lusrmgr.msc).

Configuration du gMSA dans le pool d'applications CES
Pour que le service CES fonctionne avec le gMSA installé, celui-ci doit être configuré dans le WSEnrollmentServer-Le pool d'applications doit être configuré dans la console de gestion Internet Information Server (IIS). Pour ce faire, cliquez avec le bouton droit sur le pool d'applications WSEnrollmentPolicyServer et sélectionnez l'option „ Advanced Settings… “ (Paramètres avancés).

Dans l'option "Identity", on clique sur le côté droit sur le bouton "...". bouton.

Dans la boîte de dialogue qui suit, on choisit "Custom account" et on clique sur "Set...".

Lors de l'indication de l'identité dans le dialogue suivant, il faut tenir compte de certaines particularités :
- Le nom de domaine doit obligatoirement être indiqué.
- Étant donné qu'un gMSA fonctionne de manière similaire à un compte informatique, un signe dollar doit être indiqué à la fin du nom du compte.
- Dans le cas d'un gMSA, aucun mot de passe n'est indiqué, les deux champs doivent donc rester vides.

Redémarrer le service du serveur web
Le service du serveur web est ensuite redémarré avec la commande iisreset.

Les commentaires sont fermés.