Coletar registros de auditoria do Chronicle SOAR

Compatível com:

Este documento explica como ingerir registros de auditoria do Chronicle SOAR no Google Security Operations usando o Google Cloud Storage V2.

Com o SOAR (Orquestração, Automation e Resposta de Segurança) do Google Security Operations, as equipes de segurança automatizam a resposta a ameaças ingerindo, agrupando e priorizando alertas de ferramentas de detecção para executar playbooks automaticamente e coordenar respostas práticas. Os registros do SOAR capturam dados essenciais de funções ETL, playbook e Python, incluindo execução de scripts Python, ingestão de alertas e performance de playbooks.

Antes de começar

Verifique se você atende os seguintes pré-requisitos:

  • Uma instância do Google SecOps
  • Um projeto do Google Cloud com a API Cloud Storage ativada
  • Permissões para criar e gerenciar buckets do GCS
  • Permissões para gerenciar políticas do IAM em buckets do GCS
  • Permissões para criar e gerenciar gravadores do Cloud Logging
  • Acesso ao projeto do Google Cloud em que o Chronicle SOAR está implantado
  • Função do IAM Leitor de registros (roles/logging.viewer) no seu projeto do Google Cloud
  • Papel do IAM Administrador do Logging (roles/logging.admin) para criar coletores de registros

Criar um bucket do Google Cloud Storage

  1. Acesse o Console do Google Cloud.
  2. Selecione seu projeto ou crie um novo.
  3. No menu de navegação, acesse Cloud Storage > Buckets.
  4. Clique em Criar bucket.
  5. Informe os seguintes detalhes de configuração:

    Configuração Valor
    Nomeie seu bucket Insira um nome exclusivo globalmente, por exemplo, chronicle-soar-audit-logs.
    Tipo de local Escolha com base nas suas necessidades (região, birregional, multirregional)
    Local Selecione o local (por exemplo, us-central1).
    Classe de armazenamento Padrão (recomendado para registros acessados com frequência)
    Controle de acesso Uniforme (recomendado)
    Ferramentas de proteção Opcional: ativar o controle de versões de objetos ou a política de retenção
  6. Clique em Criar.

Ativar a coleta de registros do SOAR (somente implantações autônomas)

Para ativar a exportação de registros do SOAR em implantações independentes, siga estas etapas:

  1. No console do Google Cloud, acesse IAM e administrador > Contas de serviço.
  2. Clique em Criar conta de serviço.
  3. Informe os seguintes detalhes de configuração:
    • Nome da conta de serviço: insira soar-logs-export-sa
    • Descrição da conta de serviço: insira Service account for exporting SOAR logs to Cloud Logging
  4. Clique em Criar e continuar.
  5. Na seção Conceda a essa conta de serviço acesso ao projeto:
    1. Clique em Selecionar papel.
    2. Pesquise e selecione Gravador de registros.
  6. Clique em Continuar.
  7. Clique em Concluído.
  8. Na lista Contas de serviço, localize a conta de serviço (soar-logs-export-sa).
  9. Clique em more_vert Mais > Gerenciar permissões.
  10. Na seção Permissões, clique em Conceder acesso.
  11. No campo Adicionar principais, insira o seguinte principal:

    gke-init-backgroundservices@{SOAR-GCP-Project-Id}.iam.gserviceaccount.com
    
  12. Na seção Atribuir papéis:

    1. Clique em Selecionar papel.
    2. Pesquise e selecione Criador de token de conta de serviço.
  13. Clique em Salvar.

  14. Copie o endereço de e-mail completo da conta de serviço (soar-logs-export-sa@PROJECT_ID.iam.gserviceaccount.com).

  15. Envie um tíquete ao suporte do Google SecOps com o e-mail da conta de serviço para ativar a exportação de registros.

Configurar o coletor do Cloud Logging para exportar registros do SOAR para o GCS

Os registros do Chronicle SOAR são gravados no Cloud Logging do Google no namespace chronicle-soar. Você precisa criar um coletor de registros para encaminhar esses registros ao bucket do GCS.

  1. No console do Google Cloud, acesse Logging > Roteador de registros.
  2. Selecione o projeto do Google Cloud em que o Chronicle SOAR está implantado.
  3. Clique em Criar coletor.
  4. No painel Detalhes do coletor, forneça os seguintes detalhes de configuração:
    • Nome do coletor: insira chronicle-soar-to-gcs.
    • Descrição do coletor: insira Export Chronicle SOAR audit logs to GCS for Chronicle SIEM ingestion
  5. Clique em Próxima.
  6. No painel Destino do coletor:
    1. No menu Selecionar serviço do coletor, selecione Bucket do Cloud Storage.
    2. No menu Selecionar bucket do Cloud Storage, escolha o bucket (chronicle-soar-audit-logs).
  7. Clique em Próxima.
  8. No painel Escolher registros para incluir no coletor:

    1. No campo Criar filtro de inclusão, insira o seguinte filtro:

      resource.labels.namespace_name="chronicle-soar"
      

      Esse filtro corresponde a todos os registros do SOAR dos serviços de ETL, playbook e Python.

    2. Clique em Visualizar registros para verificar se o filtro corresponde às entradas de registro esperadas.

  9. Clique em Próxima.

  10. Opcional: no painel Escolher registros para filtrar do coletor, adicione filtros de exclusão, se necessário. Para a maioria das implantações, não é preciso fazer exclusões.

  11. Clique em Criar coletor.

Verificar a exportação de registros para o GCS

  1. Aguarde de 5 a 10 minutos para que os registros sejam exportados para o bucket do GCS.
  2. No console do Google Cloud, acesse Cloud Storage > Buckets.
  3. Clique no nome do bucket (chronicle-soar-audit-logs).
  4. Verifique se os arquivos de registro estão sendo criados no bucket. Os arquivos são organizados por data e hora:

    chronicle-soar/YYYY/MM/DD/HH:MM:SS_<unique-id>.json
    
  5. Clique em um arquivo de registro para visualizar o conteúdo dele. Cada arquivo contém entradas de registro formatadas em JSON.

Recuperar a conta de serviço do Google SecOps

O Google SecOps usa uma conta de serviço exclusiva para ler dados do seu bucket do GCS. Você precisa conceder a essa conta de serviço acesso ao seu bucket.

Receber o e-mail da conta de serviço

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Clique em Configurar um único feed.
  4. No campo Nome do feed, insira um nome para o feed (por exemplo, Chronicle SOAR Audit Logs).
  5. Selecione Google Cloud Storage V2 como o Tipo de origem.
  6. Selecione CHRONICLE_SOAR_AUDIT como o Tipo de registro.
  7. Clique em Receber conta de serviço.
  8. Um e-mail exclusivo da conta de serviço é exibido, por exemplo:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. Copie esse endereço de e-mail para usar na próxima etapa.

  10. Clique em Próxima.

  11. Especifique valores para os seguintes parâmetros de entrada:

    • URL do bucket de armazenamento: insira o URI do bucket do GCS com o caminho do prefixo:

      gs://chronicle-soar-audit-logs/chronicle-soar/
      
    • Opção de exclusão da fonte: selecione a opção de exclusão de acordo com sua preferência:

      • Nunca: nunca exclui arquivos após as transferências (recomendado para testes).
      • Excluir arquivos transferidos: exclui os arquivos após a transferência bem-sucedida.
      • Excluir arquivos transferidos e diretórios vazios: exclui arquivos e diretórios vazios após a transferência bem-sucedida.
    • Idade máxima do arquivo: inclui arquivos modificados nos últimos dias (o padrão é 180 dias).

    • Namespace do recurso: o namespace do recurso

    • Rótulos de ingestão: o rótulo a ser aplicado aos eventos deste feed

  12. Clique em Próxima.

  13. Revise a nova configuração do feed na tela Finalizar e clique em Enviar.

Conceder permissões do IAM à conta de serviço do Google SecOps

A conta de serviço do Google SecOps precisa do papel de Leitor de objetos do Storage no seu bucket do GCS.

  1. Acesse Cloud Storage > Buckets.
  2. Clique no nome do bucket (chronicle-soar-audit-logs).
  3. Acesse a guia Permissões.
  4. Clique em Conceder acesso.
  5. Informe os seguintes detalhes de configuração:
    • Adicionar participantes: cole o e-mail da conta de serviço do Google SecOps.
    • Atribuir papéis: selecione Leitor de objetos do Storage.
  6. Clique em Salvar.

Filtrar registros do SOAR por tipo de serviço

Os registros do SOAR do Chronicle são categorizados pelo serviço que os gerou. É possível filtrar registros no Cloud Logging ou criar coletores separados para diferentes tipos de registros.

Serviços de registro disponíveis

Os seguintes tipos de serviço estão disponíveis:

  • playbook: registros de execuções de playbook, incluindo execução de blocos, resultados de ações e status do fluxo de trabalho
  • python: registros da execução de scripts Python, incluindo ações de integração, conectores e jobs.
  • etl: registros de processos de transformação de dados e ingestão de alertas.

Filtrar por serviço no Cloud Logging

Para ver os registros de um serviço específico:

  1. No console do Google Cloud, acesse Logging > Explorador de registros.
  2. Selecione o projeto do Google Cloud em que o Chronicle SOAR está implantado.
  3. Insira o filtro a seguir para ver os registros de um serviço específico:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="playbook"
    

    Substitua playbook por python ou etl para ver registros de outros serviços.

Crie coletores separados para diferentes tipos de registros

Para encaminhar diferentes tipos de registros a buckets ou prefixos separados do GCS, crie outros coletores com filtros específicos do serviço:

  1. Siga as etapas na seção Configurar o coletor do Cloud Logging para exportar registros do SOAR para o GCS.
  2. No campo Filtro de inclusão da versão, use um dos seguintes filtros:

    Somente registros do manual:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="playbook"
    

    Somente registros do Python:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="python"
    

    Somente registros de ETL:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="etl"
    

Rótulos de registro disponíveis para filtragem

Os registros do Chronicle SOAR incluem rótulos que fornecem mais contexto para filtragem e análise.

Rótulos de playbook

Os seguintes rótulos estão disponíveis para registros de playbook:

  • playbook_definition: identificador exclusivo da definição do playbook.
  • playbook_name: nome legível do playbook.
  • block_name: nome do bloco de playbook que está sendo executado.
  • block_definition: identificador exclusivo da definição de bloco.
  • case_id: identificador do caso do Chronicle SOAR
  • correlation_id: identificador exclusivo para rastrear toda a execução do playbook em vários serviços.
  • integration_name: nome da integração em uso
  • action_name: nome da ação que está sendo executada.

Rótulos do Python

Os seguintes rótulos estão disponíveis para registros de serviço do Python:

Rótulos de integração e conector:

  • integration_name: nome da integração.
  • integration_version: versão da integração.
  • connector_name: nome do conector
  • connector_instance: identificador da instância para o conector.

Rótulos de job:

  • integration_name: nome da integração.
  • integration_version: versão da integração.
  • job_name: nome do job programado

Rótulos de ação:

  • integration_name: nome da integração.
  • integration_version: versão da integração.
  • integration_instance: identificador da instância para a integração
  • correlation_id: identificador exclusivo para rastreamento da execução.
  • action_name: nome da ação que está sendo executada.

Rótulos de ETL

Os seguintes rótulos estão disponíveis para registros de serviço de ETL:

  • correlation_id: identificador exclusivo do fluxo de ingestão de alertas de rastreamento.

Usar correlation_id para rastreamento completo

O rótulo correlation_id está disponível nos registros de serviço do playbook e do Python. Use esse rótulo para extrair todos os registros associados de uma execução completa do playbook:

  1. No console do Google Cloud, acesse Logging > Explorador de registros.
  2. Insira o seguinte filtro:

    resource.labels.namespace_name="chronicle-soar"
    labels.correlation_id="<correlation-id-value>"
    

    Substitua <correlation-id-value> pelo ID de correlação real de uma entrada de registro.

Esse filtro retorna todos os registros dos serviços de playbook e Python para o rastreamento de execução completo.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
module, screenSize, activityItem, modificationTimeUnixTimeInMs additional.fields Rótulos mesclados criados em cada campo, se houver
usuário, operação extensions.auth.type Definido como "AUTHTYPE_UNSPECIFIED" se o usuário não estiver vazio e a operação for "Login".
creationTimeUnixTimeInMs metadata.event_timestamp Analisado como carimbo de data/hora UNIX_MS
usuário, operação, endereço metadata.event_type Definido como "USER_LOGIN" se o usuário não estiver vazio e a operação for "Login"; "USER_RESOURCE_ACCESS" se o usuário não estiver vazio; "STATUS_UNCATEGORIZED" se o endereço estiver vazio; caso contrário, "GENERIC_EVENT"
operação metadata.product_event_type Valor copiado diretamente
ID metadata.product_log_id Convertido em string
browser network.http.parsed_user_agent Convertido para user agent analisado
browser network.http.user_agent Valor copiado diretamente
address principal.hostname Definir se o endereço não corresponder ao padrão de IP
address principal.ip IP extraído usando o padrão grok
source principal.resource.resource_subtype Valor copiado diretamente
usuário principal.user.userid Valor copiado diretamente
ContactEmails security_result.about.user.email_addresses Endereços de e-mail extraídos usando o padrão grok
ContactPhone security_result.about.user.phone_numbers Valor copiado diretamente
ContactName security_result.about.user.user_display_name Valor copiado diretamente
Nome security_result.about.user.userid Valor copiado diretamente
currentActivity, previousActivity security_result.detection_fields Marcadores mesclados de "currentActivity" e "previousActivity", se presentes
userGuid target.user.product_object_id Valor copiado diretamente
metadata.product_name Definido como "CHRONICLE_SOAR_AUDIT"
metadata.vendor_name Definido como "CHRONICLE_SOAR_AUDIT"

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.