Utilizando o Azure Monitor para Coleta e Análise de Logs de Segurança

Utilizando o Azure Monitor para Coleta e Análise de Logs de Segurança

01/02/2025

Este artigo técnico e educativo tem como objetivo guiar analistas de segurança, administradores de TI e engenheiros de sistemas na utilização do Azure Monitor para a coleta centralizada e análise eficaz de logs de segurança em ambientes Azure. Em um cenário de nuvem em constante evolução, a visibilidade sobre as atividades e eventos de segurança é fundamental para detectar ameaças, investigar incidentes, garantir a conformidade e manter uma postura de segurança robusta. O Azure Monitor, com seu componente Log Analytics, oferece uma plataforma poderosa para agregar, armazenar, consultar e analisar dados de log de diversas fontes [1].

Introdução

A proliferação de serviços e recursos na nuvem Azure gera um volume massivo de dados de log. Esses logs contêm informações cruciais sobre o que está acontecendo em seu ambiente, desde tentativas de login bem-sucedidas e falhas, alterações de configuração, até atividades de rede e eventos de segurança. No entanto, sem uma estratégia eficaz de coleta e análise, esses logs podem se tornar um "pântano de dados", dificultando a identificação de padrões maliciosos ou a resposta rápida a incidentes [2].

O Azure Monitor é um serviço de monitoramento abrangente que coleta, analisa e atua em dados de telemetria de seus ambientes Azure e locais. Seu componente Log Analytics é um serviço de armazenamento de logs baseado em nuvem que permite coletar dados de log e métricas de uma variedade de fontes, incluindo recursos do Azure, sistemas operacionais convidados de máquinas virtuais, agentes de monitoramento e serviços de segurança como o Microsoft Defender for Cloud e o Azure AD. A linguagem de consulta Kusto (KQL) é a ferramenta utilizada para interagir com esses dados, permitindo consultas complexas e análises profundas [3].

Este guia prático abordará a configuração de um workspace do Log Analytics, a conexão de diferentes fontes de dados de segurança, a utilização da KQL para realizar análises de segurança, a criação de alertas baseados em padrões de log e a visualização de dados através de Workbooks. Serão fornecidas instruções passo a passo, exemplos práticos, e explicações concisas para que o leitor possa implementar, testar e validar esses recursos. Além disso, serão discutidas dicas de segurança, verificação de conformidade e melhores práticas para garantir uma coleta e análise de logs de segurança eficaz, autônoma, profissional e confiável.

Por que o Azure Monitor e Log Analytics são cruciais para a segurança?

  • Centralização de Logs: Agrega logs de diversas fontes Azure e locais em um único local, simplificando a análise e a correlação de eventos.
  • Análise Poderosa: Utiliza a Kusto Query Language (KQL), uma linguagem de consulta rica e flexível, para realizar análises complexas e identificar padrões de ataque ou anomalias.
  • Detecção de Ameaças: Permite a criação de alertas de segurança baseados em consultas KQL, notificando as equipes sobre atividades suspeitas em tempo real.
  • Investigação de Incidentes: Facilita a investigação de incidentes de segurança, fornecendo acesso rápido a dados históricos e a capacidade de correlacionar eventos de diferentes fontes.
  • Conformidade e Auditoria: Ajuda a atender aos requisitos de conformidade, fornecendo trilhas de auditoria detalhadas e a capacidade de gerar relatórios de segurança.
  • Visualização de Dados: Oferece Workbooks e Dashboards para visualizar tendências de segurança, status de conformidade e métricas operacionais.

Pré-requisitos

Para utilizar o Azure Monitor para coleta e análise de logs de segurança, você precisará dos seguintes itens:

  1. Assinatura Azure Ativa: Uma assinatura Azure para criar e gerenciar recursos.
  2. Acesso Administrativo: Uma conta com a função de Proprietário, Colaborador ou Colaborador do Log Analytics no portal do Azure (https://portal.azure.com).
  3. Recursos Azure Existentes: Recursos Azure (máquinas virtuais, redes, aplicações, etc.) que você deseja monitorar.

Passo a Passo: Coleta e Análise de Logs de Segurança com Azure Monitor

Vamos configurar um workspace do Log Analytics e coletar logs de segurança.

1. Criando um Workspace do Log Analytics

Um workspace do Log Analytics é um ambiente único para armazenamento de dados de log.

  1. Abra seu navegador e navegue até o portal do Azure: https://portal.azure.com.
  2. Faça login com uma conta que tenha as permissões necessárias.
  3. No campo de pesquisa superior, digite Log Analytics workspaces e selecione-o nos resultados.
  4. Clique em + Criar.

  5. Noções básicas:

    • Assinatura: Selecione sua assinatura.
    • Grupo de recursos: Crie um novo grupo de recursos (ex: rg-loganalytics) ou selecione um existente.
    • Nome do workspace do Log Analytics: Dê um nome único (ex: la-security-workspace).
    • Região: Selecione a região.
  6. Clique em Revisar + criar e depois em Criar.

2. Conectando Fontes de Dados de Segurança

Vamos conectar algumas fontes de dados de segurança comuns ao nosso workspace.

2.1. Conectando Logs de Atividade do Azure (Azure Activity Log)

O Azure Activity Log fornece um registro de eventos de plano de controle em sua assinatura Azure, incluindo criação, atualização e exclusão de recursos.

  1. No portal do Azure, navegue até o seu workspace do Log Analytics (la-security-workspace).
  2. No painel de navegação esquerdo, em Fontes de Dados, selecione Logs de diagnóstico.
  3. Clique em + Adicionar configuração de diagnóstico.
  4. Selecione a assinatura que você deseja monitorar.
  5. Nome da configuração de diagnóstico: Dê um nome (ex: diag-activitylog).
  6. Categorias de log: Marque ActivityLog.
  7. Detalhes do destino: Selecione Enviar para o workspace do Log Analytics e escolha seu workspace (la-security-workspace).
  8. Clique em Salvar.

2.2. Conectando Logs de Auditoria do Azure Active Directory (Azure AD Audit Logs)

Os logs de auditoria do Azure AD registram atividades relacionadas ao usuário e ao diretório, como logins, alterações de grupo e redefinições de senha.

  1. No portal do Azure, navegue até Azure Active Directory.
  2. No painel de navegação esquerdo, em Monitoramento, selecione Logs de diagnóstico.
  3. Clique em + Adicionar configuração de diagnóstico.
  4. Nome da configuração de diagnóstico: Dê um nome (ex: diag-azuread).
  5. Categorias de log: Marque AuditLogs e SignInLogs.
  6. Detalhes do destino: Selecione Enviar para o workspace do Log Analytics e escolha seu workspace (la-security-workspace).
  7. Clique em Salvar.

2.3. Conectando Logs de Recursos do Azure (Máquinas Virtuais)

Para coletar logs de segurança de máquinas virtuais, você pode instalar o agente do Log Analytics.

  1. No portal do Azure, navegue até uma de suas máquinas virtuais.
  2. No painel de navegação esquerdo, em Monitoramento, selecione Configurações de diagnóstico.
  3. Clique em + Adicionar configuração de diagnóstico.
  4. Nome da configuração de diagnóstico: Dê um nome (ex: diag-vm-security).
  5. Logs: Marque Security (para logs de eventos de segurança do Windows/Linux).
  6. Detalhes do destino: Selecione Enviar para o workspace do Log Analytics e escolha seu workspace (la-security-workspace).
  7. Clique em Salvar.

3. Analisando Logs de Segurança com Kusto Query Language (KQL)

A KQL é a linguagem usada para consultar dados no Log Analytics. Vamos explorar algumas consultas de segurança comuns.

  1. No portal do Azure, navegue até o seu workspace do Log Analytics (la-security-workspace).
  2. No painel de navegação esquerdo, selecione Logs.
  3. A janela de consulta será aberta. Você pode começar a digitar suas consultas KQL aqui.

Exemplos de Consultas KQL para Segurança:

  • Eventos de login falhos no Azure AD (últimas 24 horas): kusto SigninLogs | where TimeGenerated > ago(24h) | where ResultType != 0 | summarize count() by UserDisplayName, IPAddress, ResultDescription | order by count_ desc

    • Explicação: Esta consulta busca por todos os eventos de login que não foram bem-sucedidos (ResultType != 0) nas últimas 24 horas, resume-os por usuário, endereço IP e descrição do resultado, e os ordena pela contagem decrescente.
  • Atividades administrativas críticas no Azure Activity Log (últimas 7 dias): kusto AzureActivity | where TimeGenerated > ago(7d) | where OperationNameValue contains "WRITE" or OperationNameValue contains "DELETE" | where ActivityStatusValue == "Success" | project TimeGenerated, Caller, OperationName, ResourceGroup, Resource, _ResourceId | order by TimeGenerated desc

    • Explicação: Esta consulta identifica operações de WRITE (criação/atualização) e DELETE bem-sucedidas no Azure Activity Log nas últimas 7 dias, projetando campos relevantes como hora, chamador e recurso afetado.
  • Eventos de segurança de VM (tentativas de login falhas no Windows): kusto SecurityEvent | where EventID == 4625 // Event ID for failed logon attempts on Windows | where TimeGenerated > ago(24h) | summarize count() by Account, Computer, IpAddress | order by count_ desc

    • Explicação: Esta consulta busca por eventos de segurança do Windows com EventID 4625 (tentativa de login falha) nas últimas 24 horas, resumindo por conta, computador e endereço IP.
  • Visualização de dados: Após executar uma consulta, você pode alterar o tipo de visualização (ex: Gráfico de pizza, Gráfico de barras) para representar os dados de forma mais compreensível.

4. Criando Alertas de Segurança

Alertas podem ser configurados para notificar as equipes de segurança quando padrões específicos são detectados nos logs.

  1. Após executar uma consulta KQL que identifica um evento de segurança que você deseja monitorar, clique em + Nova regra de alerta na barra de ferramentas superior.

  2. Condição: A consulta KQL será preenchida automaticamente. Configure a Lógica de alerta (ex: Número de resultados Maior que 5 em um período de 5 minutos).

  3. Ações:
    • Clique em + Adicionar grupo de ações.
    • Crie um novo grupo de ações (ex: actiongroup-security) ou selecione um existente.
    • Configure as ações desejadas, como Email/SMS/Push/Voz, Webhook, Automação (para disparar um Logic App ou runbook).
  4. Detalhes: Dê um nome à regra de alerta (ex: Alerta_Logins_Falhos_AzureAD), uma descrição e defina a severidade.
  5. Clique em Revisar + criar e depois em Criar.

5. Utilizando Workbooks para Visualização de Segurança

Workbooks são telas flexíveis que podem ser usadas para análise de dados e criação de relatórios visuais.

  1. No portal do Azure, navegue até o seu workspace do Log Analytics (la-security-workspace).
  2. No painel de navegação esquerdo, em Geral, selecione Workbooks.
  3. Clique em + Novo.
  4. Você pode adicionar Texto, Consultas (KQL), Métricas e Parâmetros para criar um relatório interativo.
  5. Adicione uma consulta KQL e defina a visualização como um gráfico. Salve o Workbook.

Validação e Teste

Para validar a configuração, você precisará gerar eventos de segurança que acionem suas consultas e alertas.

  1. Cenário (Login Falho): Tente fazer login no portal do Azure ou em uma aplicação integrada ao Azure AD várias vezes com credenciais incorretas (mais do que o limite definido na sua regra de alerta).
  2. Ação Esperada:
    • Os eventos de login falhos devem aparecer nos logs do Log Analytics (tabela SigninLogs).
    • O alerta de segurança configurado deve ser acionado, e você deve receber uma notificação (e-mail, SMS, etc.).
  3. Verificação:
    • Verifique os logs no Log Analytics com a consulta SigninLogs | where TimeGenerated > ago(5m) | where ResultType != 0.
    • Verifique a seção Alertas de segurança no Azure Monitor ou sua caixa de entrada de e-mail para a notificação do alerta.

Dicas de Segurança e Melhores Práticas

  • Retenção de Dados: Configure a retenção de dados do Log Analytics de acordo com os requisitos de conformidade da sua organização (ex: 90 dias, 1 ano).
  • Controle de Acesso: Implemente o controle de acesso baseado em função (RBAC) para o workspace do Log Analytics para garantir que apenas usuários autorizados possam acessar e consultar os logs de segurança.
  • Integração com SIEM/SOAR: Para capacidades avançadas de detecção e resposta a incidentes, integre o Log Analytics com um SIEM como o Microsoft Sentinel. Isso permite correlação de eventos, automação de resposta e orquestração.
  • Otimização de Custos: Monitore o volume de dados ingeridos no Log Analytics. Use filtros de diagnóstico para coletar apenas os logs relevantes e evite coletar dados excessivos para otimizar custos.
  • Consultas KQL Eficientes: Aprenda e utilize KQL de forma eficiente para otimizar o desempenho das consultas e reduzir o tempo de busca.
  • Workbooks Compartilhados: Crie e compartilhe Workbooks úteis com sua equipe para visualização e análise colaborativa de dados de segurança.
  • Monitoramento Contínuo: Revise regularmente os alertas gerados e ajuste as regras conforme necessário para reduzir falsos positivos e garantir que as ameaças reais sejam detectadas.

Troubleshooting Comum

  • Logs não estão aparecendo no Log Analytics:
    • Verifique se a configuração de diagnóstico para a fonte de dados está correta e apontando para o workspace do Log Analytics certo.
    • Certifique-se de que o agente do Log Analytics está instalado e funcionando corretamente em VMs, se aplicável.
    • Pode haver um pequeno atraso (alguns minutos) para que os logs apareçam no workspace.
    • Verifique as permissões da identidade que está enviando os logs.
  • Alertas não estão sendo acionados:
    • Verifique se a regra de alerta está Habilitada.
    • Confirme se a consulta KQL na regra de alerta está retornando os resultados esperados quando executada manualmente.
    • Verifique a Lógica de alerta (limite, frequência) para garantir que ela seja acionada pelos eventos que você está gerando.
    • Verifique o Grupo de ações para garantir que as notificações estão configuradas corretamente e que os destinatários estão recebendo os e-mails/SMS.
  • Consultas KQL lentas ou complexas:
    • Otimize suas consultas usando operadores como where e project no início da consulta para filtrar dados o mais cedo possível.
    • Evite o uso excessivo de operadores join em grandes conjuntos de dados.
    • Considere criar funções KQL para consultas complexas e reutilizáveis.
  • Falsos Positivos em Alertas:
    • Ajuste a Lógica de alerta (aumente o limite, ajuste a janela de tempo) para reduzir a sensibilidade.
    • Refine a consulta KQL para ser mais específica e filtrar eventos legítimos.
    • Considere usar uma lista de permissões (whitelist) dentro da consulta para ignorar atividades conhecidas e seguras.

Conclusão

O Azure Monitor e seu componente Log Analytics são ferramentas indispensáveis para a coleta e análise de logs de segurança em qualquer ambiente Azure. Ao centralizar dados de log de diversas fontes, permitir consultas poderosas com KQL e oferecer recursos de alerta e visualização, o Azure Monitor capacita as equipes de segurança a manter uma visibilidade profunda sobre seu ambiente. A implementação eficaz desses recursos é fundamental para a detecção proativa de ameaças, a investigação eficiente de incidentes e a garantia da conformidade regulatória. Com este guia prático, os profissionais de segurança e administradores de TI estarão bem equipados para configurar, validar e gerenciar o Azure Monitor, transformando dados de log brutos em inteligência de segurança acionável para proteger suas organizações.


Referências:

[1] Microsoft Learn. Visão geral do Azure Monitor. Disponível em: https://learn.microsoft.com/pt-br/azure/azure-monitor/overview [2] Microsoft Learn. Melhores práticas para logs do Azure Monitor. Disponível em: https://learn.microsoft.com/pt-br/azure/azure-monitor/logs/best-practices-logs [3] Microsoft Learn. Visão geral da Linguagem de Consulta Kusto (KQL). Disponível em: https://learn.microsoft.com/pt-br/azure/data-explorer/kusto/query/ [4] Microsoft Learn. Coletar logs de atividade do Azure no workspace do Log Analytics. Disponível em: https://learn.microsoft.com/pt-br/azure/azure-monitor/essentials/activity-log?tabs=azure-portal [5] Microsoft Learn. Integrar logs do Azure AD com logs do Azure Monitor. Disponível em: https://learn.microsoft.com/pt-br/azure/active-directory/reports-monitoring/howto-integrate-activity-logs-with-log-analytics [6] Microsoft Learn. Coletar eventos e contadores de desempenho de máquinas virtuais com o Agente do Log Analytics. Disponível em: https://learn.microsoft.com/pt-br/azure/azure-monitor/agents/agent-windows [7] Microsoft Learn. Criar, exibir e gerenciar alertas de log usando o Azure Monitor. Disponível em: https://learn.microsoft.com/pt-br/azure/azure-monitor/alerts/tutorial-log-alert [8] Microsoft Learn. Workbooks do Azure Monitor. Disponível em: https://learn.microsoft.com/pt-br/azure/azure-monitor/visualize/workbooks-overview