Índice
Pré-requisitos
Ambiente técnico
- PowerShell 5.1 ou mais recente
- Módulo PnP PowerShell instalado
- Direitos de administrador do SharePoint Online
- Certificado para autenticação (recomendado)
Permissões requeridas
- Função de Admin do SharePoint ou Admin Global para alguns relatórios
- Admin de Coleção de Sites para auditorias em nível de site
- Compreender as limitações de throttling do SharePoint Online
Considerações de Segurança e Documentação de Estatísticas de Ataques
Visão Geral
Esta documentação descreve preocupações de segurança e estatísticas de vulnerabilidades relacionadas à proteção de dados e incidentes de cibersegurança tanto na França quanto globalmente.
Contexto de Segurança Francês
- Em 2022, a França relatou 832 incidentes de segurança significativos à ANSSI
- 73% das empresas francesas sofreram pelo menos um ciberataque
- Ataques de ransomware aumentaram em 255% em comparação a 2021
Estatísticas Globais
- Custo médio de uma violação de dados: $4,35M em 2022
- 83% das organizações experimentaram mais de uma violação de dados
- Phishing continua sendo o principal vetor de ataque (36% das violações)
Requisitos de Segurança Chave
Criptografia de Dados
- Criptografia de ponta a ponta
- Proteção de dados em repouso
- Gerenciamento seguro de chaves
Controle de Acesso
- Autenticação multifatorial
- Controle de acesso baseado em funções
- Revisões regulares de acesso
Conformidade
- Conformidade com a GDPR
- Diretiva NIS2
- Lei de Proteção de Dados da França
Tendências de Vulnerabilidades
- Explorações de dia zero aumentaram em 40% em 2022
- Ataques à cadeia de suprimentos aumentaram em 300%
- Configurações incorretas de nuvem representam 15% das violações
Medidas de Segurança Recomendadas
- Auditorias de segurança regulares
- Treinamento de conscientização de segurança para funcionários
- Planejamento de resposta a incidentes
- Monitoramento contínuo
- Programa de gerenciamento de vulnerabilidades
Referências
- Relatório Anual ANSSI 2022
- Relatório IBM sobre Custo de Violação de Dados 2022
- Verizon DBIR 2022
Análise de Riscos e Soluções
Para compreender a estrutura dos riscos e suas soluções associadas, examinemos o diagrama a seguir que ilustra as interações entre os diferentes componentes de segurança:
Diagram 1 : PnP PowerShell Overview
Apresentação dos Componentes
O diagrama acima ilustra três categorias principais de riscos:
- Riscos de Acesso - Relacionados a permissões e autenticações
- Riscos de Dados - Relacionados à proteção de informações
- Riscos de Conformidade - Relativos às obrigações regulatórias
Soluções Implementadas
Para cada categoria de risco, soluções específicas estão em vigor:
- Controles de acesso automatizados
- Medidas de proteção de dados
- Processos de governança documentada
Interações e Dependências
O diagrama mostra como:
- Os controles alimentam os relatórios de conformidade
- As soluções se fortalecem mutuamente
- A rastreabilidade é mantida de ponta a ponta
Cenários de Auditoria Comuns
Auditoria de Permissões
A auditoria regular de permissões é uma obrigação regulatória crítica para:
- Garantir a conformidade com a GDPR e outras normas (SOX, NIS2)
- Prevenir vazamentos de dados e acessos não autorizados
- Manter o princípio do menor privilégio
- Detectar contas inativas ou obsoletas
Relatórios de Recertificação
As revisões periódicas (trimestrais recomendadas) necessitam:---
Uma análise de riscos de segurança:
- Identificação de acessos privilegiados
- Detecção de contas em risco
- Avaliação de permissões excessivas
- Revisão de acessos externos
Uma avaliação de dados sensíveis:
- Classificação de documentos confidenciais
- Mapeamento de dados pessoais (GDPR)
- Verificação de criptografia
- Controle de retenções
Uma análise de riscos empresariais:
- Impacto na continuidade dos negócios
- Exposição de dados estratégicos
- Conformidade regulatória
- Riscos de reputação
Ações corretivas documentadas:
- Revogação de acessos não justificados
- Atualização das políticas de segurança
- Arquivamento ou exclusão de conteúdos
- Treinamento de usuários
Ferramentas de auditoria de segurança SharePoint
Ferramentas Microsoft
Microsoft Purview Security Portal
- Auditoria nativa
- Relatórios de conformidade
- Alertas de segurança
SharePoint Administration Center
- Relatórios de acesso
- Análise de uso
- Gerenciamento de sites
Ferramentas de terceiros compatíveis
- AvePoint DocAve
- Sharegate
- Quest Security Explorer
- ManageEngine SharePoint Manager
- Netwrix Auditor
Scripts alternativos recomendados
# Auditoria de permissões simplificadas Get-BasicPermissionReport.ps1 Get-ExternalUserAccess.ps1 Get-GroupMembershipAudit.ps1 Get-UniquePermissionItems.ps1 Get-SiteCollectionAdmins.ps1 # Relatórios de segurança Get-SecurityAuditReport.ps1 Get-ComplianceStatus.ps1 Get-SharingLinks.ps1 # Monitoramento contínuo Start-PermissionMonitoring.ps1 Start-SecurityAlerts.ps1 Start-AuditLogging.ps1Relatórios automatizados recomendados
- Relatório semanal de alterações de permissões
- Relatório mensal de acessos externos
- Painel trimestral de conformidade
- Alertas em tempo real sobre mudanças críticas
# Relatório completo de permissões para recertificação
function Get-PermissionAuditReport {
$report = @()
# Análise dos sites
Get-PnPTenantSite | ForEach-Object {
Connect-PnPOnline -Url $_.Url -Interactive
# Permissões diretas
$webPerms = Get-PnPWeb -Includes RoleAssignments |
Select-Object -ExpandProperty RoleAssignments |
Select-Object @{N='Escopo';E={'Site'}},
@{N='Principal';E={$_.Member.Title}},
@{N='Permissão';E={$_.RoleDefinitionBindings.Name}}
# Permissões de lista
$listPerms = Get-PnPList | Where-Object {$_.HasUniqueRoleAssignments} | ForEach-Object {
Get-PnPListPermissions -Identity $_.Title |
Select-Object @{N='Escopo';E={$_.Title}},
@{N='Principal';E={$_.PrincipalName}},
@{N='Permissão';E={$_.PermissionLevels}}
}
$report += $webPerms + $listPerms
}
return $report | Export-Csv "PermissionAudit_$(Get-Date -Format 'yyyyMMdd').csv"
}Métricas-chave a serem monitoradas
# Análise de riscos relacionados às permissões
function Get-PermissionRiskMetrics {
# Permissões diretas vs grupos
$directPerms = Get-PnPUser | Where-Object {$_.IsSiteAdmin -eq $true}
# Contas externas
$externalUsers = Get-PnPUser | Where-Object {$_.LoginName -like "*ext*"}
# Permissões únicas
$uniquePerms = Get-PnPList | Where-Object {$_.HasUniqueRoleAssignments}
return @{
DirectPermCount = $directPerms.Count
ExternalUserCount = $externalUsers.Count
UniquePermElements = $uniquePerms.Count
}
}Esses relatórios permitem que as equipes:
- Validem a legitimidade dos acessos
- Identifiquem anomalias de permissões
- Documentem as decisões de governança
- Mantenham uma trilha de auditoria conforme
Auditoria de usuários externos
# Pré-requisitos:
# - Módulo ExchangeOnlineManagement instalado: Install-Module -Name ExchangeOnlineManagement
# - Módulo Microsoft.Graph instalado: Install-Module Microsoft.Graph
# - Papéis necessários: Leitor Global ou Administrador de Usuários
Connect-ExchangeOnline
Connect-MgGraph -Scopes "User.Read.All","Directory.Read.All"
# Lista de usuários externos com acesso
Get-PnPUser | Where-Object {$_.LoginName -like "*ext*"} |
Select-Object Title,Email,LoginName |
Export-Csv "UsersExternes.csv"
# Lista de convidados AAD
Get-MgUser -Filter "userType eq 'Guest'" |
Select-Object DisplayName,Mail,UserPrincipalName |
Export-Csv "InvitesAAD.csv"
# Lista de compartilhamentos externos Exchange
Get-ExternalInOutlook |
Select-Object Identity,DisplayName,EmailAddress |
Export-Csv "PartageMail.csv"
Disconnect-ExchangeOnline
Disconnect-MgGraphRelatório destinado às equipes de Segurança e Conformidade
Permissões diretas
# Detecção de permissões únicas
$web = Get-PnPWeb
Get-PnPList | Where-Object {$_.HasUniqueRoleAssignments} | ForEach-Object {
Get-PnPListPermissions -Identity $_.Title
}Relatório destinado aos Proprietários de sites e Administradores SharePoint
Auditoria de grupos SharePoint
# Análise dos membros de grupos
$groups = Get-PnPGroup
foreach($group in $groups) {
$members = Get-PnPGroupMember -Identity $group.Title
$members | Select-Object @{N='Grupo';E={$group.Title}}, Title, Email
}Relatório destinado aos Gestores de sites
Permissões herdadas vs únicas
# Identificação dos elementos com permissões únicas
Get-PnPList | ForEach-Object {
$list = $_
Get-PnPListItem -List $list.Title -PageSize 500 |
Where-Object {$_.HasUniqueRoleAssignments}
}Relatório destinado aos Administradores SharePoint para a governança
Matriz de acessos
# Geração de uma matriz usuários/permissões
Get-PnPWeb -Includes RoleAssignments | ForEach-Object {
$_.RoleAssignments | Select-Object Member,RoleDefinitionBindings
}Relatório destinado aos Auditores e equipes de Conformidade
Relatório sobre os sites
---```powershell
Lista dos sites e sua configuração
Get-PnPTenantSite | Select-Object Url,Template,StorageUsage,LastContentModifiedDate
Auditoria das funcionalidades habilitadas
Get-PnPFeature -Scope Site
# Boas práticas
- Utilizar scripts modulares e reutilizáveis
- Documentar os scripts e seus resultados
- Implementar a gestão de erros
- Respeitar os limites de throttling
- Salvar os relatórios de forma segura
# Resolução de problemas
## Problemas comuns
- Erros de autenticação
- Limitações de throttling
- Permissões insuficientes
- Timeout das requisições
## Soluções
- Verificar as permissões e papéis
- Implementar delays entre as requisições
- Usar a paginação para grandes coleções
- Monitorar os logs de erro
