Configure e faça a gestão de pipelines de tratamento de dados
A funcionalidade Processamento de dados oferece-lhe um controlo robusto de pré-análise sobre o carregamento de dados do Google Security Operations. Pode filtrar eventos, transformar campos ou ocultar valores confidenciais para otimizar a compatibilidade de dados, reduzir custos e proteger informações confidenciais no Google SecOps.
Este documento explica o fluxo de trabalho completo de carregamento e processamento de dados através da consola do Bindplane. Como tal, pode saber como:
- Configure a ligação a uma instância de destino do Google SecOps.
- Crie um novo pipeline do Google SecOps.
- Configurar o tratamento de dados, incluindo streams e processadores.
- Implemente o pipeline para iniciar a ingestão e o processamento de dados.
- Monitorize streams e processadores de pipelines na consola do Google SecOps.
Pode configurar o processamento de dados para streams de dados no local e na nuvem, usando a consola de gestão do Bindplane ou diretamente as APIs Google SecOps Data Pipeline públicas.
O tratamento de dados consiste nos seguintes elementos:
- Streams: uma ou mais streams introduzem dados no pipeline de processamento de dados. Cada stream é configurada para um tipo de stream específico.
- Nó de processamento: o processamento de dados tem um nó de processamento que contém um ou mais processadores. Cada processador especifica uma ação a realizar nos dados (por exemplo, filtrar, transformar e ocultar) à medida que fluem através do pipeline.
- Destino: a instância de destino do Google SecOps é onde os dados processados são enviados.
Exemplos de utilização
Seguem-se alguns exemplos de utilização:
- Remova pares de chave-valor vazios dos registos não processados.
- Oculte dados confidenciais.
- Adicione etiquetas de carregamento a partir do conteúdo do registo não processado.
- Em ambientes com várias instâncias, aplique etiquetas de carregamento a dados de registo de carregamento direto para identificar a instância da stream de origem (como oGoogle Cloud Workspace).
- Filtre os dados do Palo Alto Cortex por valores de campos.
- Reduza os dados do SentinelOne por categoria.
- Extraia informações do anfitrião de feeds e registos de carregamento direto e mapeie-as para o campo
ingestion_sourcepara o Cloud Monitoring.
Pré-requisitos
Se pretender usar a consola do Bindplane para gerir o seu processamento de dados do Google SecOps, siga os passos seguintes:
- Na consola do Google Security Operations, conceda ao instalador as funções de administrador predefinidas necessárias. Para obter detalhes, consulte o artigo Atribua a função de administrador de IAM do projeto num projeto dedicado.
Em Atribuir funções, selecione as seguintes funções de gestão de identidade e de acesso predefinidas:
- Administrador da API Chronicle (
roles/chronicle.admin)
- Administrador da API Chronicle (
Instale a consola do servidor Bindplane. Para SaaS ou no local, consulte o artigo Instale a consola do servidor Bindplane.
Na consola do Bindplane, associe uma instância de destino do Google SecOps ao seu projeto do Bindplane. Para mais detalhes, consulte o artigo Estabeleça ligação a uma instância do Google SecOps.
Faça a gestão dos atrasos na confirmação de dados de SecOps de baixo volume
Os utilizadores da API de carregamento que configuram o seu próprio agente podem sentir um potencial aumento no tempo de confirmação para pipelines de SecOps de baixo volume no pipeline de processamento de dados.
As médias de latência podem aumentar de 700 ms para 2 segundos. Aumente os períodos de limite de tempo e a memória conforme necessário. O tempo de confirmação diminui quando a taxa de transferência de dados excede 4 MB.
Associe-se a uma instância do Google SecOps
Antes de começar, confirme que tem autorizações de administrador do projeto do Bindplane para aceder à página Integrações do projeto.
A instância do Google SecOps serve como destino para a saída dos seus dados.
Para se ligar a uma instância do Google SecOps através da consola do Bindplane, faça o seguinte:
- Na consola do Bindplane, aceda à página Faça a gestão do seu projeto.
- Aceda ao cartão Integrações e clique em Associar ao Google SecOps para abrir a janela Editar integração.
Introduza os detalhes da instância de destino do Google SecOps.
Esta instância carrega os dados processados (saída do seu tratamento de dados) da seguinte forma:Campo Descrição Região Região da sua instância do Google SecOps.
Para encontrar a instância na Google Cloud consola, aceda a Segurança > Deteções e controlos > Google Security Operations > Detalhes da instância.ID de cliente ID de cliente da sua instância do Google SecOps.
Na consola do Google SecOps, aceda a Definições do SIEM > Perfil > Detalhes da organização.Google Cloud número do projeto Google Cloud Número do projeto da sua instância do Google SecOps.
Para encontrar o número do projeto na consola do Google SecOps, aceda a Definições do SIEM > Perfil > Detalhes da organização.Credenciais As credenciais da conta de serviço são o valor JSON necessário para autenticar e aceder às APIs Google SecOps Data Pipeline. Obtenha este valor JSON do ficheiro de credenciais da conta de serviço Google.
A conta de serviço tem de estar localizada no mesmo Google Cloud projeto que a sua instância do Google SecOps e requer privilégios da função de administrador da API Chronicle (roles/chronicle.admin).
Para obter informações sobre como criar uma conta de serviço e transferir o ficheiro JSON, consulte o artigo Crie e elimine chaves de contas de serviço.Clique em Ligar. Se os detalhes da associação estiverem corretos e se associar com êxito ao Google SecOps, pode esperar o seguinte:
- É aberta uma ligação à instância do Google SecOps.
- Na primeira vez que se liga, o SecOps Pipelines aparece na consola do Bindplane.
- A consola do Bindplane apresenta todos os dados processados que configurou anteriormente para esta instância através da API. O sistema converte alguns processadores que configurou através da API em processadores do Bindplane e apresenta outros no respetivo formato bruto de linguagem de transformação do OpenTelemetry (OTTL). Pode usar a consola do Bindplane para editar pipelines e processadores configurados anteriormente através da API.
Depois de criar com êxito uma ligação a uma instância do Google SecOps, pode criar um pipeline do SecOps e configurar o processamento de dados através da consola do Bindplane.
Configure o tratamento de dados através da consola do Bindplane
Através da consola do Bindplane, pode gerir os seus dados processados do Google SecOps, incluindo as configurações de pipelines através da API.
Antes de começar
Antes de começar, recomendamos que leia estas recomendações importantes:
- As streams baseadas em push que chamam a API Backstory foram descontinuadas e já não suportam o tratamento de dados. Migre as suas integrações para usar a API Chronicle Ingestion.
- Para instalar a consola do Bindplane pela primeira vez ou associar uma instância de destino do Google SecOps ao seu projeto do Bindplane, consulte os pré-requisitos.
- Em alternativa à utilização da consola do Bindplane, pode chamar diretamente as APIs Google SecOps para configurar e gerir o processamento de dados. Para ver detalhes, consulte o artigo Use as APIs Google SecOps Data Pipeline.
- Os dados carregados a partir de encaminhadores e do Bindplane são etiquetados com um
collectorIDdistinto das streams de carregamento direto. Para suportar a visibilidade total dos registos, tem de selecionar todos os métodos de carregamento ao consultar origens de dados ou referenciar explicitamente ocollectorIDquando interagir com a API.
Siga estes passos para aprovisionar e implementar um novo pipeline de processamento de registos no Google SecOps, normalmente através da consola do Bindplane:
- Crie um novo pipeline do SecOps.
- Configure o processamento de dados.
- Implemente uma pipeline de processamento de dados.
Crie um novo pipeline do Google SecOps
Um pipeline do Google SecOps é um contentor para configurar um contentor de processamento de dados. Para criar um novo contentor de pipeline do Google SecOps, faça o seguinte:
- Na consola do Bindplane, clique no separador SecOps Pipelines para abrir a página SecOps Pipelines.
- Clique em Criar pipeline de SecOps.
- Na janela Criar novo pipeline do SecOps, defina o tipo de pipeline do SecOps como Google SecOps (predefinição).
Introduza um Nome do pipeline de SecOps e uma Descrição.
Clique em Criar. Pode ver o novo contentor de pipeline na página Pipelines de SecOps.
Configure as streams e os processadores do contentor de tratamento de dados neste contentor.
Configure um contentor de tratamento de dados
Um contentor de tratamento de dados especifica streams de dados a ingerir e processadores (por exemplo, filtrar, transformar ou ocultar) para manipular os dados à medida que fluem para a instância de destino do Google SecOps.
Um cartão de configuração do pipeline é uma visualização do pipeline de processamento de dados onde pode configurar os streams de dados e o nó do processador:
- Uma stream introduz dados de acordo com as respetivas especificações configuradas e envia-os para o contentor. Um contentor de processamento de dados pode ter uma ou mais streams, cada uma configurada para uma stream diferente.
- O nó do processador consiste em processadores que manipulam os dados à medida que fluem para a instância de destino do Google SecOps.
Para configurar um contentor de tratamento de dados, faça o seguinte:
- Crie um novo pipeline do SecOps.
- Na consola do Bindplane, clique no separador SecOps Pipelines para abrir a página SecOps Pipelines.
- Selecione o pipeline do SecOps onde quer configurar o novo contentor de processamento de dados.
No cartão de configuração Pipeline:
- Adicione uma stream.
- Configure o nó de processamento. Para adicionar um processador através da consola do Bindplane, consulte Configure processadores para ver detalhes.
Quando estas configurações estiverem concluídas, consulte o artigo Implemente o processamento de dados para começar a processar os dados.
Adicione uma stream
Para adicionar uma stream, faça o seguinte:
- No cartão de configuração Pipeline, clique em adicionar Adicionar stream para abrir a janela Criar stream.
Na janela Criar stream do SecOps, introduza os detalhes destes campos:
Campo Descrição Tipo de registo Selecione o tipo de registo dos dados a carregar. Por exemplo, CrowdStrike Falcon (CS_EDR).
Nota: um ícone de aviso aviso indica que o tipo de registo já está configurado noutro fluxo (neste pipeline ou noutro pipeline na sua instância do Google SecOps).
Para usar um tipo de registo indisponível, tem de o eliminar primeiro da outra configuração de stream.
Para obter instruções sobre como encontrar a configuração de stream onde o tipo de registo está configurado, consulte o artigo Filtre as configurações do pipeline do SecOps.Método de carregamento Selecione o método de carregamento a usar para carregar os dados para o tipo de registo selecionado. Estes métodos de carregamento foram definidos anteriormente para a sua instância do Google SecOps.
Tem de selecionar uma das seguintes opções:
- Todos os métodos de carregamento: inclui todos os métodos de carregamento para o tipo de registo selecionado. Quando seleciona esta opção, impede a adição de streams subsequentes que usem métodos de carregamento específicos para o mesmo tipo de registo. Exceção: pode selecionar outros métodos de carregamento específicos não configurados para este tipo de registo noutros streams.
- Método de carregamento específico, como
Cloud Native Ingestion,Feed,Ingestion APIouWorkspace.
Feed Se selecionar Feedcomo método de carregamento, é apresentado um campo subsequente com uma lista de nomes de feeds disponíveis (pré-configurados na sua instância do Google SecOps) para o tipo de registo selecionado. Tem de selecionar o feed relevante para concluir a configuração. Para ver e gerir os seus feeds disponíveis, aceda a Definições do SIEM > Tabela de feeds.- Todos os métodos de carregamento: inclui todos os métodos de carregamento para o tipo de registo selecionado. Quando seleciona esta opção, impede a adição de streams subsequentes que usem métodos de carregamento específicos para o mesmo tipo de registo. Exceção: pode selecionar outros métodos de carregamento específicos não configurados para este tipo de registo noutros streams.
Clique em Adicionar stream para guardar a nova stream.A nova stream de dados aparece imediatamente no cartão de configuração Pipeline. A stream é associada automaticamente ao nó do processador e ao destino do Google SecOps.
Filtre configurações da pipeline do SecOps
A barra de pesquisa na página SecOps Pipelines permite-lhe filtrar e localizar os seus pipelines de SecOps (contentores de processamento de dados) com base em vários elementos de configuração. Pode filtrar pipelines pesquisando critérios específicos, como o tipo de registo, o método de carregamento ou o nome do feed.
Use a seguinte sintaxe para filtrar:
logtype:valueingestionmethod:valuefeed:value
Por exemplo, para identificar configurações de streams que contêm um tipo de registo específico, na barra de pesquisa, introduza logtype: e selecione o tipo de registo na lista resultante.
Configure processadores
Um contentor de tratamento de dados tem um nó de processador, que contém um ou mais processadores. Cada processador manipula os dados da stream sequencialmente:
- O primeiro processador processa os dados da stream não processados.
- O resultado do primeiro processador torna-se imediatamente a entrada para o processador seguinte na sequência.
- Esta sequência continua para todos os processadores subsequentes, na ordem exata em que aparecem no painel Processadores, com o resultado de um a tornar-se a entrada do seguinte.
A tabela seguinte lista os processadores:
| Tipo de processador | Capacidade |
|---|---|
| Filtro | Filtre por condição |
| Filtro | Filtre por estado de HTTP |
| Filtro | Filtre por nome da métrica |
| Filtro | Filtre por regex |
| Filtro | Filtre por gravidade |
| Revisão | Oculte dados confidenciais |
| Transformar | Adicionar campos |
| Transformar | Coalesce |
| Transformar | Concat |
| Transformar | Copiar campo |
| Transformar | Elimine campos |
| Transformar | Marechal |
| Transformar | Mova o campo |
| Transformar | Analisar CSV |
| Transformar | Analise JSON |
| Transformar | Analisar chave-valor |
| Transformar | Analise os campos de gravidade |
| Transformar | Análise de data/hora |
| Transformar | Analisar com regex |
| Transformar | Analisar XML |
| Transformar | Mude o nome dos campos |
| Transformar | Data/hora da reescrita |
| Transformar | Espargata |
| Transformar | Transformar |
- Configure o nó do processador adicionando, removendo ou alterando a sequência de um ou mais processadores.
Adicione um processador
Para adicionar um processador, siga estes passos:
No cartão de configuração Pipeline, clique no nó Processador para abrir a janela Editar processadores. A janela Editar processadores está dividida nestes painéis, organizados por fluxo de dados:
- Entrada (ou dados de origem): dados de registo de streaming recebidos recentemente (antes do processamento)
- Configuração (ou lista de processadores): processadores e respetivas configurações
- Resultado (ou resultados): dados de registo de resultados de saída recentes (após o processamento)
Se o pipeline tiver sido implementado anteriormente, o sistema mostra os dados de registo recebidos recentes (antes do processamento) e os dados de registo enviados recentes (após o processamento) nos painéis.
Clique em Adicionar processador para apresentar a lista de processadores. Para sua conveniência, a lista de processadores está agrupada por tipo de processador. Para organizar a lista e adicionar os seus próprios pacotes, selecione um ou mais processadores e clique em Adicionar novos pacotes de processadores.
Na lista de processadores, selecione um Processador para adicionar.
Configure o processador conforme necessário.
Clique em Guardar para guardar a configuração do processador no nó Processador.
O sistema testa imediatamente a nova configuração processando uma nova amostra dos dados da stream de entrada (no painel Entrada) e apresenta os dados de saída resultantes no painel Saída.
Implemente um pipeline de tratamento de dados
Assim que as configurações da stream e do processador estiverem concluídas, tem de implementar o pipeline para começar a processar dados, da seguinte forma:
Clique em Iniciar implementação. Esta ação ativa imediatamente o tratamento de dados e permite que a infraestrutura segura da Google comece a tratar os dados de acordo com a sua configuração.
Se a implementação for bem-sucedida, o número da versão do contentor de processamento de dados é incrementado e apresentado junto ao nome do contentor.
Veja os detalhes do tratamento de dados na consola do Google SecOps
As secções seguintes descrevem como ver os detalhes do tratamento de dados na consola do Google SecOps:
Veja todas as configurações de tratamento de dados
- Na consola do Google SecOps, aceda a Definições do SIEM > Processamento de dados, onde pode ver todos os pipelines configurados.
- Na barra de pesquisa Pipelines de dados recebidos, pesquise qualquer pipeline que tenha criado. Pode pesquisar por elementos, como nome do pipeline ou componentes. Os resultados da pesquisa apresentam os processadores do pipeline e um resumo da respetiva configuração.
- No resumo do pipeline, pode realizar qualquer uma das seguintes ações:
- Reveja as configurações do processador.
- Copiar detalhes da configuração.
- Clique em Abrir no Bindplane para aceder e gerir o pipeline diretamente na consola do Bindplane.
Veja os feeds configurados
Para ver os feeds configurados no seu sistema, faça o seguinte:
- Na consola do Google SecOps, aceda a Definições do SIEM > Feeds. A página Feeds mostra todos os feeds que configurou no seu sistema.
- Mantenha o ponteiro sobre cada linha para apresentar o menu ⋮ Mais, onde pode ver os detalhes do feed, editar, desativar ou eliminar o feed.
- Clique em Ver detalhes para ver a janela de detalhes.
- Clique em Abrir no Bindplane para abrir a configuração da stream para esse feed na consola do Bindplane.
Veja os detalhes do tratamento de dados (tipos de registos disponíveis)
Para ver os detalhes do tratamento de dados na página Tipos de registos disponíveis, onde pode ver todos os tipos de registos disponíveis, faça o seguinte:
- Na consola do Google SecOps, aceda a Definições do SIEM > Tipos de registos disponíveis. A página principal apresenta todos os tipos de registos.
- Passe o cursor do rato sobre cada linha do feed para apresentar o menu more_vert Mais. Este menu permite-lhe ver, editar, desativar ou eliminar detalhes do feed.
- Clique em Ver processamento de dados para ver a configuração do feed.
- Clique em Abrir no Bindplane para abrir a configuração do processador para esse processador na consola do Bindplane.
Use métodos de pipeline de dados do Google SecOps
Os métodos da pipeline de dados do Google SecOps oferecem ferramentas abrangentes para gerir os seus dados processados. Estes métodos de pipeline de dados incluem a criação, a atualização, a eliminação e a apresentação de pipelines, bem como a associação de feeds e tipos de registos a pipelines.
Exemplos de utilização
Esta secção contém exemplos de exemplos de utilização típicos relacionados com métodos de pipeline de dados.
Para usar os exemplos nesta secção, faça o seguinte:
- Substitua os parâmetros específicos do cliente (por exemplo, URLs e IDs de feeds) por parâmetros adequados ao seu próprio ambiente.
- Insira a sua própria autenticação. Nesta secção, os tokens de portador são ocultados com
******.
Apresenta todos os pipelines numa instância específica do Google SecOps
O comando seguinte apresenta uma lista de todos os pipelines existentes numa instância específica do Google SecOps:
curl --location 'https://abc.def.googleapis.com/v123/projects/projectabc-byop/locations/us/instances/aaaa1aa1-111a-11a1-1111-11111a1aa1aa/logProcessingPipelines' \
--header 'Authorization: Bearer ******'
Crie um pipeline básico com o processador
Para criar um pipeline básico com o processador Transform e associar-lhe três origens, faça o seguinte:
Execute o seguinte comando:
curl --location 'https://abc.def.googleapis.com/v123/projects/projectabc-byop/locations/us/instances/aaaa1aa1-111a-11a1-1111-11111a1aa1aa/logProcessingPipelines' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ******' \ --data '{ "displayName": "Example Pipeline", "description": "My description", "processors": [ { "transformProcessor": { "statements": [ "set(attributes[\"myKey1\"], \"myVal1\")", "set(attributes[\"myKey2\"], \"myVal2\")" ] } } ] }'Na resposta, copie o valor do campo
displayName.Execute o seguinte comando para associar três streams (tipo de registo, tipo de registo com ID do coletor e feed) ao pipeline. Use o valor do campo
displayNamecomo valor{pipelineName}.curl --location 'https://abc.def.googleapis.com/v123/{pipelineName}:associateStreams' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ******' \ --data '{ "streams": [ { "logType": "MICROSOFT_SENTINEL" }, { "logType": "A10_LOAD_BALANCER", "collectorId": "dddddddd-dddd-dddd-dddd-dddddddddddd" }, { "feed": "1a1a1a1a-1a1a-1a1a-1a1a-1a1a1a1a1a1a" } ] }'
Crie um pipeline com três processadores
O pipeline usa os seguintes processadores:
- Transform: transforma e analisa o corpo do registo como JSON.
- Filtro: filtra os registos que correspondem a uma condição com base no corpo analisado.
- Ocultação: oculta dados que correspondem aos valores confidenciais predefinidos do Bindplane.
Para criar um pipeline e associar-lhe três origens, faça o seguinte:
Execute o seguinte comando:
curl --location 'https://abc.def.googleapis.com/v123/projects/projectabc-byop/locations/us/instances/aaaa1aa1-111a-11a1-1111-11111a1aa1aa/logProcessingPipelines' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ******' \ --data-raw '{ "displayName": "My Pipeline 2", "description": "My description 2", "processors": [ { "transformProcessor": { "statements": [ "merge_maps(\n body,\n ParseJSON(\n body\n ),\n \"upsert\"\n) where IsMap(body) and true\n", "set(\n body,\n ParseJSON(\n body\n )\n) where not IsMap(body) and true\n" ], "errorMode": "IGNORE" } }, { "filterProcessor": { "logConditions": [ "true and severity_number != 0 and severity_number < 9" ] } }, { "redactProcessor": { "blockedValues": [ "\\b[A-Z]{2}\\d{2}(?: ?[A-Z0-9]){11,31}(?:\\s[A-Z0-9])*\\b", "\\b([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}\\b", "\\b(?:(?:(?:\\d{4}[- ]?){3}\\d{4}|\\d{15,16}))\\b", "\\b(?:(?:19|20)?\\d{2}[-/])?(?:0?[1-9]|1[0-2])[-/](?:0?[1-9]|[12]\\d|3[01])(?:[-/](?:19|20)?\\d{2})?\\b", "\\b[a-zA-Z0-9._/\\+\\-—|]+@[A-Za-z0-9\\-—|]+\\.[a-zA-Z|]{2,6}\\b", "\\b(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\b", "\\b(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\\b", "\\b((\\+|\\b)[1l][\\-\\. ])?\\(?\\b[\\dOlZSB]{3,5}([\\-\\. ]|\\) ?)[\\dOlZSB]{3}[\\-\\. ][\\dOlZSB]{4}\\b", "\\+[1-9]\\d{0,2}(?:[-.\\s]?\\(?\\d+\\)?(?:[-.\\s]?\\d+)*)\\b", "\\b\\d{3}[- ]\\d{2}[- ]\\d{4}\\b", "\\b[A-Z][A-Za-z\\s\\.]+,\\s{0,1}[A-Z]{2}\\b", "\\b\\d+\\s[A-z]+\\s[A-z]+(\\s[A-z]+)?\\s*\\d*\\b", "\\b\\d{5}(?:[-\\s]\\d{4})?\\b", "\\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}\\b" ], "allowAllKeys": true, "allowedKeys": [ "__bindplane_id__" ], "ignoredKeys": [ "__bindplane_id__" ], "redactAllTypes": true } } ] }'Na resposta, copie o valor do campo
displayName.Execute o seguinte comando para associar três streams (tipo de registo, tipo de registo com ID do coletor e feed) ao pipeline. Use o valor do campo
displayNamecomo valor{pipelineName}.curl --location 'https://abc.def.googleapis.com/v123/{pipelineName}:associateStreams' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ******' \ --data '{ "streams": [ { "logType": "MICROSOFT_SENTINEL" }, { "logType": "A10_LOAD_BALANCER", "collectorId": "dddddddd-dddd-dddd-dddd-dddddddddddd" }, { "feed": "1a1a1a1a-1a1a-1a1a-1a1a-1a1a1a1a1a1a" } ] }'
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.