A gestão de passwords continua a ser um dos vectores de comprometimento mais frequentes em ambientes Microsoft 365. Ataques de password spray (uma password comum testada em muitas contas), brute-force e credential stuffing (uso de passwords vazadas em breaches anteriores) são diários e automatizados. O Microsoft Entra ID oferece três mecanismos complementares para endereçar este problema: SSPR (Self-Service Password Reset), Password Protection (lista de passwords banidas) e Smart Lockout.

Configurar estes três mecanismos correctamente reduz simultaneamente a carga no helpdesk (menos resets manuais) e a superfície de ataque — dois objectivos directamente alinhados com as exigências da NIS2 / DL 125/2025.

1. Política de password padrão do Entra ID

O Entra ID aplica uma política de password base a todas as contas cloud. A maioria das definições não é editável pelo administrador — são fixas pela Microsoft. As que são configuráveis estão assinaladas na tabela abaixo.

Parâmetro Valor padrão Configurável?
Comprimento mínimo 8 caracteres Não
Complexidade 3 de 4: maiúsculas, minúsculas, números, símbolos Não
Expiração 90 dias (alterável para “nunca”) Sim
Histórico de passwords Últimas 10 não podem ser reutilizadas (administradores: 5) Não
Smart lockout — tentativas antes de bloqueio 10 tentativas falhadas Sim (P1)
Smart lockout — duração inicial do bloqueio 60 segundos (cresce progressivamente) Sim (P1)
Lista de passwords banidas Lista global da Microsoft (automática) Sim — lista personalizada adicional (P1)

ℹ Contas sincronizadas (híbrido): A política de password do Entra ID aplica-se apenas a contas cloud-only. Para contas sincronizadas do AD on-premises, a política aplicada é a do Active Directory local. Para estender a validação cloud (lista de passwords banidas) ao AD, é necessário instalar o Entra ID Password Protection Agent nos Domain Controllers — ver Secção 6.

2. Expiração de passwords — a recomendação actual da Microsoft

A Microsoft recomenda desactivar a expiração periódica de passwords para utilizadores com MFA activo. A investigação mostrou que forçar mudanças frequentes leva os utilizadores a escolher passwords mais fracas e previsíveis (ex: Empresa2024!Empresa2025!). Com MFA activo, mesmo que uma password seja comprometida, o atacante não consegue aceder sem o segundo factor.

Cenário Recomendação Justificação
Utilizadores com MFA activo Passwords sem expiração MFA mitiga o risco de password comprometida
Utilizadores sem MFA (legado) Expiração + migração imediata para MFA Sem MFA, a password é o único factor de protecção
Contas de serviço / service accounts Passwords longas (20+ chars) sem expiração Gerir rotação manual ou usar Managed Identities

Como desactivar a expiração de passwords

Via portal: Microsoft 365 Admin Center → Settings → Org settings → Security & privacy → Password expiration policy → marcar “Set passwords to never expire”

Via PowerShell (para utilizadores individuais):

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

# Desactivar expiração para todos os utilizadores
Get-MgUser -All | ForEach-Object {
    Update-MgUser -UserId $_.Id -PasswordPolicies "DisablePasswordExpiration"
}

# Verificar estado de um utilizador
Get-MgUser -UserId "[email protected]" -Property "DisplayName,PasswordPolicies" | Select-Object DisplayName,PasswordPolicies

3. SSPR — Self-Service Password Reset

O SSPR permite que os utilizadores reponham a sua password sem contactar o helpdesk — autenticando-se através de métodos de verificação previamente registados. Reduz significativamente o volume de chamadas de suporte e é um requisito implícito da NIS2 para garantir continuidade operacional (utilizadores bloqueados = impacto na disponibilidade de serviço).

Requisitos de licença

Funcionalidade SSPR Licença necessária
SSPR para utilizadores cloud-only Entra ID Free (incluído em todas as subscrições M365)
SSPR com password writeback (híbrido) Entra ID P1 (M365 Business Premium, E3+)
SSPR com relatórios de uso e auditoria avançada Entra ID P2

Configurar SSPR — passo a passo

Caminho: entra.microsoft.com → Protection → Password reset

Definição Valor recomendado Nota
Self service password reset enabled All Começa com “Selected” num grupo piloto
Number of methods required to reset 2 1 método é insuficiente para contas críticas
Methods available to users Mobile app notification, Mobile app code, Email, Mobile phone Evitar perguntas de segurança — fáceis de adivinhar
Registration → Require users to register Yes Apresentado no próximo login
Number of days before re-confirmation 180 dias Pede ao utilizador para confirmar os dados de recuperação
Notify users on password reset Yes Notifica o utilizador por email quando a password é reposta
Notify admins of other admin resets Yes Alerta todos os admins quando um admin repõe a sua password

⚠ SSPR para administradores — regras especiais

Contas com funções de administrador ficam sujeitas a uma política de dois factores obrigatória para SSPR, independentemente da configuração do tenant. Além disso, alterações à política SSPR para administradores podem demorar até 60 minutos a entrar em efeito. O URL de self-service para utilizadores é aka.ms/sspr.

4. Password Protection — lista de passwords banidas

O Entra ID mantém automaticamente uma lista global de passwords banidas actualizada com base em telemetria de segurança da Microsoft — passwords fracas e comprometidas detectadas em ataques reais. Esta lista não é pública e é aplicada silenciosamente a todos os tenants sem necessidade de configuração.

Adicionalmente, podes definir uma lista personalizada com termos específicos da tua organização — nome da empresa, produtos, localidade, etc. — que os utilizadores tendem a usar como base de passwords previsíveis.

Como funciona a normalização

Antes de comparar com a lista banida, o Entra ID normaliza a password proposta — converte para minúsculas e substitui caracteres comuns. Isto permite que uma lista pequena bloqueie um conjunto muito maior de variações:

Password tentada Após normalização Resultado
Empresa2024! empresa2024! Bloqueada (“empresa” banida)
Empr3s@! empresa! Bloqueada (3→e, @→a, substituições)
Bl@nK2025# blank2025# Bloqueada (“blank” é termo banido)

Configurar lista personalizada de passwords banidas

Caminho: entra.microsoft.com → Protection → Authentication methods → Password protection

Campo Configuração recomendada
Enforce custom list Yes
Custom banned password list Um termo por linha. Exemplos para uma empresa portuguesa:
empresa
nomeDaEmpresa
lisboa
porto
portugal
setembro
verao
inverno
welcome
password
helpdesk
suporte

ℹ Regras da lista personalizada

Máximo de 1 000 termos. Cada termo tem de ter no mínimo 4 caracteres. A lista não é case-sensitive — introduz os termos em minúsculas. A normalização aplica-se: basta adicionar o radical da palavra (ex: “empresa” bloqueia “Empr3s@2026!”). Não é necessário adicionar variações manualmente.

5. Smart Lockout — bloqueio inteligente de ataques

O Smart Lockout distingue entre um utilizador legítimo que esqueceu a password e um atacante a tentar passwords em força bruta. Usa inteligência de localização, IP, padrões de tentativas e hash das últimas 3 passwords falhadas para tomar esta decisão — evitando bloquear utilizadores reais enquanto bloqueia automaticamente atacantes.

Comportamento por defeito vs. configurável

Parâmetro Valor padrão Recomendado (P1)
Lockout threshold 10 tentativas falhadas 5–8 (ambientes com ataques frequentes) ou 10 (padrão)
Lockout duration (segundos) 60 seg (cresce progressivamente) 300 seg (5 min) para maioria dos ambientes

✓ Comportamento especial do Smart Lockout: O sistema memoriza os hashes das últimas 3 passwords falhadas. Se o utilizador introduzir repetidamente a mesma password errada, o contador de bloqueio não avança — evitando que um utilizador que está a tentar a mesma password errada várias vezes fique bloqueado pelo mesmo erro repetido.

ℹ Recuperação após bloqueio Smart Lockout

Após bloqueio, o utilizador tem duas opções: (1) aguardar o fim da duração do lockout e tentar novamente com a password correcta; (2) usar o SSPR em aka.ms/sspr — ao escolher “esqueci-me da password”, o contador de lockout é reposto a zero imediatamente. Se escolher “sei a minha password” no SSPR, o timer continua.

Configurar Smart Lockout (requer P1)

Caminho: entra.microsoft.com → Protection → Authentication methods → Password protection

Na mesma página da Password Protection, ajusta os campos Lockout threshold e Lockout duration in seconds. Guarda as alterações. As alterações entram em efeito imediatamente nas novas tentativas de autenticação.

6. Ambientes híbridos — AD on-premises + Entra ID

Em ambientes híbridos (AD on-premises sincronizado com Entra ID via Entra Connect), a política de password aplicada nas mudanças locais (Ctrl+Alt+Del → Alterar password, ou via ADUC) é a do Active Directory local — não a do Entra ID. Para estender a protecção do Entra ID ao AD local, é necessário instalar o Microsoft Entra Password Protection Agent nos Domain Controllers.

Componente Onde instalar Função
DC Agent Em todos os Domain Controllers Valida passwords contra a lista banida no momento da mudança local
Proxy Service Num servidor membro do domínio com acesso à internet Faz a ponte entre os DC Agents e o Entra ID para descarregar a lista banida actualizada

Modos de operação no AD

Modo Comportamento Uso recomendado
Audit Regista passwords fracas no Event Log mas não as bloqueia Fase inicial — validar impacto antes de enforçar
Enforced Bloqueia activamente passwords que correspondem à lista banida Produção — após validação em modo Audit

⚠ Smart Lockout não se aplica ao AD on-premises: O Smart Lockout personalizado é uma funcionalidade exclusiva do Entra ID cloud. As definições configuradas no portal do Entra ID não têm efeito nos Domain Controllers on-premises, mesmo com os agentes instalados. Para ambientes híbridos, o lockout local é controlado pela Account Lockout Policy do GPO.

7. Comandos PowerShell úteis

Verificar registo SSPR dos utilizadores

Connect-MgGraph -Scopes "UserAuthenticationMethod.Read.All","User.Read.All"

# Listar utilizadores sem métodos de autenticação registados para SSPR
Get-MgUser -All -Filter "accountEnabled eq true" | ForEach-Object {
    $methods = Get-MgUserAuthenticationMethod -UserId $_.Id
    if ($methods.Count -le 1) {
        [PSCustomObject]@{
            DisplayName = $_.DisplayName
            UPN = $_.UserPrincipalName
            MetodosRegistados = $methods.Count
        }
    }
} | Format-Table -AutoSize

Verificar expiração de passwords

# Listar utilizadores COM expiração de password activa (que deviam ter "nunca")
Get-MgUser -All -Property "DisplayName,UserPrincipalName,PasswordPolicies" |
    Where-Object { $_.PasswordPolicies -notcontains "DisablePasswordExpiration" } |
    Select-Object DisplayName, UserPrincipalName, PasswordPolicies |
    Export-Csv "passwords-com-expiracao.csv" -NoTypeInformation

Forçar registo SSPR no próximo login

# Invalidar métodos de autenticação de um utilizador (força re-registo)
# ATENÇÃO: confirma com o utilizador antes de executar
Update-MgUser -UserId "[email protected]" -AdditionalProperties @{
    "strongAuthenticationRequirements" = @()
}

8. Checklist de configuração

# Tarefa Prioridade
Activar SSPR para todos os utilizadores CRÍTICO
Configurar 2 métodos de verificação obrigatórios para SSPR CRÍTICO
Activar lista personalizada de passwords banidas com termos da organização CRÍTICO
Desactivar expiração de passwords para utilizadores com MFA activo ALTA
Ajustar Smart Lockout threshold para 5–8 tentativas (requer P1) ALTA
Activar notificações de SSPR para utilizadores e admins ALTA
Auditar utilizadores sem métodos SSPR registados via PowerShell ALTA
Em ambiente híbrido: instalar DC Agent e Proxy Service nos Domain Controllers ALTA
Rever e actualizar a lista personalizada de passwords banidas a cada 6 meses NORMAL

Este artigo foi útil?

Duarte Spínola

Deixe um Comentário