Recolha registos de recursos do Tanium

Compatível com:

Este documento explica como carregar registos de recursos do Tanium para o Google Security Operations através de dois métodos diferentes. Pode escolher entre a exportação nativa do Amazon S3 do Tanium Connect ou o encaminhamento syslog em tempo real através do Bindplane. Ambos os métodos usam o módulo Tanium Connect para extrair dados de recursos do Tanium e encaminhá-los para o Chronicle para análise e monitorização. O analisador transforma os registos não processados num formato estruturado em conformidade com o UDM do Chronicle. Para tal, primeiro normaliza os pares de chave-valor de vários formatos de entrada (JSON, Syslog) e, em seguida, mapeia os campos extraídos para os atributos da UDM correspondentes em objetos JSON aninhados que representam entidades de recursos, utilizadores e relações.

Antes de começar

Certifique-se de que tem os seguintes pré-requisitos:

  • Uma instância do Google SecOps
  • Acesso privilegiado à consola do Tanium (módulo Connect) para configurar destinos de exportação
  • Escolha o 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 posterior, ou um anfitrião Linux com systemd para a instalação do agente Bindplane

Opção 1: configure a exportação de registos de recursos do Tanium através do AWS S3

Crie um contentor do Amazon S3

  1. Crie um contentor do Amazon S3 seguindo este manual do utilizador: Criar um contentor
  2. Guarde o nome e a região do contentor para referência futura (por exemplo, tanium-asset-logs).
  3. Crie um utilizador seguindo este guia do utilizador: Criar um utilizador do IAM.
  4. Selecione o utilizador criado.
  5. Selecione o separador Credenciais de segurança.
  6. Clique em Criar chave de acesso na secção Chaves de acesso.
  7. Selecione Serviço de terceiros como o Exemplo de utilização.
  8. Clicar em Seguinte.
  9. Opcional: adicione uma etiqueta de descrição.
  10. Clique em Criar chave de acesso.
  11. Clique em Transferir ficheiro CSV para guardar a chave de acesso e a chave de acesso secreta para utilização posterior.
  12. Clique em Concluído.
  13. Selecione o separador Autorizações.
  14. Clique em Adicionar autorizações na secção Políticas de autorizações.
  15. Selecione Adicionar autorizações.
  16. Selecione Anexar políticas diretamente
  17. Pesquise e selecione a política AmazonS3FullAccess.
  18. Clicar em Seguinte.
  19. Clique em Adicionar autorizações.

Configure o Tanium Connect para a exportação para o S3

  1. Inicie sessão na Tanium Console com privilégios de administrador.
  2. Aceda a Módulos > Associar > Vista geral e clique em Criar associação.
  3. Clique em Criar.
  4. Indique os seguintes detalhes de configuração:
    • Nome: introduza um nome descritivo (por exemplo, Google SecOps Asset S3 Export).
    • Descrição: descrição opcional para esta associação.
    • Ativar: selecione Ativar para executar de acordo com um horário.
  5. Clicar em Seguinte.
  6. Na configuração de Origem:
    • Origem: selecione Pergunta guardada.
    • Pergunta: escolha uma pergunta guardada existente que devolva dados de recursos ou crie uma nova com sensores relacionados com recursos (por exemplo, nome do computador, endereço IP, plataforma do SO, domínio).
    • Grupo de computadores: selecione o grupo de computadores a segmentar para a recolha de dados de recursos.
  7. Clicar em Seguinte.
  8. Na configuração de Destino:
    • Destino: escolha AWS S3.
    • Nome: introduza um nome de destino (por exemplo, Chronicle Asset S3).
    • ID da chave de acesso da AWS: introduza o ID da chave de acesso do utilizador do IAM.
    • Chave de acesso secreta da AWS: introduza a chave de acesso secreta do utilizador do IAM.
    • Nome do contentor do S3: tanium-asset-logs.
    • Prefixo da chave S3: tanium/assets/ (prefixo opcional para a organização).
    • Região: selecione a região da AWS onde o seu contentor do S3 está localizado.
  9. Clicar em Seguinte.
  10. Na configuração de Formatação:
    • Formato: selecione JSON para a exportação de dados estruturados.
    • Colunas: selecione os campos de recursos que quer exportar e formate-os adequadamente.
  11. Clicar em Seguinte.
  12. Na configuração Agendamento:
    • Programação: configure a programação de fornecimento (por exemplo, a cada hora ou diariamente).
    • Data/hora de início: defina quando a associação deve começar a ser executada.
  13. Clique em Guardar para criar a associação e iniciar a exportação automatizada do S3.

Opcional: crie um utilizador e chaves da IAM só de leitura para o Google SecOps

  1. Aceda a AWS Console > IAM > Users > Add users.
  2. Clique em Adicionar utilizadores.
  3. Indique os seguintes detalhes de configuração:
    • Utilizador: introduza secops-reader.
    • Tipo de acesso: selecione Chave de acesso – Acesso programático.
  4. Clique em Criar utilizador.
  5. Anexe a política de leitura mínima (personalizada): Users > secops-reader > Permissions > Add permissions > Attach policies directly > Create policy.
  6. No editor JSON, introduza 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. Aceda a Criar política > pesquise/selecione > Seguinte > Adicionar autorizações.

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

  10. Transfira o CSV (estes valores são introduzidos no feed).

Configure um feed no Google SecOps para carregar registos de recursos do Tanium

  1. Aceda a Definições do SIEM > Feeds.
  2. Clique em + Adicionar novo feed.
  3. No campo Nome do feed, introduza um nome para o feed (por exemplo, Tanium Asset logs).
  4. Selecione Amazon S3 V2 como o Tipo de origem.
  5. Selecione Tanium Asset como o Tipo de registo.
  6. Clicar em Seguinte.
  7. Especifique valores para os seguintes parâmetros de entrada:
    • URI do S3: s3://tanium-asset-logs/tanium/assets/
    • Opções de eliminação de origens: selecione a opção de eliminação de acordo com a sua preferência.
    • Idade máxima do ficheiro: inclua ficheiros modificados no último número de dias. A predefinição é 180 dias.
    • ID da chave de acesso: chave de acesso do utilizador com acesso ao contentor do S3.
    • Chave de acesso secreta: chave secreta do utilizador com acesso ao contentor do S3.
    • Espaço de nomes do recurso: o espaço de nomes do recurso.
    • Etiquetas de carregamento: a etiqueta aplicada aos eventos deste feed.
  8. Clicar em Seguinte.
  9. Reveja a nova configuração do feed no ecrã Finalizar e, de seguida, clique em Enviar.

Opção 2: configure a exportação de registos de recursos do Tanium através do syslog e do Bindplane

Obtenha o ficheiro de autenticação de carregamento do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Agentes de recolha.
  3. Transfira o ficheiro de autenticação de carregamento. Guarde o ficheiro de forma segura no sistema onde o Bindplane vai ser instalado.

Obtenha o ID de cliente do Google SecOps

  1. Inicie sessão na consola Google SecOps.
  2. Aceda a Definições do SIEM > Perfil.
  3. Copie e guarde o ID do cliente da secção Detalhes da organização.

Instale o agente do Bindplane

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

Instalação do Windows

  1. Abra a Linha de comandos ou o PowerShell como administrador.
  2. Execute o seguinte 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 raiz ou sudo.
  2. Execute o seguinte comando:

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

Recursos de instalação adicionais

Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps

  1. Aceda ao ficheiro de configuração:

    1. Localize o ficheiro config.yaml. Normalmente, encontra-se no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    2. Abra o ficheiro com um editor de texto (por exemplo, nano, vi ou Bloco de notas).
  2. Edite o ficheiro 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
    

Reinicie o agente do Bindplane para aplicar as alterações

  • 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, pode usar a consola Serviços ou introduzir o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configure o encaminhamento de Syslog no recurso do Tanium

  1. Inicie sessão na Tanium Console com privilégios de administrador.
  2. Aceda a Módulos > Associar > Vista geral e clique em Criar associação.
  3. Clique em Criar.
  4. Indique os seguintes detalhes de configuração:
    • Nome: introduza um nome descritivo (por exemplo, Google SecOps Asset Integration).
    • Descrição: descrição opcional para esta associação.
    • Ativar: selecione Ativar para executar de acordo com um horário.
  5. Clicar em Seguinte.
  6. Na configuração de Origem:
    • Origem: selecione Pergunta guardada.
    • Pergunta: escolha uma pergunta guardada existente que devolva dados de recursos ou crie uma nova com sensores relacionados com recursos.
    • Grupo de computadores: selecione o grupo de computadores a segmentar para a recolha de dados de recursos.
  7. Clicar em Seguinte.
  8. Na configuração de Destino:
    • Destino: escolha SIEM/Syslog.
    • Nome: introduza um nome de destino (por exemplo, Chronicle Asset Syslog).
    • Anfitrião: introduza o endereço IP do agente BindPlane.
    • Porta: introduza o número da porta do agente BindPlane (por exemplo, 514).
    • Protocolo: selecione UDP.
    • Formato: selecione SYSLOG RFC 5424.
    • Fuso horário: selecione o fuso horário UTC para garantir a consistência universal entre sistemas.
  9. Clicar em Seguinte.
  10. Na configuração de Formatação:
    • Formato: selecione JSON.
    • Colunas: selecione os campos de recursos que quer encaminhar (por exemplo, nome do computador, endereço IP, plataforma do SO, domínio).
  11. Clicar em Seguinte.
  12. Na configuração Agendamento:
    • Agendamento: configure o agendamento de fornecimento (por exemplo, a cada hora).
    • Data/hora de início: defina quando a associação deve começar a ser executada.
  13. Clique em Guardar para criar a associação e iniciar o encaminhamento.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
application_name entity.metadata.source_labels.value O valor é retirado do campo "application_name" se existir no registo não processado.
application_vendor entity.metadata.source_labels.value O valor é retirado do campo "application_vendor" se existir no registo não processado.
application_version entity.metadata.product_version O valor é retirado do campo "application_version" se existir no registo não processado.
BIOS_Current_Language entity.metadata.source_labels.value O valor é retirado do campo "BIOS_Current_Language" se existir no registo não processado.
BIOS_Release_Date entity.metadata.source_labels.value O valor é retirado do campo "BIOS_Release_Date" se existir no registo não processado.
BIOS_Vendor entity.metadata.source_labels.value O valor é retirado do campo "BIOS_Vendor" se existir no registo não processado.
BIOS_Version entity.metadata.product_version O valor é retirado do campo "BIOS_Version" se existir no registo não processado.
Tipo de chassis entity.entity.asset.category O valor é retirado do campo "Tipo de chassis" se existir no registo não processado.
ID do computador entity.entity.asset.product_object_id O valor é retirado do campo "ID do computador" se existir no registo não processado. Também usado para preencher entity.relations.entity.asset.asset_id com o prefixo "id: ".
Nome do computador entity.entity.asset.hostname O valor é retirado do campo "Nome do computador" se existir no registo não processado.
Contagem entity.metadata.source_labels.value O valor é retirado do campo "Count" (Contagem) se existir no registo não processado.
Impressão digital do ponto final entity.entity.asset.hardware.serial_number O valor é retirado do campo "Endpoint Fingerprint" (Impressão digital do ponto final) se existir no registo não processado.
Endereço IP entity.entity.asset.ip Os valores são retirados do campo "Endereço IP" e adicionados como endereços IP separados à matriz.
Último utilizador com sessão iniciada entity.relations.entity.user.userid O valor é retirado do campo "Último utilizador com sessão iniciada", com qualquer prefixo de domínio removido, se existir no registo não processado.
Último reinício entity.entity.asset.last_boot_time O valor é analisado a partir do campo "Última reinicialização" e formatado como uma data/hora se existir no registo não processado.
Endereço MAC entity.entity.asset.mac Os valores são retirados do campo "Endereço MAC" e adicionados como endereços MAC separados à matriz.
Fabricante entity.entity.asset.hardware.manufacturer O valor é retirado do campo "Fabricante" se existir no registo não processado.
Sistema operativo entity.entity.asset.platform_software.platform_version O valor é retirado do campo "Sistema operativo" se existir no registo não processado. 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 é retirado do campo "plataforma" se existir no registo não processado. 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 é retirado do campo "serial_number" se existir no registo não processado.
versão entity.entity.asset.platform_software.platform_version O valor é retirado do campo "version" se existir no registo não processado. 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 Está sempre definido como "TANIUM_ASSET".
N/A entity.metadata.product_name Está sempre definido como "TANIUM_ASSET".
N/A entity.metadata.entity_type Está sempre definido como "ASSET".
N/A entity.relations.entity_type Está sempre definido como "USER".
N/A entity.relations.relationship Está sempre definido como "OWNS".

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