Soft match et hard match : quand la synchronisation permet de prendre le contrôle d'un compte cloud
Lorsqu'un objet Active Directory est synchronisé pour la première fois, Entra ID cherche s'il existe déjà un compte correspondant dans le cloud. Si c'est le cas, les deux sont fusionnés et le compte cloud passe sous le contrôle de l'annuaire local. Pratique lors d'une migration, ce comportement devient un chemin d'attaque lorsqu'il vise un compte d'administration.
L'ancre source et l'immutableId
Chaque objet synchronisé est relié à son homologue cloud par une ancre source. Dans les installations récentes d'Entra Connect, elle est stockée dans l'attribut ms-DS-ConsistencyGuid de l'objet Active Directory, généralement initialisé à partir de son objectGUID. Côté Entra ID, cette valeur apparaît, encodée en Base64, dans l'attribut onPremisesImmutableId, souvent appelé immutableId. Tant que les deux valeurs concordent, les modifications faites sur site sont répercutées dans le cloud.
Hard match et soft match
Lorsqu'un nouvel objet entre dans le périmètre de synchronisation, Entra ID tente deux types de correspondance :
- Hard match : un compte cloud possède déjà un immutableId identique à l'ancre source de l'objet local. Les deux sont reliés.
- Soft match : aucun immutableId ne correspond, mais un compte cloud partage la même adresse SMTP principale ou le même nom d'utilisateur principal (UPN). Les deux sont alors fusionnés.
Dans les deux cas, le compte cloud devient un compte synchronisé : ses attributs sont écrasés par ceux de l'objet local et, si la synchronisation du hachage de mot de passe est active, son mot de passe devient celui défini dans Active Directory.
Le scénario de prise de contrôle
Imaginons un attaquant qui contrôle un compte capable de créer des utilisateurs dans une unité d'organisation synchronisée. Il crée un utilisateur local portant l'UPN ou l'adresse d'un administrateur cloud, lui attribue un mot de passe de son choix et attend le cycle de synchronisation. Si la correspondance aboutit, il dispose d'un compte cloud dont il connaît le mot de passe. De la même manière, un attaquant capable d'écrire l'attribut ms-DS-ConsistencyGuid peut viser un compte cloud dont il connaît l'immutableId.
Microsoft a introduit des protections limitant ces correspondances pour les comptes cloud qui détiennent un rôle d'administration. Leur périmètre a évolué au fil du temps : vérifiez leur état actuel dans la documentation et ne vous reposez pas uniquement sur elles.
Le principe à retenir. Une compromission d'Active Directory ne doit jamais se transformer automatiquement en compromission des comptes d'administration cloud. Tout mécanisme qui permet de franchir cette frontière doit être désactivé ou strictement encadré.
Verrouiller les correspondances
Entra ID expose des paramètres de synchronisation au niveau du locataire, modifiables via Microsoft Graph, qui permettent de bloquer ces mécanismes :
- Bloquer le soft match une fois les migrations terminées. Il pourra être réactivé temporairement si un besoin ponctuel se présente.
- Bloquer la prise de contrôle des objets cloud par hard match, afin qu'un compte géré dans le cloud ne puisse pas être converti en compte synchronisé par ce biais.
- Garder les comptes d'administration exclusivement cloud, avec un UPN sur le domaine
onmicrosoft.comou un domaine qui ne sert à aucun compte local. - Restreindre le périmètre de synchronisation aux unités d'organisation nécessaires, et limiter qui peut y créer des objets.
Surveiller
Les journaux d'audit d'Entra ID enregistrent les modifications effectuées par le compte de synchronisation. Un compte jusque-là géré dans le cloud qui devient synchronisé, ou un changement d'immutableId sur un compte privilégié, doit déclencher une alerte. Côté Active Directory, la modification de ms-DS-ConsistencyGuid hors du compte de synchronisation mérite la même attention.
Ce qu'un audit vérifie
- L'état des paramètres de blocage du soft match et de la prise de contrôle par hard match.
- Les comptes d'administration synchronisés depuis Active Directory au lieu d'être exclusivement cloud.
- Les comptes cloud dont l'UPN ou l'adresse pourrait correspondre à un objet local.
- Le périmètre de synchronisation et les délégations de création d'objets dans ce périmètre.
- La surveillance des conversions de comptes cloud en comptes synchronisés.