Recolha registos de recursos do Tanium
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
- Crie um contentor do Amazon S3 seguindo este manual do utilizador: Criar um contentor
- Guarde o nome e a região do contentor para referência futura (por exemplo,
tanium-asset-logs
). - Crie um utilizador seguindo este guia do utilizador: Criar um utilizador do IAM.
- Selecione o utilizador criado.
- Selecione o separador Credenciais de segurança.
- Clique em Criar chave de acesso na secção Chaves de acesso.
- Selecione Serviço de terceiros como o Exemplo de utilização.
- Clicar em Seguinte.
- Opcional: adicione uma etiqueta de descrição.
- Clique em Criar chave de acesso.
- Clique em Transferir ficheiro CSV para guardar a chave de acesso e a chave de acesso secreta para utilização posterior.
- Clique em Concluído.
- Selecione o separador Autorizações.
- Clique em Adicionar autorizações na secção Políticas de autorizações.
- Selecione Adicionar autorizações.
- Selecione Anexar políticas diretamente
- Pesquise e selecione a política AmazonS3FullAccess.
- Clicar em Seguinte.
- Clique em Adicionar autorizações.
Configure o Tanium Connect para a exportação para o S3
- Inicie sessão na Tanium Console com privilégios de administrador.
- Aceda a Módulos > Associar > Vista geral e clique em Criar associação.
- Clique em Criar.
- 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.
- Nome: introduza um nome descritivo (por exemplo,
- Clicar em Seguinte.
- 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.
- Clicar em Seguinte.
- 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.
- Clicar em Seguinte.
- 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.
- Clicar em Seguinte.
- 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.
- 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
- Aceda a AWS Console > IAM > Users > Add users.
- Clique em Adicionar utilizadores.
- Indique os seguintes detalhes de configuração:
- Utilizador: introduza
secops-reader
. - Tipo de acesso: selecione Chave de acesso – Acesso programático.
- Utilizador: introduza
- Clique em Criar utilizador.
- Anexe a política de leitura mínima (personalizada): Users > secops-reader > Permissions > Add permissions > Attach policies directly > Create policy.
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" } ] }
Defina o nome como
secops-reader-policy
.Aceda a Criar política > pesquise/selecione > Seguinte > Adicionar autorizações.
Aceda a Credenciais de segurança > Chaves de acesso > Criar chave de acesso.
Transfira o CSV (estes valores são introduzidos no feed).
Configure um feed no Google SecOps para carregar registos de recursos do Tanium
- Aceda a Definições do SIEM > Feeds.
- Clique em + Adicionar novo feed.
- No campo Nome do feed, introduza um nome para o feed (por exemplo,
Tanium Asset logs
). - Selecione Amazon S3 V2 como o Tipo de origem.
- Selecione Tanium Asset como o Tipo de registo.
- Clicar em Seguinte.
- 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.
- URI do S3:
- Clicar em Seguinte.
- 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
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Agentes de recolha.
- 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
- Inicie sessão na consola Google SecOps.
- Aceda a Definições do SIEM > Perfil.
- 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
- Abra a Linha de comandos ou o PowerShell como administrador.
Execute o seguinte comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalação do Linux
- Abra um terminal com privilégios de raiz ou sudo.
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
- Para ver opções de instalação adicionais, consulte este guia de instalação.
Configure o agente Bindplane para carregar o Syslog e enviá-lo para o Google SecOps
Aceda ao ficheiro de configuração:
- 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. - Abra o ficheiro com um editor de texto (por exemplo,
nano
,vi
ou Bloco de notas).
- Localize o ficheiro
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
- Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
- Substitua
<PLACEHOLDER_CUSTOMER_ID>
pelo ID de cliente real. - Atualize
/path/to/ingestion-authentication-file.json
para o caminho onde o ficheiro de autenticação foi guardado na secção Obtenha o ficheiro de autenticação de carregamento do Google SecOps.
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
- Inicie sessão na Tanium Console com privilégios de administrador.
- Aceda a Módulos > Associar > Vista geral e clique em Criar associação.
- Clique em Criar.
- 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.
- Nome: introduza um nome descritivo (por exemplo,
- Clicar em Seguinte.
- 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.
- Clicar em Seguinte.
- 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.
- Clicar em Seguinte.
- 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).
- Clicar em Seguinte.
- 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.
- 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.