
Analisador de Fontes de Log do SIEM Microsoft Sentinel
Já tive que responder "o que estamos realmente obtendo desses logs?" ou "quais são os logs recomendados para o Microsoft Sentinel" mais vezes do que consigo contar. A resposta sempre depende de muitas coisas, mas podemos ser genéricos. Então construí essa ferramenta aqui.
Log Horizon conecta-se ao seu workspace do Microsoft Sentinel (e opcionalmente ao Defender XDR), percorre cada tabela de logs que você está ingerindo e informa se você está obtendo valor de segurança com isso ou apenas queimando dinheiro. Ele classifica tabelas, pontua-as em relação às suas regras de detecção e fornece recomendações concretas com estimativas de economia.
Importante: Esta é uma abordagem genérica. Se você sabe que uma fonte de log é importante para o seu ambiente, esse contexto sempre tem precedência sobre o que esta ferramenta informa. As classificações são um ponto de partida, não uma verdade absoluta.
Quer ler mais? Tenho algumas postagens sobre o Log Horizon no meu blog:
| Recurso | Descrição |
|---|---|
| Mecanismo de Classificação | Base de conhecimento com 481 entradas cobrindo mais de 240 conectores, 22 categorias, com status de ciclo de vida (descontinuado/legado além de tabelas de substituição) e fallback heurístico automático para tabelas desconhecidas |
| Pontuação Custo-Valor | Matriz de nível de custo por tabela versus nível de detecção com avaliação combinada (Alto Valor a Baixo Valor), precificada por plano observado (Analytics, Basic, Data Lake) |
| Recomendações | 13 tipos de ação priorizados: candidatos a data lake ou Basic, tabelas sem detecção, desperdício de streaming XDR, filtragem no momento da ingestão, candidatos a divisão, uso de plano, fontes descontinuadas, deficiências de retenção, descobertas do XDR Checker e do Detection Analyzer, cada um com estimativas de economia |
| Mapeamento de Detecções | Mapeia regras de análise, consultas de hunting e detecções XDR para cada tabela para identificar lacunas de cobertura |
| Tags de Correlação | Detecta tags #DONT_CORR# / #INC_CORR# em descrições de regras e sinaliza regras excluídas da correlação do Defender |
| Conformidade de Retenção | Compara a retenção real com os mínimos recomendados com base em padrões do setor e melhores práticas de segurança |
| Otimização do SOC | Obtém as próprias recomendações de melhoria do SOC da Microsoft a partir da API Security Insights |
| Análise de Lacunas por Palavras-Chave | Sinaliza tabelas que você deveria estar ingerindo, mas não está, com base em palavras-chave de fornecedor/produto |
| Descoberta de Transformações | Descobre Data Collection Rules (DCRs) direcionadas ao workspace (lista de assinaturas filtrada por destino, o DCR de transformação do workspace e associações de workspace), analisa transformações inline e em vários estágios e rotula cada operação (filtro, projeção, remoção de coluna, enriquecimento, agregação) |
| Detecção de Tabelas Divididas | Identifica tabelas divididas _SPLT_CL e as vincula de volta às tabelas pai no mecanismo de classificação |
| Gerador de KQL de Divisão | Gera KQL de divisão pronto para o portal a partir de uma base de conhecimento selecionada, análise de regras em tempo real e estatísticas de frequência de campos da comunidade — formato somente de condição que é colado diretamente no editor de regras de divisão do Sentinel. As listas de campos são cruzadas com o esquema ativo da tabela; qualquer coisa não presente é relatada como descartada |
| Detection Analyzer | Pontua regras analíticas quanto a potencial ruído usando resultados de incidentes (proporção de fechamento automático, proporção de falsos positivos e percentis de volume de incidentes) |
| XDR Checker | Adiciona uma camada consultiva focada em XDR: verificações de cobertura de streaming e orientação de retenção de um ano no Data Lake para telemetria relacionada a XDR |
| Classificações Personalizadas | Forneça seu próprio JSON para adicionar ou substituir o banco de dados de classificação integrado |
| Cache de Coleta | Os dados coletados do workspace são armazenados em cache localmente (padrão de 60 minutos) para que reexecuções e reexportações levem segundos; desative com -NoCache |
| Nuvens Soberanas | Os endpoints ARM, Log Analytics e Graph seguem o ambiente do Azure conectado (público, US Government, China) |
| TUI Interativa | Painel Spectre.Console com menus, tabelas codificadas por cores, detalhamentos, assistente de retenção e arte ASCII |
| Exportação | Relatório em JSON, Markdown ou HTML estático para compartilhamento com a equipe |
[!CAUTION] Aviso Legal
Esta ferramenta é desenvolvida e mantida com a ajuda de IA. Tenha cautela ao usar esta solução e sempre entenda o que você está executando antes de executá-la em produção. O desenvolvedor não assume nenhuma responsabilidade por vulnerabilidades ou problemas.
Ao baixar, instalar ou usar esta ferramenta, você reconhece que leu, entendeu e concorda com estes termos.
| O que você precisa | Versão |
|---|---|
| PowerShell | 7.0+ |
| Módulos Az | Az.Accounts |
| Outros módulos | PwshSpectreConsole 2.6.3+ |
| Opcional | Microsoft.Graph.Authentication (para -IncludeDefenderXDR como usuário conectado) |
Os endpoints seguem o ambiente do Azure da sessão atual do Connect-AzAccount, portanto, workspaces do Azure Government e do Azure China funcionam sem parâmetros extras. Os valores da nuvem pública são usados quando nenhum ambiente está disponível.
Se você ainda não estiver conectado ao Azure, o módulo iniciará o Connect-AzAccount para você. Se já estiver, ele simplesmente continuará.
Permissões: Log Analytics Reader e Microsoft Sentinel Reader no workspace cobrem a análise. A descoberta de transformações também precisa de Microsoft.Insights/dataCollectionRules/read (Monitoring Reader) na assinatura ou no grupo de recursos; sem isso, a execução continua e imprime um aviso nomeando a permissão ausente. -IncludeDefenderXDR usa o Microsoft Graph com CustomDetection.Read.All, o que, para um usuário conectado, significa o módulo opcional Microsoft.Graph.Authentication.
Bem direto:```powershell
Install-Module -Name Az.Accounts -Scope CurrentUser Install-Module -Name PwshSpectreConsole -Scope CurrentUser
git clone https://github.com/lnfernux/log-horizon Import-Module ./log-horizon/LogHorizon.psd1
## Utilização
### Noções básicas
Comece por ligar ao Azure e certifique-se de que seleciona a conta e a subscrição corretas:```powershell
Connect-AzAccount
Então podemos invocar a ferramenta:```powershell Invoke-LogHorizon -SubscriptionId '00000000-0000-0000-0000-000000000000' -ResourceGroup 'rg-sentinel' -WorkspaceName 'my-sentinel-ws'
<img width="860" height="842" alt="{F4FFA929-B24F-490C-BD3D-F75E214BCD93}" src="https://assets.kitploit.com/production/public/readmes/13110/ff9d1da85043d02a216df72913ecf63520310b8d820b1bd1278b8e4aca718494.png" />
Também possui um menu para aprofundar em outras saídas: