Coletar registros de recursos do Tanium

Compatível com:

Este documento explica como ingerir registros de recursos do Tanium no Google Security Operations usando dois métodos diferentes. Você pode escolher entre a exportação nativa do Amazon S3 do Tanium Connect ou o encaminhamento de syslog em tempo real via Bindplane. Os dois métodos usam o módulo Tanium Connect para extrair dados de recursos do Tanium e encaminhá-los ao Chronicle para análise e monitoramento. O analisador transforma registros brutos em um formato estruturado de acordo com o UDM do Chronicle. Para isso, primeiro ele normaliza os pares de chave-valor de vários formatos de entrada (JSON, Syslog) e depois mapeia os campos extraídos para os atributos correspondentes da UDM em objetos JSON aninhados que representam entidades de recurso, usuário e relacionamento.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps
  • Acesso privilegiado ao console do Tanium (módulo Connect) para configurar destinos de exportação
  • Escolha seu método de integração preferido:
    • Opção 1 (recomendada): acesso privilegiado à AWS (S3, IAM) para exportação nativa do S3
    • Opção 2: Windows 2016 ou mais recente ou um host Linux com systemd para a instalação do agente Bindplane

Opção 1: configurar a exportação de registros de recursos do Tanium usando o AWS S3

Criar um bucket do Amazon S3

  1. Crie um bucket do Amazon S3 seguindo este guia do usuário: Como criar um bucket
  2. Salve o Nome e a Região do bucket para referência futura (por exemplo, tanium-asset-logs).
  3. Crie um usuário seguindo este guia: Como criar um usuário do IAM.
  4. Selecione o usuário criado.
  5. Selecione a guia Credenciais de segurança.
  6. Clique em Criar chave de acesso na seção Chaves de acesso.
  7. Selecione Serviço de terceiros como o Caso de uso.
  8. Clique em Próxima.
  9. Opcional: adicione uma tag de descrição.
  10. Clique em Criar chave de acesso.
  11. Clique em Fazer o download do arquivo CSV para salvar a chave de acesso e a chave de acesso secreta para uso posterior.
  12. Clique em Concluído.
  13. Selecione a guia Permissões.
  14. Clique em Adicionar permissões na seção Políticas de permissões.
  15. Selecione Adicionar permissões.
  16. Selecione Anexar políticas diretamente.
  17. Pesquise e selecione a política AmazonS3FullAccess.
  18. Clique em Próxima.
  19. Clique em Adicionar permissões

Configurar o Tanium Connect para exportação do S3

  1. Faça login no Tanium Console com privilégios de administrador.
  2. Acesse Módulos > Conectar > Visão geral e clique em Criar conexão.
  3. Clique em Criar.
  4. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome descritivo. Por exemplo, Google SecOps Asset S3 Export.
    • Descrição: descrição opcional para essa conexão.
    • Ativar: selecione Ativar para executar em uma programação.
  5. Clique em Próxima.
  6. Na configuração de Origem:
    • Origem: selecione Pergunta salva.
    • Pergunta: escolha uma pergunta salva que retorne dados de recursos ou crie uma com sensores relacionados a recursos (por exemplo, nome do computador, endereço IP, plataforma do SO, domínio).
    • Grupo de computadores: selecione o grupo de computadores para segmentar a coleta de dados de recursos.
  7. Clique em Próxima.
  8. Na configuração de Destino:
    • Destino: escolha AWS S3.
    • Nome: insira um nome de destino (por exemplo, Chronicle Asset S3).
    • ID da chave de acesso da AWS: insira o ID da chave de acesso do usuário do IAM.
    • Chave de acesso secreta da AWS: insira a chave de acesso secreta do usuário do IAM.
    • Nome do bucket do S3: tanium-asset-logs.
    • Prefixo da chave do S3: tanium/assets/ (prefixo opcional para a organização).
    • Região: selecione a região da AWS em que o bucket do S3 está localizado.
  9. Clique em Próxima.
  10. Na configuração Formatação:
    • Formato: selecione JSON para exportar dados estruturados.
    • Colunas: selecione os campos de recurso que você quer exportar e formate-os adequadamente.
  11. Clique em Próxima.
  12. Na configuração Programação:
    • Programação: configure a programação de entrega (por exemplo, a cada hora ou diariamente).
    • Data/hora de início: defina quando a conexão deve começar a ser executada.
  13. Clique em Salvar para criar a conexão e iniciar a exportação automatizada do S3.

Opcional: criar um usuário e chaves do IAM somente leitura para o Google SecOps

  1. Acesse Console da AWS > IAM > Usuários > Adicionar usuários.
  2. Clique em Add users.
  3. Informe os seguintes detalhes de configuração:
    • Usuário: insira secops-reader.
    • Tipo de acesso: selecione Chave de acesso – Acesso programático.
  4. Clique em Criar usuário.
  5. Anexe a política de leitura mínima (personalizada): Usuários > secops-reader > Permissões > Adicionar permissões > Anexar políticas diretamente > Criar política.
  6. No editor JSON, insira a seguinte política:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": ["s3:GetObject"],
          "Resource": "arn:aws:s3:::tanium-asset-logs/*"
        },
        {
          "Effect": "Allow",
          "Action": ["s3:ListBucket"],
          "Resource": "arn:aws:s3:::tanium-asset-logs"
        }
      ]
    }
    
  7. Defina o nome como secops-reader-policy.

  8. Acesse Criar política > pesquise/selecione > Próxima > Adicionar permissões.

  9. Acesse Credenciais de segurança > Chaves de acesso > Criar chave de acesso.

  10. Faça o download do CSV (esses valores são inseridos no feed).

Configurar um feed no Google SecOps para ingerir registros de recursos do Tanium

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em + Adicionar novo feed.
  3. No campo Nome do feed, insira um nome para o feed (por exemplo, Tanium Asset logs).
  4. Selecione Amazon S3 V2 como o Tipo de origem.
  5. Selecione Ativo do Tanium como o Tipo de registro.
  6. Clique em Próxima.
  7. Especifique valores para os seguintes parâmetros de entrada:
    • URI do S3: s3://tanium-asset-logs/tanium/assets/
    • Opções de exclusão de fontes: selecione a opção de exclusão de acordo com sua preferência.
    • Idade máxima do arquivo: inclui arquivos modificados no último número de dias. O padrão é de 180 dias.
    • ID da chave de acesso: chave de acesso do usuário com acesso ao bucket do S3.
    • Chave de acesso secreta: chave secreta do usuário com acesso ao bucket do S3.
    • Namespace do recurso: o namespace do recurso.
    • Rótulos de ingestão: o rótulo aplicado aos eventos deste feed.
  8. Clique em Próxima.
  9. Revise a nova configuração do feed na tela Finalizar e clique em Enviar.

Opção 2: configurar a exportação de registros de recursos do Tanium usando syslog e Bindplane

Receber o arquivo de autenticação de ingestão do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.

Receber o ID de cliente do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instale o agente do Bindplane no seu sistema operacional Windows ou Linux de acordo com as instruções a seguir.

Instalação do Windows

  1. Abra o Prompt de Comando ou o PowerShell como administrador.
  2. Execute este comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalação do Linux

  1. Abra um terminal com privilégios de root ou sudo.
  2. Execute este comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Outros recursos de instalação

Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:

    1. Localize o arquivo config.yaml. Normalmente, ele fica no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    2. Abra o arquivo usando um editor de texto (por exemplo, nano, vi ou Bloco de Notas).
  2. Edite o arquivo config.yaml da seguinte forma:

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <PLACEHOLDER_CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'TANIUM_ASSET'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
    • Substitua <PLACEHOLDER_CUSTOMER_ID> pelo ID do cliente real.
    • Atualize /path/to/ingestion-authentication-file.json para o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão do Google SecOps.

Reinicie o agente do Bindplane para aplicar as mudanças

  • Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar o encaminhamento do Syslog no recurso do Tanium

  1. Faça login no Tanium Console com privilégios de administrador.
  2. Acesse Módulos > Conectar > Visão geral e clique em Criar conexão.
  3. Clique em Criar.
  4. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome descritivo. Por exemplo, Google SecOps Asset Integration.
    • Descrição: descrição opcional para essa conexão.
    • Ativar: selecione Ativar para executar em uma programação.
  5. Clique em Próxima.
  6. Na configuração de Origem:
    • Origem: selecione Pergunta salva.
    • Pergunta: escolha uma pergunta salva que retorne dados de recursos ou crie uma com sensores relacionados a recursos.
    • Grupo de computadores: selecione o grupo de computadores para segmentar a coleta de dados de recursos.
  7. Clique em Próxima.
  8. Na configuração de Destino:
    • Destino: escolha SIEM/Syslog.
    • Nome: insira um nome de destino (por exemplo, Chronicle Asset Syslog).
    • Host: insira o endereço IP do agente do BindPlane.
    • Porta: insira o número da porta do agente do BindPlane (por exemplo, 514).
    • Protocolo: selecione UDP.
    • Formato: selecione SYSLOG RFC 5424.
    • Fuso horário: selecione o fuso horário UTC para ter consistência universal em todos os sistemas.
  9. Clique em Próxima.
  10. Na configuração Formatação:
    • Formato: selecione JSON.
    • Colunas: selecione os campos de recursos que você quer encaminhar (por exemplo, nome do computador, endereço IP, plataforma do SO, domínio).
  11. Clique em Próxima.
  12. Na configuração Programação:
    • Programação: configure a programação de entrega (por exemplo, a cada hora).
    • Data/hora de início: defina quando a conexão deve começar a ser executada.
  13. Clique em Salvar para criar a conexão e iniciar o encaminhamento.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
application_name entity.metadata.source_labels.value O valor é extraído do campo "application_name", se ele existir no registro bruto.
application_vendor entity.metadata.source_labels.value O valor é extraído do campo "application_vendor", se ele existir no registro bruto.
application_version entity.metadata.product_version O valor é extraído do campo "application_version", se ele existir no registro bruto.
BIOS_Current_Language entity.metadata.source_labels.value O valor é extraído do campo "BIOS_Current_Language", se ele existir no registro bruto.
BIOS_Release_Date entity.metadata.source_labels.value O valor é extraído do campo "BIOS_Release_Date" se ele existir no registro bruto.
BIOS_Vendor entity.metadata.source_labels.value O valor é extraído do campo "BIOS_Vendor" se ele existir no registro bruto.
BIOS_Version entity.metadata.product_version O valor é extraído do campo "BIOS_Version", se ele existir no registro bruto.
Tipo de chassi entity.entity.asset.category O valor é extraído do campo "Tipo de chassi", se ele existir no registro bruto.
ID do computador entity.entity.asset.product_object_id O valor é extraído do campo "ID do computador", se ele existir no registro bruto. Também usado para preencher entity.relations.entity.asset.asset_id com o prefixo "id: ".
Nome do computador entity.entity.asset.hostname O valor é extraído do campo "Nome do computador", se ele existir no registro bruto.
Contagem entity.metadata.source_labels.value O valor é extraído do campo "Count" (Contagem), se ele existir no registro bruto.
Impressão digital do endpoint entity.entity.asset.hardware.serial_number O valor é extraído do campo "Endpoint Fingerprint" (Impressão digital do endpoint), se ele existir no registro bruto.
Endereço IP entity.entity.asset.ip Os valores são extraídos do campo "Endereço IP" e adicionados como endereços IP separados à matriz.
Último usuário conectado entity.relations.entity.user.userid O valor é extraído do campo "Último usuário conectado", com a remoção de qualquer prefixo de domínio, se ele existir no registro bruto.
Última reinicialização entity.entity.asset.last_boot_time O valor é analisado no campo "Última reinicialização" e formatado como um carimbo de data/hora, se existir no registro bruto.
Endereço MAC entity.entity.asset.mac Os valores são extraídos do campo "Endereço MAC" e adicionados como endereços MAC separados à matriz.
Fabricante entity.entity.asset.hardware.manufacturer O valor é extraído do campo "Fabricante", se ele existir no registro bruto.
Sistema operacional entity.entity.asset.platform_software.platform_version O valor é extraído do campo "Sistema operacional", se ele existir no registro bruto. Usado para determinar o valor de entity.entity.asset.platform_software.platform (WINDOWS, LINUX ou MAC).
plataforma entity.entity.asset.platform_software.platform_version O valor é extraído do campo "platform" (plataforma), se ele existir no registro bruto. Usado para determinar o valor de entity.entity.asset.platform_software.platform (WINDOWS, LINUX ou MAC).
serial_number entity.entity.asset.hardware.serial_number O valor é extraído do campo "serial_number" se ele existir no registro bruto.
version entity.entity.asset.platform_software.platform_version O valor é extraído do campo "version" (versão), se ele existir no registro bruto. Usado para determinar o valor de entity.entity.asset.platform_software.platform (WINDOWS, LINUX ou MAC).
N/A entity.metadata.collected_timestamp Definido como o create_time do lote.
N/A entity.metadata.vendor_name Sempre definido como "TANIUM_ASSET".
N/A entity.metadata.product_name Sempre definido como "TANIUM_ASSET".
N/A entity.metadata.entity_type Sempre definido como "ASSET".
N/A entity.relations.entity_type Sempre definido como "USER".
N/A entity.relations.relationship Sempre definido como "OWNS".

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