Otimizar o volume de ingestão
Neste guia, explicamos como otimizar o volume de ingestão, com foco na configuração de pipelines de processamento de dados do Google Security Operations. Esse recurso oferece uma maneira unificada de filtrar, transformar e encobrir dados antes que eles sejam totalmente ingeridos, independentemente da origem. Esse método melhora a qualidade de dados e a eficiência da detecção de ameaças.
O guia é destinado a engenheiros de segurança, analistas do Google SecOps e administradores de nuvem que gerenciam a ingestão de registros no Google SecOps.
A ingestão de grandes volumes de registros não filtrados pode sobrecarregar seu orçamento e recursos. Isso leva a um aumento nos custos, recursos de pesquisa e análise mais lentos e uma maior chance de os analistas de segurança perderem alertas críticos em meio a uma enxurrada de dados irrelevantes. A filtragem eficaz é crucial para uma implantação econômica e eficiente do Google SecOps.
Antes de começar
Verifique se você tem ou faz o seguinte:
- Um papel do Identity and Access Management (IAM): o papel predefinido da API Chronicle
Admin(roles/chronicle.admin) ou um papel personalizado que contenha uma destas permissões:chronicle.logProcessingPipelines.*chronicle.logTypes.getchronicle.logTypes.listchronicle.feeds.getchronicle.feeds.listchronicle.logs.list
- Versão do Bindplane: é necessário ter a versão 1.96.4 ou mais recente do console do Bindplane Server.
- Para o Bindplane Cloud, a federação de identidade da carga de trabalho (WIF, na sigla em inglês) é compatível com a autenticação. As implantações autohospedadas do Bindplane exigem credenciais de chave JSON da conta de serviço.
- Acesso ao console de gerenciamento do Bindplane ou às APIs do pipeline de dados do Google SecOps para configurar os nós do processador.
- Identificar os campos, tipos de registro e condições precisos necessários para configurar os processadores de filtro, transformação e ocultação para redução de volume.
- Defina as entradas de stream do pipeline correspondendo aos tipos de registro específicos, IDs de coletor (para fontes do Bindplane) ou nomes de feed (para feeds de dados) associados aos seus métodos de ingestão.
- Se você estiver ingerindo registros do Google Cloud , defina os filtros de exportação do Logging necessários para implementar a filtragem upstream e economizar ao máximo antes que os dados cheguem ao pipeline do SecOps.
- Entenda seus dados de registro:
- Identifique registros de alto volume ou baixo valor: analise suas métricas de ingestão atuais para identificar quais tipos e fontes de registro estão contribuindo mais para o volume e o custo. Para mais informações, consulte a Visão geral das métricas de ingestão.
- Determine os critérios de filtragem: determine os campos, valores, padrões (regex) ou condições específicos que identificam de forma confiável os registros que serão descartados, transformados ou editados.
- Conheça os métodos de ingestão: entenda como cada fonte de registro de destino é ingerida (direta, Bindplane, feed, API), já que isso afeta a configuração do fluxo do pipeline.
Terminologia importante
- Pipelines de tratamento de dados: um recurso usado para filtrar, transformar e encobrir dados de registro conforme eles chegam, antes de serem armazenados e indexados.
- Filtro/filtragem: o principal recurso para otimização de volume, que define condições para descartar seletivamente eventos que não são necessários para a análise de segurança.
- Transformação: um recurso usado para modificar formatos de registro para melhorar a usabilidade, como remover nomes de domínio totalmente qualificados (FQDN) ou excluir campos detalhados em eventos.
- Redact: capacidade de mascarar ou remover completamente informações sensíveis dos registros antes que sejam armazenadas, ajudando na conformidade e na privacidade.
- Agente do Bindplane: um método de ingestão para registros coletados de sistemas locais ou de outros sistemas em nuvem.
- Feeds: um método de ingestão de dados de fontes como o Cloud Storage, o Amazon S3 ou APIs de terceiros.
- APIs de ingestão: um método para enviar dados de registro personalizados, que permite a filtragem do lado do servidor usando pipelines de processamento de dados.
- Filtragem upstream: a prática recomendada de filtrar registros do Google Cloud na origem usando filtros de exportação do Logging para otimizar a economia de custos.
- Streams: um fluxo específico de dados, definido pelo tipo de registro e pela fonte de ingestão (como um feed ou uma API), que serve como entrada para um pipeline de processamento de dados.
- Nó do processador: um componente em um pipeline que contém um ou mais processadores (ações de filtro, transformação ou edição) que manipulam dados sequencialmente.
- Destino: o endpoint do pipeline de tratamento de dados, normalmente a instância do Google SecOps para onde os dados tratados são enviados para ingestão e análise finais.
Usar pipelines de tratamento de dados para otimização
Os pipelines de tratamento de dados no Google SecOps oferecem um controle robusto e pré-analítico sobre o processo de ingestão de dados. Com eles, é possível definir regras e ações que são aplicadas aos registros conforme eles chegam, antes de serem armazenados e indexados. Para mais informações, consulte Configurar e gerenciar pipelines de tratamento de dados.
Principais recursos
- Filtro: é o foco principal da otimização de volume. É possível definir condições, usando conteúdo de registro bruto, atributos ou expressões regulares, para descartar seletivamente eventos que não são necessários para a análise de segurança. Isso é fundamental para reduzir o ruído e os custos.
- Transformar: modifique os formatos de registro para melhorar a usabilidade ou remover dados desnecessários nos eventos. Exemplos incluem remover FQDNs de nomes de host, analisar e reestruturar payloads JSON ou excluir campos detalhados, mas irrelevantes.
- Redigir: mascarar ou remover completamente informações sensíveis, como informações de identificação pessoal (PII), dos registros antes que sejam armazenados, ajudando a cumprir as normas de privacidade e os requisitos de conformidade.
Aplicabilidade universal
Uma das principais vantagens dos pipelines de tratamento de dados é que eles podem ser aplicados a dados de qualquer método de ingestão. Isso fornece uma camada de filtragem consistente para:
- Registros integrados doGoogle Cloud
- Registros coletados usando o agente do Bindplane
- Dados trazidos por feeds
- Registros personalizados enviados pelas APIs Ingestion
Para mais informações, consulte a seção Estratégias de filtragem específicas do método neste guia.
Implementar a filtragem com pipelines de tratamento de dados
Etapa 1: configurar o pipeline
É possível configurar e gerenciar pipelines de tratamento de dados pelo console de gerenciamento do Bindplane ou usando as APIs públicas de pipeline de dados do Google SecOps. Eles permitem definir streams (entradas), configurar nós de processador (filtrar, transformar, encobrir) e gerenciar a implantação do pipeline.
Para instruções de configuração abrangentes, consulte Configurar e gerenciar pipelines de tratamento de dados.
Etapa 2: configurar os processadores para filtragem
Em um pipeline, é possível adicionar processadores a um nó. Para reduzir o volume, use principalmente os processadores de filtro. É possível configurar esses processadores para descartar registros com base em condições ou expressões regulares. Configure condições e instruções de pipeline personalizadas usando a sintaxe OTTL (OpenTelemetry Transformation Language).
- Condições: avaliação de campos ou atributos nos dados de registro.
- Expressões regulares: padrões de correspondência na mensagem de registro bruta.
- Exemplo de OTTL: um exemplo de instrução seria
set(attributes["labels.myLabel.value"], "myValue").
Embora a filtragem seja fundamental, você também pode usar processadores de transformação para remover campos grandes e desnecessários dos registros que você mantém e usar processadores de ocultação para anular dados sensíveis.
Etapa 3: estratégias de filtragem específicas do método
As seções a seguir explicam como abordar a filtragem com pipelines de tratamento de dados para cada tipo principal de ingestão.
Google Cloud registros
Filtragem upstream (prática recomendada): para otimizar a economia de custos, o Google recomenda filtrar os registros do Google Cloud na origem usando filtros de exportação do Cloud Logging. Isso evita que registros indesejados sejam enviados ao Google SecOps. Se necessário, use pipelines de tratamento de dados para filtragem adicional. Para mais informações, consulte o guia de ingestão de dados do Google Cloud , em especial a seção Personalizar as configurações do filtro de exportação.
Aplicativo de pipeline: configure um pipeline de tratamento de dados, selecionando o tipo de registro e o método de ingestão adequados Google Cloud , que podem ser Direto ou Nativo da nuvem. Defina processadores de filtro para descartar registros indesejados com base no conteúdo.
Agente do BindPlane
Os registros coletados pelo agente do Bindplane, de sistemas locais ou de outros sistemas em nuvem, podem ser filtrados usando um pipeline de tratamento de dados. Configure o stream para corresponder aos tipos de registro e IDs de coletor associados às suas fontes do Bindplane. Para mais informações, consulte Usar o Bindplane com o Google SecOps.
Feeds de dados
Para dados ingeridos usando feeds (por exemplo, do Cloud Storage, do Amazon S3 ou de APIs de terceiros), é possível aplicar filtros de pipeline de tratamento de dados selecionando o nome do feed e o tipo de registro ao configurar o stream do pipeline. Para mais informações, consulte o guia Trabalhar com feeds.
Métodos de ingestão da API Chronicle
Se você enviar dados usando os métodos de ingestão da API Chronicle, ainda poderá usar pipelines de processamento de dados. Configure o fluxo do pipeline para corresponder ao tipo de registro usado nas chamadas de API. Isso permite a filtragem do lado do servidor dos seus fluxos de registros personalizados. Para mais informações, consulte o guia Métodos de ingestão da API Chronicle.
Práticas recomendadas
- Filtre upstream quando possível: como mencionado para Google Cloud, sempre filtre os registros o mais próximo possível da origem. Essa é a abordagem mais econômica, porque reduz a sobrecarga de transferência e processamento de dados.
- Seja específico: comece com filtros restritos e bem definidos para excluir registros conhecidos de alto volume e baixo valor. Evite filtros muito amplos que possam descartar acidentalmente dados úteis.
- Iterar e refinar: revise regularmente a eficácia dos filtros. Eles estão capturando os eventos certos? Há novos ruídos que precisam ser filtrados?
- Documente seus filtros: mantenha um registro de quais filtros estão em vigor e por quê, especialmente para expressões regulares complexas ou lógica condicional.
Verificação e testes
- Teste: teste os filtros em um ambiente de não produção ou com um pequeno subconjunto de dados primeiro.
- Validar filtros: use os recursos de teste no editor de pipeline do console do Bindplane. Isso permite inserir registros de amostra e ver a saída depois que os processadores são aplicados, confirmando que os filtros funcionam conforme o esperado.
- Monitorar a ingestão: depois de implantar os pipelines, monitore os painéis de ingestão no Google SecOps para observar o impacto no volume de dados e nos custos. Para mais informações, consulte a Visão geral das métricas de ingestão.
- Ver configurações: é possível ver todas as configurações na interface do Google SecOps em Configurações > Gerenciamento de dados > Tratamento de dados.
- Gerenciamento externo: é possível pesquisar configurações e clicar em Abrir no Bindplane para acessar diretamente o console do Bindplane para gerenciamento avançado.
Limitações
- Limites de serviço: regexes excessivamente complexas ou um grande número de processadores por pipeline podem afetar o desempenho ou estar sujeitos a limites. Confira os limites do Google SecOps em Limites de serviço.
- Pacotes do Google SecOps: conheça os recursos e as funcionalidades do seu pacote do Google SecOps. Para mais informações, consulte Pacotes do Google SecOps.
- Reutilização: embora seja eficiente, uma configuração de pipeline para um tipo ou uma fonte de registro pode não ser diretamente reutilizável para outra sem ajustes.
- Máximo de processadores: defina um máximo de 10 processadores por pipeline.
- Performance de regex: evite a correspondência excessiva de expressões regulares, porque isso pode causar falhas na criação ou implantação do pipeline devido a tempos limite. Prefira analisar dados para JSON e filtrar por campos específicos.
- Restrição de associação de stream: embora seja possível criar pipelines diferentes para feeds diferentes do mesmo tipo de registro, a mesma definição de stream (por exemplo, o mesmo feed ou o mesmo tipo de registro catch-all) não pode ser associada a mais de um pipeline ativo. Definir um tipo de registro como Todos os métodos de ingestão funciona como uma opção geral e impede a configuração de outros pipelines para feeds específicos desse tipo de registro.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.