Skip to content
Go back

Usuários Comprometidos

Published:  at  10:00 AM

Índice

Gerenciamento de Riscos de Usuários

O Microsoft Entra ID Identity Protection identifica contas potencialmente comprometidas baseado em indicadores de risco como:

Quando um utilizador é sinalizado como de alto risco, a equipe de segurança deve investigar e confirmar se a conta foi efetivamente comprometida.

Fluxo de Trabalho de Confirmação

Para confirmar um utilizador como comprometido:

  1. Investigar os alertas e incidentes relacionados
  2. Validar se os sinais indicam compromisso real
  3. Marcar o utilizador como comprometido
  4. Implementar ações corretivas
  5. Redefinir o risco após mitigação

Confirmação via Microsoft Graph

Para confirmar um utilizador como comprometido:

# Conectar ao Microsoft Graph
Connect-MgGraph -Scopes "IdentityRiskyUser.ReadWrite.All"

# ID do utilizador a confirmar como comprometido
$userId = "00000000-0000-0000-0000-000000000000"

# Corpo da requisição
$confirmCompromisedRequest = @{
    userIds = @($userId)
}

# Confirmar utilizador comprometido
Invoke-MgGraphRequest -Method Post -Uri "https://graph.microsoft.com/v1.0/identityProtection/riskyUsers/confirmCompromised" -Body $confirmCompromisedRequest | Out-Null

Write-Output "Utilizador confirmado como comprometido."

Remediação Automatizada

Script para automatizar a remediação de um utilizador comprometido:

# Conectar ao Microsoft Graph com permissões necessárias
Connect-MgGraph -Scopes "IdentityRiskyUser.ReadWrite.All", "User.ReadWrite.All"

function Remediate-CompromisedUser {
    param (
        [Parameter(Mandatory = $true)]
        [string]$UserId,
        
        [Parameter(Mandatory = $false)]
        [bool]$BlockSignIn = $true,
        
        [Parameter(Mandatory = $false)]
        [bool]$ResetPassword = $true
    )
    
    # 1. Confirmar utilizador como comprometido
    $confirmCompromisedRequest = @{
        userIds = @($UserId)
    }
    
    Invoke-MgGraphRequest -Method Post -Uri "https://graph.microsoft.com/v1.0/identityProtection/riskyUsers/confirmCompromised" -Body $confirmCompromisedRequest | Out-Null
    
    # 2. Bloquear o sign-in, se solicitado
    if ($BlockSignIn) {
        Update-MgUser -UserId $UserId -AccountEnabled:$false
        Write-Output "Sign-in bloqueado para o utilizador."
    }
    
    # 3. Redefinir a senha, se solicitado
    if ($ResetPassword) {
        $temporaryPassword = [System.Web.Security.Membership]::GeneratePassword(16, 3)
        
        # Redefinir a senha e forçar alteração no próximo login
        Update-MgUserPassword -UserId $UserId -PasswordProfile @{
            ForceChangePasswordNextSignIn = $true
            Password = $temporaryPassword
        }
        
        Write-Output "Senha redefinida para o utilizador. Senha temporária: $temporaryPassword"
    }
    
    Write-Output "Remediação completa para o utilizador ID: $UserId"
}

# Exemplo de uso
Remediate-CompromisedUser -UserId "00000000-0000-0000-0000-000000000000" -BlockSignIn $true -ResetPassword $true

Restabelecimento de Utilizador

Após a investigação e remediação, o utilizador pode ser restabelecido:

# Habilitar o utilizador novamente
Update-MgUser -UserId $userId -AccountEnabled:$true

# Redefinir o nível de risco
$dismissRequest = @{
    userIds = @($userId)
}

Invoke-MgGraphRequest -Method Post -Uri "https://graph.microsoft.com/v1.0/identityProtection/riskyUsers/dismiss" -Body $dismissRequest | Out-Null

Write-Output "Utilizador restabelecido e risco redefinido."

Melhores Práticas


Suggest Changes

Previous Post
Administradores Globais
Next Post
Tipos de Aplicações