Dia 28: Auditoria, Registos e Alertas — Microsoft 365 para Sysadmins
No dia 28 do curso Microsoft 365 para sysadmins, abordamos auditoria, registos e alertas. Saber quem fez o quê, quando e onde é fundamental em qualquer ambiente corporativo. O Microsoft 365 oferece ferramentas robustas para registar actividades, detectar anomalias e alertar automaticamente os administradores.
Neste artigo
- 1. Introdução à Auditoria
- 2. Unified Audit Log
- 3. Alert Policies
- 4. Diagnostic Settings
- 5. Retenção de Registos
- 6. Monitorização PME
- 7. Erros Comuns e Lista de Verificação
1. Introdução à Auditoria
A auditoria no Microsoft 365 permite rastrear actividades administrativas e de utilizadores em todos os serviços — Exchange, SharePoint, Teams, Microsoft Entra ID e outros. Sem auditoria activa, é impossível investigar incidentes de segurança ou cumprir requisitos regulamentares.
⚠ O registo de auditoria deve ser activado manualmente — por defeito, a ingestão do Unified Audit Log pode não estar activa em tenants recém-criados. Verificar sempre antes de confiar nos registos.
Os três pilares da auditoria no M365 são: registar (Unified Audit Log), alertar (Alert Policies) e exportar (Diagnostic Settings para armazenamento externo). Cada pilar complementa os outros — sem registos não há alertas, e sem exportação os registos expiram.
2. Unified Audit Log
ℹ Unified Audit Log regista todas as acções realizadas no Microsoft 365 — desde alterações de configuração até acessos a documentos.
O Unified Audit Log (UAL) concentra registos de todos os serviços M365 num único repositório pesquisável. Acessível via Microsoft Purview Compliance Portal ou PowerShell (módulo ExchangeOnlineManagement).
Verificar e activar a ingestão do UAL:
Connect-ExchangeOnline
Get-AdminAuditLogConfig | Select-Object UnifiedAuditLogIngestionEnabled
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true
Pesquisar eventos dos últimos 7 dias:
Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date)
Filtrar por operação específica (ex.: alterações de palavras-passe):
Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-30) -EndDate (Get-Date) -Operations "Change user password" -ResultSize 100
Para pesquisa avançada com JSON detalhado, usar o cmdlet Search-UnifiedAuditLog com parâmetro -FreeText para procurar termos livres nos registos.
Entre as centenas de operações possíveis, dez concentram a maior parte do valor para uma PME:
| Operation | O que regista |
|---|---|
UserLoginFailed |
Início de sessão falhado — indicador de tentativas de acesso indevido |
UserLoggedIn |
Sessão iniciada com sucesso (web, mobile, clientes) |
FileDownloaded |
Descarregamento de ficheiro do SharePoint/OneDrive — indicador de exfiltração |
FileUploaded |
Carregamento de ficheiro para SharePoint/OneDrive |
FileDeleted |
Eliminação de ficheiro (própria ou por outro utilizador) |
MailItemsAccessed |
Acesso a itens de correio (Exchange) — crítico em investigações |
Add-MailboxPermission |
Concessão de permissões sobre a caixa de outro utilizador |
Add member to role. |
Administrador adicionado a role com privilégios (enfraquece a segurança) |
UpdateInboxRule |
Regras de caixa alteradas — vector clássico de fraude de CEO |
MFA registered |
Registo ou alteração de métodos MFA — verificar quem e quando |
3. Alert Policies
As Alert Policies permitem configurar notificações automáticas quando ocorrem eventos específicos — como criação de regras de caixa de entrada suspeitas, eliminação massiva de e-mails ou inícios de sessão de localizações atípicas. Existem dezenas de políticas pré-configuradas no Microsoft Purview.
Listar políticas de alerta existentes via PowerShell:
Connect-ExchangeOnline
Get-Alert | Select-Object Name,Severity,Status,NotifyUser | Format-Table -AutoSize
Criar uma política personalizada para detectar alterações de permissões em caixas de correio:
New-Alert -Name "Alteração de Permissões Mailbox" -Category Permission -Severity High -Operation "Add-MailboxPermission" -NotifyUser admin@domínio.pt
| Política | Severidade | Descrição |
|---|---|---|
| Regra de caixa de entrada suspeita | Alta | Criação de regras que reencaminham e-mails para externo |
| Eliminação massiva | Média | Mais de N mensagens eliminadas em pouco tempo |
| Início de sessão anómalo | Alta | Acesso de localização ou IP invulgar |
4. Diagnostic Settings
Os Diagnostic Settings permitem exportar registos de auditoria para destinos externos — Azure Storage Account, Log Analytics Workspace ou Event Hub. Isto é essencial para retenção longa (mais de 180 dias) e para integração com SIEM.
Configurar via Microsoft Purview Compliance Portal:
- Navegar para Microsoft Purview > Audit > Export
- Seleccionar Export registo de auditorias e criar nova exportação
- Escolher destino: Azure Storage Account ou Log Analytics
- Definir período de retenção no destino
Via PowerShell ( módulo Microsoft.Graph ), criar diagnostic setting para Entra ID:
Connect-MgGraph -Scopes "AuditLog.Read.All"
New-MgDiagnosticSetting -BodyParameter @{
displayName = "AuditLog-to-LogAnalytics"
workspaceId = "/subscriptions/SUB_ID/resourceGroups/RG/providers/Microsoft.OperationalInsights/workspaces/LAW"
logs = @(@{category = "AuditLogs"; enabled = $true})
}
5. Retenção de Registos
A retenção por defeito do Unified Audit Log varia consoante a licença. Para PME sem Microsoft 365 E5, o período é de 180 dias. Com E5 ou Microsoft 365 E5 Compliance, é possível activar retenção até 1 ano (ou 10 anos com licença adicional).
| Licença | Retenção Padrão | Retenção Máxima |
|---|---|---|
| M365 Business Basic/Standard | 180 dias | 180 dias |
| M365 E3 | 180 dias | 1 ano |
| M365 E5 | 1 ano | 10 anos (com complemento) |
Para retenção superior ao padrão, activar via Compliance Portal ou PowerShell. Sempre que possível, exportar para Azure Log Analytics para análise contínua e alertas personalizados com KQL (Kusto Query Language).
6. Monitorização PME
Para PME sem licenças E5, a monitorização eficaz combina ferramentas nativas gratuitas com boas práticas. O objectivo é cobrir o essencial sem custos adicionais.
Plano de monitorização recomendado para PME:
- UAL activado — verificação mensal de ingestão
- Alert Policies padrão — activar as de severidade alta pré-configuradas
- Relatório semanal manual — exportar UAL para CSV e arquivar
- Microsoft 365 Defender — usar o portal gratuito para ameaças de e-mail
- Entra ID Registos de início de sessão — monitorizar inícios de sessão de risco semanalmente
Exportar registos semanalmente para ficheiro local (CSV) garante histórico mesmo com retenção limitada de 180 dias.
$logs = Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date) -ResultSize 5000
$logs | Export-Csv -Path "C:\Audit\Semana_$(Get-Date -Format yyyyMMdd).csv" -NoTypeInformation
7. Erros Comuns e Lista de Verificação
Erros frequentes na implementação de auditoria M365:
| Causa | Consequência | Solução |
|---|---|---|
| UAL não activado | Sem registos de auditoria | Activar com Set-AdminAuditLogConfig |
| Políticas de alerta desactivadas | Sem notificação de incidentes | Revisão trimestral de políticas |
| Sem exportação externa | Registos expiram em 180 dias | Configurar Diagnostic Settings |
| Permissões insuficientes | Cmdlets devolvem erros | Atribuir função Audit Logs no Purview |
Lista de verificação para implementação de auditoria M365:
- ✓ Unified Audit Log activado e verificado
- ✓ Conta administrativa com permissões de auditoria (função Audit Logs)
- ✓ Alert Policies de severidade alta activadas
- ✓ Política de alerta personalizada para regras de caixa de entrada
- ✓ Exportação semanal de registos para ficheiro
- ✓ Diagnostic Settings configurado (se E5 ou com Azure)
- ✓ Revisão trimestral de alertas e falsos positivos
- ✓ Documentação do processo de resposta a incidentes
Artigos relacionados: Dia 22: Microsoft Defender for Business · Dia 23: Microsoft Sentinel — SIEM na Nuvem para PME · Dia 27: Conditional Access e Zero Trust no Microsoft 365.
No próximo Dia 29 continuamos com gestão de dispositivos móveis e Intune. Para documentação oficial, consultar Microsoft Purview Audit e Alert Policies no Microsoft Purview.