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:
- O atacante compromete um Domain Controller ou obtém privilégios suficientes no AD local.
- Ele identifica o ImmutableId de uma conta administrativa no Entra ID — como um Administrador Global.
- Cria ou modifica um objeto no AD local para que seu sourceAnchor corresponda ao ImmutableId da conta alvo.
- Aguarda o próximo ciclo de sincronização do Entra Connect, que por padrão ocorre a cada 30 minutos.
- 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 -ForceUpdate-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.