Aus Sicherheitsgründen kann es sinnvoll sein, den CES statt mit einem normalen Domänenkonto lieber mit einem Group Managed Service Account (gMSA) zu betreiben. Diese Option bietet den charmanten Vorteil, dass das Passwort des Kontos automatisch geändert wird, und dieser Schritt somit nicht von Hand vorgenommen werden muss, was leider viel zu oft vergessen wird.
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)„ .
Wurde CES nach der im Artikel „Installation d'un Certificate Enrollment Web Service (CES)“ beschriebene Anleitung installiert, läuft der Dienst nach der Installation mit der Identität des Anwendungspools.

Wenn CEP und CES auf dem gleichen Server installiert sind und ein Service Account mit Delegation verwendet wird, müssen die CEP und CES Application Pools unter dem gleichen Account betrieben werden.
Voraussetzungen für das CES Dienstkonto
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.
Das CES Dienstkonto…
- doit être membre du groupe local de IIS_IUSRS.
- benötigt einen Dienstprinzipalnamen (Service Principal Name, SPN), der je nach Konfiguration dem vollqualifizierten Servernamen oder dem zu verwendenden Alias entsprechen muss.
- muss für die delegierte Authentifizierung gegenüber der Zertifizierungsstelle konfiguriert werden.
Erstellen des gMSA für den Certificate Enrollment Web Service
Der gMSA für CES kann mit folgendem PowerShell Befehl angelegt werden, sofern 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
Für Group managed Service Accounts ist es leider nicht möglicht, die Delegierungseinstellungen per graphischer Oberfläche zu konfigurieren. Die Konfiguration muss per Windows PowerShell erfolgen.
Les réglages suivants sont effectués :
- Délégation limitée vers l'autorité de certification CA03.intra.adcslabor.de ohne Protokollübergang ( Option „Use Kerberos only“) für die Protokolle „HOST“ und „rpcss“.
Wird die Authentifizierung mit einem Clientzertifikat verwendet, muss eine Delegierung mit Protokollübergang eingerichtet werden, was das Risiko für einen Angriff mittels Kerberoasting erhöhen kann.
$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
Installieren des gMSA auf dem CES Server
Zunächst müssen die Active Directory Managementwerkzeuge für PowerShell auf dem CES Server installiert werden.
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.
gMSA in die IIS_IUSRS Gruppe auf dem CES Server aufnehmen
Der eingerichtete gMSA muss nun noch in die lokale Sicherheitsgruppe IIS_IUSRS aufgenommen werden, damit er vom CES verwendet werden kann. Dies kann über die Managementkonsole für lokale Benutzer (lusrmgr.msc) erfolgen.

Konfigurieren des gMSA im CES-Anwendungspool
Damit der CES Dienst mit dem installierten gMSA arbeitet, muss dieser im WSEnrollmentServer-Anwendungspool in der Internet Information Server (IIS) Managementkonsole konfiguriert werden.Hierzu wird mit rechts auf den WSEnrollmentPolicyServer-Anwendungspool geklickt und die Option „Advanced Settings…“ gewählt.

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.