Recomendações para monitoramento e detecção de ameaças
Aplica-se a esta recomendação de lista de verificação do Azure Well-Architected Framework Security:
SE:10 | Implemente uma estratégia de monitoramento holística que se baseia em mecanismos modernos de detecção de ameaças que podem ser integrados à plataforma. Os mecanismos devem alertar de forma confiável para triagem e enviar sinais para processos de SecOps existentes. |
---|
Este guia descreve as recomendações para monitoramento e detecção de ameaças. O monitoramento é fundamentalmente um processo de obtenção de informações sobre eventos que já ocorreram. O monitoramento de segurança é uma prática de capturar informações em diferentes altitudes da carga de trabalho (infraestrutura, aplicativo, operações) para obter reconhecimento de atividades suspeitas. O objetivo é prever incidentes e aprender com eventos anteriores. Os dados de monitoramento fornecem a base da análise pós-incidente do que ocorreu para ajudar na resposta a incidentes e investigações forenses.
O monitoramento é uma abordagem de Excelência Operacional aplicada em todos os pilares do Well-Architected Framework. Este guia fornece recomendações apenas de uma perspectiva de segurança. Os conceitos gerais de monitoramento, como instrumentação de código, coleta de dados e análise, estão fora do escopo deste guia. Para obter informações sobre os principais conceitos de monitoramento, consulte Recomendações para projetar e criar uma estrutura de observabilidade.
Definições
Termo | Definição |
---|---|
Logs de auditoria | Um registro de atividades em um sistema. |
SIEM (Gerenciamento de informações e eventos de segurança) | Uma abordagem que usa recursos internos de detecção de ameaças e inteligência com base em dados agregados de várias fontes. |
Detecção de ameaças | Uma estratégia para detectar desvios de ações esperadas usando dados coletados, analisados e correlacionados. |
Inteligência contra ameaças | Uma estratégia para interpretar dados de detecção de ameaças para detectar atividades suspeitas ou ameaças examinando padrões. |
Prevenção contra ameaças | Controles de segurança que são colocados em uma carga de trabalho em várias altitudes para proteger seus ativos. |
Principais estratégias de design
A main finalidade do monitoramento de segurança é a detecção de ameaças. O objetivo principal é evitar possíveis violações de segurança e manter um ambiente seguro. No entanto, é igualmente importante reconhecer que nem todas as ameaças podem ser bloqueadas preventivamente. Nesses casos, o monitoramento também serve como um mecanismo para identificar a causa de um incidente de segurança que ocorreu apesar dos esforços de prevenção.
O monitoramento pode ser abordado de várias perspectivas:
Monitore em várias altitudes. Observar de várias altitudes é o processo de obter informações sobre fluxos do usuário, acesso a dados, identidade, rede e até mesmo o sistema operacional. Cada uma dessas áreas oferece insights exclusivos que podem ajudá-lo a identificar desvios de comportamentos esperados estabelecidos em relação à linha de base de segurança. Por outro lado, monitorar continuamente um sistema e aplicativos ao longo do tempo pode ajudar a estabelecer essa postura de linha de base. Por exemplo, você normalmente pode ver cerca de 1.000 tentativas de entrada em seu sistema de identidade a cada hora. Se o monitoramento detectar um pico de 50.000 tentativas de entrada durante um curto período, um invasor poderá estar tentando obter acesso ao seu sistema.
Monitore em vários escopos de impacto. É fundamental observar o aplicativo e a plataforma. Suponha que um usuário de aplicativo receba acidentalmente privilégios escalonados ou ocorra uma violação de segurança. Se o usuário executar ações além do escopo designado, o impacto poderá ficar restrito às ações que outros usuários podem executar.
No entanto, se uma entidade interna comprometer um banco de dados, a extensão do dano potencial será incerta.
Se ocorrer um comprometimento no lado do recurso do Azure, o impacto poderá ser global, afetando todas as entidades que interagem com o recurso.
O raio de explosão ou o escopo de impacto podem ser significativamente diferentes, dependendo de quais desses cenários ocorrem.
Use ferramentas de monitoramento especializadas. É fundamental investir em ferramentas especializadas que possam verificar continuamente se há um comportamento anormal que possa indicar um ataque. A maioria dessas ferramentas tem recursos de inteligência contra ameaças que podem executar análise preditiva com base em um grande volume de dados e ameaças conhecidas. A maioria das ferramentas não é sem estado e incorpora uma compreensão profunda da telemetria em um contexto de segurança.
As ferramentas precisam ser integradas à plataforma ou pelo menos com reconhecimento de plataforma para obter sinais profundos da plataforma e fazer previsões com alta fidelidade. Eles devem ser capazes de gerar alertas em tempo hábil com informações suficientes para realizar a triagem adequada. Usar muitas ferramentas diversas pode levar à complexidade.
Use o monitoramento para resposta a incidentes. Os dados agregados, transformados em inteligência acionável, permitem reações rápidas e eficazes a incidentes. O monitoramento ajuda com atividades pós-incidente. O objetivo é coletar dados suficientes para analisar e entender o que aconteceu. O processo de monitoramento captura informações sobre eventos anteriores para aprimorar as funcionalidades reativas e potencialmente prever incidentes futuros.
As seções a seguir fornecem práticas recomendadas que incorporam as perspectivas de monitoramento anteriores.
Capturar dados para manter uma trilha de atividades
O objetivo é manter uma trilha de auditoria abrangente de eventos que são significativos de uma perspectiva de segurança. O registro em log é a maneira mais comum de capturar padrões de acesso. O registro em log deve ser executado para o aplicativo e a plataforma.
Para uma trilha de auditoria, você precisa estabelecer o que, quando e quem está associado às ações. Você precisa identificar os quadros de tempo específicos quando as ações são executadas. Faça essa avaliação em sua modelagem de ameaças. Para combater uma ameaça de repúdio, você deve estabelecer sistemas de log e auditoria fortes que resultam em um registro de atividades e transações.
As seções a seguir descrevem casos de uso para algumas altitudes comuns de uma carga de trabalho.
Fluxos do usuário do aplicativo
Seu aplicativo deve ser projetado para fornecer visibilidade de runtime quando ocorrerem eventos. Identifique pontos críticos em seu aplicativo e estabeleça o registro em log para esses pontos. Por exemplo, quando um usuário fizer logon no aplicativo, capture a identidade do usuário, o local de origem e outras informações relevantes. É importante reconhecer qualquer escalonamento de privilégios de usuário, as ações executadas pelo usuário e se o usuário acessou informações confidenciais em um armazenamento de dados seguro. Acompanhe as atividades do usuário e da sessão do usuário.
Para facilitar esse acompanhamento, o código deve ser instrumentado por meio do registro em log estruturado. Isso permite consultas e filtragem fáceis e uniformes dos logs.
Importante
Você precisa impor o registro em log responsável para manter a confidencialidade e a integridade do seu sistema. Segredos e dados confidenciais não devem aparecer nos logs. Lembre-se de vazar dados pessoais e outros requisitos de conformidade ao capturar esses dados de log.
Monitoramento de identidades e acesso
Mantenha um registro completo dos padrões de acesso para o aplicativo e as modificações nos recursos da plataforma. Tenha logs de atividade robustos e mecanismos de detecção de ameaças, especialmente para atividades relacionadas à identidade, porque os invasores geralmente tentam manipular identidades para obter acesso não autorizado.
Implemente o registro em log abrangente usando todos os pontos de dados disponíveis. Por exemplo, inclua o endereço IP do cliente para diferenciar entre atividades regulares do usuário e possíveis ameaças de locais inesperados. Todos os eventos de registro em log devem ter o carimbo de data/hora do servidor.
Registre todas as atividades de acesso a recursos, capturando quem está fazendo o que e quando está fazendo isso. Instâncias de escalonamento de privilégios são um ponto de dados significativo que deve ser registrado. Ações relacionadas à criação ou exclusão de conta pelo aplicativo também devem ser registradas. Essa recomendação se estende aos segredos do aplicativo. Monitore quem acessa segredos e quando eles são girados.
Embora o registro em log de ações bem-sucedidas seja importante, as falhas de gravação são necessárias de uma perspectiva de segurança. Documente quaisquer violações, como um usuário tentando uma ação, mas encontrando uma falha de autorização, tentativas de acesso para recursos inexistentes e outras ações que parecem suspeitas.
Monitoramento de rede
Ao monitorar pacotes de rede e suas fontes, destinos e estruturas, você obtém visibilidade dos padrões de acesso no nível da rede.
Seu design de segmentação deve habilitar pontos de observação nos limites para monitorar o que os cruza e registrar esses dados em log. Por exemplo, monitore sub-redes que têm grupos de segurança de rede que geram logs de fluxo. Monitore também os logs de firewall que mostram os fluxos que foram permitidos ou negados.
Há logs de acesso para solicitações de conexão de entrada. Esses logs registram os endereços IP de origem que iniciam as solicitações, o tipo de solicitação (GET, POST) e todas as outras informações que fazem parte das solicitações.
Capturar fluxos DNS é um requisito significativo para muitas organizações. Por exemplo, os logs DNS podem ajudar a identificar qual usuário ou dispositivo iniciou uma consulta DNS específica. Ao correlacionar a atividade DNS com os logs de autenticação do usuário/dispositivo, você pode acompanhar as atividades para clientes individuais. Essa responsabilidade geralmente se estende à equipe de carga de trabalho, especialmente se ela implantar qualquer coisa que torne as solicitações DNS parte de sua operação. A análise de tráfego DNS é um aspecto fundamental da observabilidade de segurança da plataforma.
É importante monitorar solicitações DNS inesperadas ou solicitações DNS direcionadas para pontos de extremidade de comando e controle conhecidos.
Compensação: o registro em log de todas as atividades de rede pode resultar em uma grande quantidade de dados. Cada solicitação da camada 3 pode ser registrada em um log de fluxo, incluindo todas as transações que cruzam um limite de sub-rede. Infelizmente, não é possível capturar apenas eventos adversos porque eles só podem ser identificados depois que ocorrem. Tome decisões estratégicas sobre o tipo de eventos a serem capturados e por quanto tempo armazená-los. Se você não tiver cuidado, o gerenciamento dos dados pode ser esmagador. Há também uma compensação sobre o custo de armazenar esses dados.
Devido às compensações, você deve considerar se o benefício do monitoramento de rede de sua carga de trabalho é suficiente para justificar os custos. Se você tiver uma solução de aplicativo Web com um volume de solicitação alto e seu sistema fizer uso extensivo de recursos gerenciados do Azure, o custo poderá superar os benefícios. Por outro lado, se você tiver uma solução projetada para usar máquinas virtuais com várias portas e aplicativos, talvez seja importante capturar e analisar logs de rede.
Capturar alterações do sistema
Para manter a integridade do sistema, você deve ter um registro preciso e atualizado do estado do sistema. Se houver alterações, você poderá usar esse registro para resolver imediatamente os problemas que surgirem.
Os processos de build também devem emitir telemetria. Entender o contexto de segurança dos eventos é fundamental. Saber o que disparou o processo de build, quem o disparou e quando ele foi disparado pode fornecer insights valiosos.
Acompanhe quando os recursos são criados e quando eles são desativados. Essas informações devem ser extraídas da plataforma. Essas informações fornecem insights valiosos para gerenciamento de recursos e responsabilidade.
Monitore o descompasso na configuração de recursos. Documente qualquer alteração em um recurso existente. Acompanhe também as alterações que não são concluídas como parte de uma distribuição para uma frota de recursos. Os logs devem capturar as especificidades da alteração e a hora exata em que ela ocorreu.
Tenha uma visão abrangente, de uma perspectiva de aplicação de patch, de saber se o sistema está atualizado e seguro. Monitore os processos de atualização de rotina para verificar se eles foram concluídos como planejados. Um processo de aplicação de patch de segurança que não é concluído deve ser considerado uma vulnerabilidade. Você também deve manter um inventário que registra os níveis de patch e quaisquer outros detalhes necessários.
A detecção de alterações também se aplica ao sistema operacional. Isso envolve o acompanhamento se os serviços são adicionados ou desativados. Ele também inclui o monitoramento para a adição de novos usuários ao sistema. Há ferramentas projetadas para direcionar um sistema operacional. Eles ajudam com o monitoramento sem contexto no sentido de que eles não visam a funcionalidade da carga de trabalho. Por exemplo, o monitoramento de integridade do arquivo é uma ferramenta crítica que permite controlar as alterações nos arquivos do sistema.
Você deve configurar alertas para essas alterações, especialmente se não espera que elas ocorram com frequência.
Importante
Ao distribuir para produção, verifique se os alertas estão configurados para capturar atividades anômalas detectadas nos recursos do aplicativo e no processo de build.
Em seus planos de teste, inclua a validação de registro em log e alertas como casos de teste priorizados.
Armazenar, agregar e analisar dados
Os dados coletados dessas atividades de monitoramento devem ser armazenados em coletores de dados em que possam ser examinados, normalizados e correlacionados minuciosamente. Os dados de segurança devem ser mantidos fora dos próprios armazenamentos de dados do sistema. Os coletores de monitoramento, sejam eles localizados ou centrais, devem sobreviver às fontes de dados. Os coletores não podem ser efêmeros porque os coletores são a origem para sistemas de detecção de intrusão.
Os logs de rede podem ser detalhados e ocupar o armazenamento. Explore diferentes camadas em sistemas de armazenamento. Os logs podem naturalmente fazer a transição para um armazenamento mais frio ao longo do tempo. Essa abordagem é benéfica porque os logs de fluxo mais antigos normalmente não são usados ativamente e são necessários apenas sob demanda. Esse método garante um gerenciamento de armazenamento eficiente, garantindo também que você possa acessar dados históricos quando necessário.
Os fluxos da carga de trabalho normalmente são uma composição de várias fontes de log. Os dados de monitoramento devem ser analisados de forma inteligente em todas essas fontes. Por exemplo, o firewall bloqueará apenas o tráfego que o atinge. Se você tiver um grupo de segurança de rede que já bloqueou determinado tráfego, esse tráfego não estará visível para o firewall. Para reconstruir a sequência de eventos, você precisa agregar dados de todos os componentes que estão em fluxo e, em seguida, agregar dados de todos os fluxos. Esses dados são particularmente úteis em um cenário de resposta pós-incidente quando você está tentando entender o que aconteceu. A manutenção de tempo precisa é essencial. Para fins de segurança, todos os sistemas precisam usar uma fonte de tempo de rede para que estejam sempre sincronizados.
Detecção de ameaças centralizada com logs correlacionados
Você pode usar um sistema como siem (gerenciamento de eventos e informações de segurança) para consolidar dados de segurança em um local central onde eles podem ser correlacionados em vários serviços. Esses sistemas têm mecanismos internos de detecção de ameaças . Eles podem se conectar a feeds externos para obter dados de inteligência contra ameaças. A Microsoft, por exemplo, publica dados de inteligência contra ameaças que você pode usar. Você também pode comprar feeds de inteligência contra ameaças de outros provedores, como Anomali e FireEye. Esses feeds podem fornecer insights valiosos e aprimorar sua postura de segurança. Para obter informações sobre ameaças da Microsoft, consulte Security Insider.
Um sistema SIEM pode gerar alertas com base em dados correlacionados e normalizados. Esses alertas são um recurso significativo durante um processo de resposta a incidentes.
Compensação: os sistemas SIEM podem ser caros, complexos e exigem habilidades especializadas. No entanto, se você não tiver um, talvez seja necessário correlacionar dados por conta própria. Esse pode ser um processo complexo e demorado.
Os sistemas SIEM geralmente são gerenciados pelas equipes centrais de uma organização. Se sua organização não tiver uma, considere defendê-la. Isso poderia aliviar a carga da análise manual de log e da correlação para permitir um gerenciamento de segurança mais eficiente e eficaz.
Algumas opções econômicas são fornecidas pela Microsoft. Muitos produtos Microsoft Defender fornecem a funcionalidade de alerta de um sistema SIEM, mas sem um recurso de agregação de dados.
Combinando várias ferramentas menores, você pode emular algumas funções de um sistema SIEM. No entanto, você precisa saber que essas soluções improvisadas podem não ser capazes de executar a análise de correlação. Essas alternativas podem ser úteis, mas podem não substituir totalmente a funcionalidade de um sistema SIEM dedicado.
Detectar abuso
Seja proativo quanto à detecção de ameaças e fique atento a sinais de abuso, como ataques de força bruta de identidade em um componente SSH ou um ponto de extremidade RDP. Embora ameaças externas possam gerar muito ruído, especialmente se o aplicativo for exposto à Internet, as ameaças internas geralmente são uma preocupação maior. Um ataque de força bruta inesperada de uma fonte de rede confiável ou uma configuração incorreta inadvertida, por exemplo, deve ser investigado imediatamente.
Acompanhe suas práticas de proteção. O monitoramento não substitui a proteção proativa do ambiente. Uma área de superfície maior é propensa a mais ataques. Aperte os controles tanto quanto a prática. Detecte e desabilite contas não utilizadas, remova portas não utilizadas e use um firewall de aplicativo Web, por exemplo. Para obter mais informações sobre técnicas de proteção, consulte Recomendações sobre proteção de segurança.
A detecção baseada em assinatura pode inspecionar um sistema em detalhes. Envolve procurar sinais ou correlações entre atividades que possam indicar um possível ataque. Um mecanismo de detecção pode identificar determinadas características que são indicativas de um tipo específico de ataque. Talvez nem sempre seja possível detectar diretamente o mecanismo de comando e controle de um ataque. No entanto, geralmente há dicas ou padrões associados a um processo específico de comando e controle. Por exemplo, um ataque pode ser indicado por uma determinada taxa de fluxo de uma perspectiva de solicitação ou pode acessar frequentemente domínios que têm terminações específicas.
Detecte padrões de acesso anômalos do usuário para que você possa identificar e investigar desvios de padrões esperados. Isso envolve comparar o comportamento atual do usuário com o comportamento passado para detectar anomalias. Embora talvez não seja viável executar essa tarefa manualmente, você pode usar ferramentas de inteligência contra ameaças para fazer isso. Invista em ferramentas de UEBA (Análise de Comportamento de Usuário e Entidade) que coletam o comportamento do usuário do monitoramento de dados e os analisam. Essas ferramentas geralmente podem executar análises preditivas que mapeiam comportamentos suspeitos para possíveis tipos de ataque.
Detectar ameaças durante as fases de pré-implantação e pós-implantação. Durante a fase de pré-implantação, incorpore a verificação de vulnerabilidades em pipelines e execute as ações necessárias com base nos resultados. Após a implantação, continue a realizar a verificação de vulnerabilidades. Você pode usar ferramentas como Microsoft Defender para Contêineres, que verifica imagens de contêiner. Inclua os resultados nos dados coletados. Para obter informações sobre práticas de desenvolvimento seguras, consulte Recomendações para usar práticas de implantação seguras.
Aproveite os mecanismos e medidas de detecção fornecidos pela plataforma. Por exemplo, Firewall do Azure pode analisar o tráfego e bloquear conexões com destinos não confiáveis. O Azure também fornece maneiras de detectar e proteger contra ataques de DDoS (negação de serviço distribuído).
Facilitação do Azure
O Azure Monitor fornece observabilidade em todo o ambiente. Sem configuração, você obtém automaticamente métricas de plataforma, logs de atividades e logs de diagnóstico da maioria dos recursos do Azure. Os logs de atividades fornecem informações detalhadas de diagnóstico e auditoria.
Observação
Os logs de plataforma não estão disponíveis indefinidamente. Você precisa mantê-los para poder revisá-los mais tarde para fins de auditoria ou análise offline. Use contas de armazenamento do Azure para armazenamento de longo prazo/arquivamento. No Azure Monitor, especifique um período de retenção quando você habilitar as configurações de diagnóstico para seus recursos.
Configure alertas com base em métricas e logs predefinidos ou personalizados para receber notificações quando eventos ou anomalias relacionados à segurança específicos forem detectados.
Para obter mais informações, consulte a documentação do Azure Monitor.
Microsoft Defender para Nuvem fornece recursos internos para detecção de ameaças. Ele opera em dados coletados e analisa logs. Como ele está ciente dos tipos de logs gerados, ele pode usar regras internas para tomar decisões informadas. Por exemplo, ele verifica listas de endereços IP potencialmente comprometidos e gera alertas.
Habilite os serviços internos de proteção contra ameaças para recursos do Azure. Por exemplo, habilite Microsoft Defender para recursos do Azure, como máquinas virtuais, bancos de dados e contêineres, para detectar e proteger contra ameaças conhecidas.
O Defender para Nuvem fornece recursos de CWPP (plataforma de proteção de carga de trabalho de nuvem) para detecção de ameaças de todos os recursos de carga de trabalho.
Para obter mais informações, consulte O que é Microsoft Defender para Nuvem?.
Os alertas gerados pelo Defender também podem alimentar sistemas SIEM. O Microsoft Sentinel é a oferta nativa. Ele usa IA e aprendizado de máquina para detectar e responder a ameaças de segurança em tempo real. Ele fornece uma visão centralizada dos dados de segurança e facilita a busca proativa de ameaças e a investigação.
Para obter mais informações, consulte O que é o Microsoft Azure Sentinel?.
O Microsoft Sentinel também pode usar feeds de inteligência contra ameaças de várias fontes. Para obter mais informações, consulte Integração de inteligência de ameaças no Microsoft Sentinel.
O Microsoft Sentinel pode analisar o comportamento do usuário a partir do monitoramento de dados. Para obter mais informações, consulte Identificar ameaças avançadas com a UEBA (Análise de Comportamento de Usuário e Entidade) no Microsoft Sentinel.
O Defender e o Microsoft Sentinel trabalham juntos, apesar de alguma sobreposição na funcionalidade. Essa colaboração aprimora sua postura de segurança geral, ajudando a garantir uma detecção e resposta abrangentes de ameaças.
Aproveite o Centro de Continuidade de Negócios do Azure para identificar lacunas em seu patrimônio de continuidade de negócios e se defender contra ameaças como ataques de ransomware, atividades mal-intencionadas e incidentes de administradores desonestos. Para obter mais informações, consulte O que é o Centro de Continuidade de Negócios do Azure?.
Rede
Examine todos os logs, incluindo o tráfego bruto, de seus dispositivos de rede.
Logs do grupo de segurança. Examine os logs de fluxo e os logs de diagnóstico.
Observador de Rede do Azure. Aproveite o recurso de captura de pacotes para definir alertas e obter acesso a informações de desempenho em tempo real no nível do pacote.
A captura de pacotes rastreia o tráfego dentro e fora das máquinas virtuais. Você pode usá-lo para executar capturas proativas com base em anomalias de rede definidas, incluindo informações sobre invasões de rede.
Para obter um exemplo, consulte Monitorar redes proativamente com alertas e Azure Functions usando a Captura de Pacotes.
Identidade
Monitore eventos de risco relacionados à identidade, sobre identidades potencialmente comprometidas e corrigir esses riscos. Revise os eventos de risco relatados destas maneiras:
Use Microsoft Entra ID relatório. Para obter mais informações, consulte O que é a Proteção de Identidade? e Proteção de Identidade.
Use membros da API de detecção de risco do Identity Protection para obter acesso programático às detecções de segurança por meio do Microsoft Graph. Para obter mais informações, consulte riskDetection e riskyUser.
Microsoft Entra ID usa algoritmos adaptáveis de machine learning, heurística e credenciais comprometidas conhecidas (pares de nome de usuário e senha) para detectar ações suspeitas relacionadas às suas contas de usuário. Esses pares de nome de usuário e senha são exibidos monitorando a dark web pública e escura e trabalhando com pesquisadores de segurança, aplicação da lei, equipes de segurança na Microsoft e outros.
Azure Pipelines
O DevOps defende o gerenciamento de alterações de cargas de trabalho por meio de CI/CD (integração contínua e entrega contínua). Certifique-se de adicionar validação de segurança nos pipelines. Siga as diretrizes descritas em Protegendo o Azure Pipelines.
Links relacionados
- Recomendações para projetar e criar uma estrutura de observabilidade
- Insider de Segurança
- Recomendações para proteger recursos
- Recomendações para usar práticas de implantação seguras
- Documentação do Azure Monitor
- O que é o Microsoft Defender para Nuvem?
- O que é o Microsoft Sentinel?
- Integração da inteligência contra ameaças no Microsoft Sentinel
- Identificar ameaças avançadas com o UEBA (Análise do Comportamento de Usuários e Entidades) no Microsoft Sentinel
- Tutorial: registrar em log o tráfego de rede bidirecionalmente em uma máquina virtual usando o portal do Azure
- Captura de pacotes
- Monitorar redes de maneira proativa com alertas e o Azure Functions usando a captura de pacotes
- O que é proteção de identidade?
- Identity Protection
- riskDetection
- riskyUser
- Saiba como adicionar validação de segurança contínua ao pipeline de CI/CD
Lista de verificação de segurança
Consulte o conjunto completo de recomendações.