Como Bloquear Soft Match e Hard Match no Microsoft Entra ID

Em ambientes híbridos que integram o Active Directory local ao Microsoft Entra ID (antigo Azure AD), dois mecanismos de correspondência de objetos desempenham papel central na sincronização de identidades: o Soft Match e o Hard Match. Embora sejam recursos legítimos e até essenciais em determinados cenários de migração, representam um vetor de ataque relevante quando permanecem habilitados sem necessidade. Neste artigo, você vai entender em profundidade o que são esses mecanismos, quais riscos introduzem e como desativá-los de forma segura usando o Microsoft Graph PowerShell.

O que é Soft Match e Hard Match?

Quando o Microsoft Entra Connect sincroniza objetos do Active Directory local para o Entra ID, ele precisa decidir se um objeto recém-chegado corresponde a algum que já existe na nuvem. Para isso, utiliza dois tipos de correspondência distintos, cada um com suas próprias implicações de segurança.

Soft Match (Correspondência Suave)

O Soft Match ocorre quando o Entra ID identifica um objeto de nuvem já existente com base em atributos como o userPrincipalName (UPN) ou o endereço de e-mail principal (proxyAddresses com prefixo SMTP em maiúsculo). Se esses valores coincidirem com um objeto vindo do Active Directory local, o sistema une os dois como se fossem a mesma identidade.

Esse comportamento é útil quando, por exemplo, uma conta foi criada diretamente no Microsoft 365 antes de a sincronização híbrida ser configurada. O Soft Match permite associar essa conta de nuvem ao seu equivalente on-premises sem precisar recriar o objeto do zero — economizando tempo e evitando perda de dados do usuário.

Hard Match (Correspondência Rígida)

O Hard Match é um mecanismo mais preciso: ele utiliza o atributo sourceAnchor — geralmente derivado do ObjectGUID ou mS-DS-ConsistencyGuid do AD local —, convertido em Base64 e armazenado como ImmutableId no Entra ID. Quando há correspondência desse valor, o Entra Connect assume o controle (source of authority) sobre o objeto na nuvem e o converte para gerenciado localmente.

O Hard Match é ainda mais poderoso — e portanto mais perigoso se explorado de forma maliciosa. Um atacante com acesso ao Active Directory local poderia manipular o atributo mS-DS-ConsistencyGuid de uma conta on-premises para corresponder ao ImmutableId de uma conta privilegiada na nuvem, assumindo o controle dela no próximo ciclo de sincronização.

Por que Isso É um Risco de Segurança?

A exploração do Hard Match para sequestrar contas do Entra ID ficou conhecida como SyncJacking. Em maio de 2025, o Microsoft Security Response Center (MSRC) reconheceu formalmente esse vetor como uma vulnerabilidade de elevação de privilégios classificada como “Importante”. O cenário típico de ataque segue estas etapas:

  1. O atacante compromete um Domain Controller ou obtém privilégios suficientes no AD local.
  2. Ele identifica o ImmutableId de uma conta administrativa no Entra ID — como um Administrador Global.
  3. Cria ou modifica um objeto no AD local para que seu sourceAnchor corresponda ao ImmutableId da conta alvo.
  4. Aguarda o próximo ciclo de sincronização do Entra Connect, que por padrão ocorre a cada 30 minutos.
  5. Ao fim da sincronização, passa a controlar a conta privilegiada na nuvem.

O risco é amplificado em organizações que ainda gerenciam contas administrativas do Microsoft 365 pelo Active Directory local — prática que a própria Microsoft recomenda evitar há anos, mas que ainda persiste em muitos ambientes corporativos.

A recomendação oficial é clara: bloqueie o Soft Match e o Hard Match em todos os tenants que não precisem ativamente desses recursos. A partir de junho de 2026, o Entra Connect passará a bloquear automaticamente o Hard Match para contas privilegiadas — mas não espere por essa data para proteger o seu ambiente.

Quando Soft Match e Hard Match São Necessários?

Antes de bloquear ambos os recursos, vale entender em quais situações eles ainda podem ser requeridos:

  • Migração de contas cloud-only para híbrido: quando contas foram criadas diretamente no Microsoft 365 e agora precisam ser associadas a objetos do AD local, o Soft Match pode ser necessário para a correspondência correta.
  • Recuperação de ambientes de sincronização: em situações de desastre onde o Entra Connect precisou ser reinstalado e os ImmutableIds precisam ser restaurados, o Hard Match pode ser indispensável.
  • Consolidação de tenants: fusões e aquisições onde dois tenants precisam ser unificados podem exigir correspondências manuais entre objetos.

Nesses casos, a orientação é: habilite o recurso apenas durante o período necessário, realize as correspondências, valide os resultados e, imediatamente após, bloqueie novamente. Nunca mantenha Soft Match ou Hard Match permanentemente habilitados sem justificativa técnica documentada.

Pré-requisitos

  • Conta com a função Hybrid Identity Administrator ou Global Administrator no Microsoft Entra ID.
  • PowerShell 5.1 ou superior (PowerShell 7+ recomendado para multiplataforma).
  • Módulo Microsoft.Graph instalado e atualizado para a versão mais recente.
  • Acesso à internet para autenticação no Microsoft Graph.

Passo 1: Instalar o Módulo Microsoft Graph PowerShell

Abra o PowerShell como Administrador e execute os comandos abaixo. Sempre atualize o módulo antes de qualquer operação — versões desatualizadas podem gerar erros ou resultados inconsistentes:

Install-Module Microsoft.Graph -Scope CurrentUser -Force
Update-Module Microsoft.Graph

Passo 2: Conectar ao Microsoft Graph

A conexão requer o escopo adequado para leitura e escrita das configurações de sincronização de diretório:

Connect-MgGraph -Scopes "OnPremisesPublishingProfiles.ReadWrite.All"

Uma janela de autenticação será aberta no navegador. Utilize uma conta com privilégios de Hybrid Identity Administrator ou superior. Após autenticar com sucesso, o terminal exibirá o nome da conta e o Tenant ID associado.

Passo 3: Verificar o Status Atual

Get-MgDirectoryOnPremiseSynchronization | Select-Object -ExpandProperty Features

O retorno exibirá as propriedades relevantes: BlockSoftMatchEnabled e BlockCloudObjectTakeoverThroughHardMatchEnabled. Se ambas estiverem como False, seu tenant está exposto — vamos corrigir isso nos passos seguintes.

Passo 4: Bloquear o Soft Match

$config = @{
'Features' = @{
'BlockSoftMatchEnabled' = $true
}
}
Update-MgDirectoryOnPremiseSynchronization `
-BodyParameter $config `
-OnPremisesDirectorySynchronizationId (Get-MgDirectoryOnPremiseSynchronization).Id

Passo 5: Bloquear o Hard Match

$config = @{
'Features' = @{
'BlockCloudObjectTakeoverThroughHardMatchEnabled' = $true
}
}
Update-MgDirectoryOnPremiseSynchronization `
-BodyParameter $config `
-OnPremisesDirectorySynchronizationId (Get-MgDirectoryOnPremiseSynchronization).Id

Passo 6: Bloquear Ambos Simultaneamente (Recomendado)

$config = @{
'Features' = @{
'BlockCloudObjectTakeoverThroughHardMatchEnabled' = $true
'BlockSoftMatchEnabled' = $true
}
}
Update-MgDirectoryOnPremiseSynchronization `
-BodyParameter $config `
-OnPremisesDirectorySynchronizationId (Get-MgDirectoryOnPremiseSynchronization).Id

Como Reverter: Habilitando Temporariamente os Recursos

$config = @{
'Features' = @{
'BlockCloudObjectTakeoverThroughHardMatchEnabled' = $false
'BlockSoftMatchEnabled' = $false
}
}
Update-MgDirectoryOnPremiseSynchronization `
-BodyParameter $config `
-OnPremisesDirectorySynchronizationId (Get-MgDirectoryOnPremiseSynchronization).Id

Realize a operação necessária, valide o resultado e bloqueie novamente em seguida. Nunca mantenha os recursos habilitados além do tempo estritamente necessário.

Boas Práticas Complementares

  • Contas administrativas exclusivamente na nuvem: nunca sincronize contas com funções privilegiadas a partir do AD local. Crie-as diretamente no Entra ID com MFA obrigatório e PIM ativado.
  • Monitoramento com Microsoft Defender for Identity: configure alertas para modificações suspeitas no atributo mS-DS-ConsistencyGuid, potencial indicador de SyncJacking.
  • Revisão regular de erros de sincronização: acesse o Entra Connect Health e revise conflitos no blade Sync Errors.
  • Manter o Entra Connect atualizado: versões antigas podem não suportar os controles de segurança mais recentes.
  • Princípio do menor privilégio: a conta de serviço do Entra Connect deve ter apenas os privilégios mínimos necessários.

Conclusão

Soft Match e Hard Match são mecanismos poderosos, essenciais em determinados cenários de migração híbrida. No entanto, quando permanecem habilitados sem necessidade, abrem brechas sérias — especialmente o sequestro de contas privilegiadas via SyncJacking. A configuração de bloqueio via Microsoft Graph PowerShell é uma das ações de hardening mais simples e impactantes disponíveis. Se o seu tenant não precisa desses recursos agora, bloqueie-os hoje e complemente com contas cloud-only, Defender for Identity e PIM para uma identidade híbrida verdadeiramente segura.


Deixe uma resposta