Sommaire
ToggleHabituellement, nous utilisons tous des comptes de services avec mots de passe.
Qui dit mot de passe, dit problème potentiel de piratage ! Sachant que les mots de passe des comptes de services ne sont en règle générale jamais changés car cela demande beaucoup de temps.
Pour pallier à ces problèmes de mots de passe sur les comptes de services, Microsoft a d’abord sorti les comptes MSA avec Windows 2008.
gMSA, qu’est-ce que c’est ?
Les gMSA (« Group Managed Service Accounts ») sont ensuite apparus avec Windows Server 2012, lesquels sont une amélioration des comptes MSA permettant l’utilisation d’un compte sur un seul et unique ordinateur.
Les comptes MSA ne permettaient pas d’utiliser un seul compte pour plusieurs ordinateurs et n’étaient supportés que pour quelques applications.
gMSA est un compte de services associé à un groupe de sécurité dans lequel seront ajoutés les ordinateurs autorisés à utiliser ce compte.
Les comptes gMSA sont compatibles avec les applications ci-dessous:
- Sur plusieurs machines
- Pour des tâches planifiées
- Pour IIS, ADFS, SQL Server, …
- Pour des services Windows
1. Créer des comptes gMSA
Pour pouvoir créer des comptes gMSA, il faudra générer la clé racine KDS de Distribution des clés Services.
- Pour cela, lancer une console PowerShell et exécuter le code PowerShell ci-dessous :
# Clé racine KDS pour création des comptes gMSA
Invoke-Command -ComputerName ADCORE2016A. labo. local -ScriptBlock {If (-not (Get-KDSRootKey)) {
Write-Verbose -Message "KDS Root Key Needs to be installed..."
Add-KDSRootKey -EffectiveTime ((Get-Date) .AddHours(-10))}
}
Attention : cette clé sera ensuite répliquée sur l’ensemble des contrôleurs de domaine. Par sécurité, il est nécessaire d’attendre 10H pour s’assurer que tout est bien répliqué.
Nous allons maintenant pouvoir créer nos gMSA.
Il existe deux possibilité pour créer ces comptes :
- Avec l’outil graphique « Managed service accounts GUI » téléchargeable ici.
- Avec PowerShell
Création des comptes gMSA avec Managed service accounts GUI
- Ajouter le nouveau compte avec « New ».
- Donnez-lui un nom et choisissez l’OU dans votre Active Directory où vous souhaitez le stocker.
Votre compte est maintenant créé.
- Pour que ce compte fonctionne, il faudra l’attribuer à l’ordinateur autorisé à l’utiliser :
Le compte gMSA peut maintenant être utilisé sur le serveur :
- Il faut également vérifier la présence du compte dans l’Active Directory :
Création des comptes gMSA avec PowerShell
Idem en PowerShell, mais dans cet exemple, nous allons attribuer un groupe d’ordinateurs au compte gMSA.
#Variables
Import-Module ActiveDirectory
$gMSA_SQL="gMSA_SQL"
$gMSA_description="SQL Account services"
$Domain="labo.local"
$FQDN_gMSA_account=$gMSA_SQL+"."+$Domain
$Encryption="AES256"
$TargetComputer="manage2016"
$PasswordInterval=30
$gMSAGroup="G_SQL"
#Ajout du compte gMSA
New-ADServiceAccount $gMSA_SQL -DNSHostName $FQDN_gMSA_account -
KerberosEncryptionType $Encryption -PrincipalsAllowedToRetrieveManagedPassword
$gMSAGroup -ManagedPasswordIntervalInDays $PasswordInterval -Description
$gMSA_description -SamAccountName $gMSA_SQL
#Ajouter le serveur dans le Groupe G_SQL
Add-ADPrincipalGroupMembership -Identity $TargetComputer -MemberOf $gMSAGroup
Invoke-Commande -ComputerName $TargetComputer -ScriptBlock {Restart-Computer}
Ainsi, cette mise en place de comptes gMSA apportera beaucoup plus de sécurité qu’un simple compte de services avec mot de passe.