Recoger registros de recursos de Tanium
En este documento se explica cómo ingerir registros de activos de Tanium en Google Security Operations mediante dos métodos diferentes. Puedes elegir entre la exportación nativa de Amazon S3 de Tanium Connect o el reenvío de syslog en tiempo real a través de Bindplane. Ambos métodos usan el módulo Tanium Connect para extraer datos de recursos de Tanium y enviarlos a Chronicle para analizarlos y monitorizarlos. El analizador transforma los registros sin procesar en un formato estructurado conforme al UDM de Chronicle. Para ello, primero normaliza los pares clave-valor de varios formatos de entrada (JSON y Syslog) y, a continuación, asigna los campos extraídos a los atributos de UDM correspondientes en objetos JSON anidados que representan entidades de activos, usuarios y relaciones.
Antes de empezar
Asegúrate de que cumples los siguientes requisitos previos:
- Una instancia de Google SecOps
- Acceso privilegiado a la consola de Tanium (módulo Connect) para configurar los destinos de exportación
- Elige el método de integración que prefieras:
- Opción 1 (recomendada): acceso privilegiado a AWS (S3, IAM) para la exportación nativa de S3
- Opción 2: Windows 2016 o versiones posteriores, o un host Linux con
systemd
para la instalación del agente Bindplane
Opción 1: Configurar la exportación de registros de activos de Tanium mediante AWS S3
Crear un segmento de Amazon S3
- Crea un segmento de Amazon S3 siguiendo esta guía de usuario: Crear un segmento.
- Guarda el nombre y la región del segmento para consultarlos más adelante (por ejemplo,
tanium-asset-logs
). - Crea un usuario siguiendo esta guía: Crear un usuario de gestión de identidades y accesos.
- Selecciona el Usuario creado.
- Selecciona la pestaña Credenciales de seguridad.
- En la sección Claves de acceso, haz clic en Crear clave de acceso.
- Selecciona Servicio de terceros como Caso práctico.
- Haz clic en Siguiente.
- Opcional: añade una etiqueta de descripción.
- Haz clic en Crear clave de acceso.
- Haz clic en Descargar archivo CSV para guardar la clave de acceso y la clave de acceso secreta para usarlas más adelante.
- Haz clic en Listo.
- Selecciona la pestaña Permisos.
- En la sección Políticas de permisos, haz clic en Añadir permisos.
- Selecciona Añadir permisos.
- Seleccione Adjuntar políticas directamente.
- Busca y selecciona la política AmazonS3FullAccess.
- Haz clic en Siguiente.
- Haz clic en Añadir permisos.
Configurar Tanium Connect para la exportación a S3
- Inicia sesión en la consola de Tanium con privilegios de administrador.
- Ve a Módulos > Conectar > Información general y haz clic en Crear conexión.
- Haz clic en Crear.
- Proporcione los siguientes detalles de configuración:
- Nombre: introduce un nombre descriptivo (por ejemplo,
Google SecOps Asset S3 Export
). - Descripción: descripción opcional de esta conexión.
- Habilitar: selecciona Habilitar para que se ejecute según una programación.
- Nombre: introduce un nombre descriptivo (por ejemplo,
- Haz clic en Siguiente.
- En la configuración de Fuente:
- Origen: selecciona Pregunta guardada.
- Pregunta: elige una pregunta guardada que devuelva datos de recursos o crea una con sensores relacionados con recursos (por ejemplo, Nombre del ordenador, Dirección IP, Plataforma del SO o Dominio).
- Grupo de ordenadores: selecciona el grupo de ordenadores al que quieres orientar la recogida de datos de recursos.
- Haz clic en Siguiente.
- En la configuración de Destino:
- Destino: elija AWS S3.
- Nombre: introduce un nombre de destino (por ejemplo,
Chronicle Asset S3
). - ID de clave de acceso de AWS: introduzca el ID de clave de acceso del usuario de IAM.
- Clave de acceso secreta de AWS: introduce la clave de acceso secreta del usuario de IAM.
- Nombre del segmento de S3:
tanium-asset-logs
. - Prefijo de clave de S3:
tanium/assets/
(prefijo opcional de la organización). - Región: selecciona la región de AWS en la que se encuentra tu contenedor de S3.
- Haz clic en Siguiente.
- En la configuración de Formato:
- Formato: selecciona JSON para exportar datos estructurados.
- Columnas: selecciona los campos de recursos que quieras exportar y dales el formato adecuado.
- Haz clic en Siguiente.
- En la configuración de Programación, haga lo siguiente:
- Programación: configura la programación de la entrega (por ejemplo, cada hora o cada día).
- Fecha y hora de inicio: indica cuándo debe empezar a ejecutarse la conexión.
- Haz clic en Guardar para crear la conexión e iniciar la exportación automática de S3.
Opcional: Crear un usuario y claves de gestión de identidades y accesos de solo lectura para Google SecOps
- Ve a Consola de AWS > IAM > Usuarios > Añadir usuarios.
- Haz clic en Add users (Añadir usuarios).
- Proporcione los siguientes detalles de configuración:
- Usuario: introduce
secops-reader
. - Tipo de acceso: selecciona Clave de acceso – Acceso programático.
- Usuario: introduce
- Haz clic en Crear usuario.
- Asigna una política de lectura mínima (personalizada): Usuarios > secops-reader > Permisos > Añadir permisos > Asignar políticas directamente > Crear política.
En el editor de JSON, introduce la siguiente 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" } ] }
Asigna el nombre
secops-reader-policy
.Ve a Crear política > busca o selecciona > Siguiente > Añadir permisos.
Ve a Credenciales de seguridad > Claves de acceso > Crear clave de acceso.
Descarga el archivo CSV (estos valores se introducen en el feed).
Configurar un feed en Google SecOps para ingerir registros de activos de Tanium
- Ve a Configuración de SIEM > Feeds.
- Haz clic en + Añadir nuevo feed.
- En el campo Nombre del feed, introduce un nombre para el feed (por ejemplo,
Tanium Asset logs
). - Selecciona Amazon S3 V2 como Tipo de fuente.
- Seleccione Recurso de Tanium como Tipo de registro.
- Haz clic en Siguiente.
- Especifique los valores de los siguientes parámetros de entrada:
- URI de S3:
s3://tanium-asset-logs/tanium/assets/
- Opciones de eliminación de la fuente: selecciona la opción de eliminación que prefieras.
- Antigüedad máxima del archivo: incluye los archivos modificados en los últimos días. El valor predeterminado es 180 días.
- ID de clave de acceso: clave de acceso de usuario con acceso al bucket de S3.
- Clave de acceso secreta: clave secreta del usuario con acceso al bucket de S3.
- Espacio de nombres de recursos: el espacio de nombres de recursos.
- Etiquetas de ingestión: la etiqueta aplicada a los eventos de este feed.
- URI de S3:
- Haz clic en Siguiente.
- Revise la configuración de la nueva fuente en la pantalla Finalizar y, a continuación, haga clic en Enviar.
Opción 2: Configurar la exportación de registros de activos de Tanium mediante syslog y Bindplane
Obtener el archivo de autenticación de ingestión de Google SecOps
- Inicia sesión en la consola de Google SecOps.
- Ve a Configuración de SIEM > Agentes de recogida.
- Descarga el archivo de autenticación de ingestión. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.
Obtener el ID de cliente de Google SecOps
- Inicia sesión en la consola de Google SecOps.
- Ve a Configuración de SIEM > Perfil.
- Copia y guarda el ID de cliente de la sección Detalles de la organización.
Instalar el agente de Bindplane
Instala el agente de Bindplane en tu sistema operativo Windows o Linux siguiendo las instrucciones que se indican a continuación.
Instalación de ventanas
- Abre el símbolo del sistema o PowerShell como administrador.
Ejecuta el siguiente comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalación de Linux
- Abre un terminal con privilegios de superusuario o sudo.
Ejecuta el siguiente comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Recursos de instalación adicionales
- Para ver otras opciones de instalación, consulta esta guía de instalación.
Configurar el agente de BindPlane para ingerir Syslog y enviarlo a Google SecOps
Accede al archivo de configuración:
- Busca el archivo
config.yaml
. Normalmente, se encuentra en el directorio/etc/bindplane-agent/
en Linux o en el directorio de instalación en Windows. - Abre el archivo con un editor de texto (por ejemplo,
nano
,vi
o Bloc de notas).
- Busca el archivo
Edita el archivo
config.yaml
de la siguiente manera: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
- Sustituye el puerto y la dirección IP según sea necesario en tu infraestructura.
- Sustituye
<PLACEHOLDER_CUSTOMER_ID>
por el ID de cliente real. - Actualiza
/path/to/ingestion-authentication-file.json
a la ruta en la que se guardó el archivo de autenticación en la sección Obtener el archivo de autenticación de ingestión de Google SecOps.
Reinicia el agente de Bindplane para aplicar los cambios
Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:
sudo systemctl restart bindplane-agent
Para reiniciar el agente de Bindplane en Windows, puedes usar la consola Servicios o introducir el siguiente comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configurar el reenvío de Syslog en Tanium Asset
- Inicia sesión en la consola de Tanium con privilegios de administrador.
- Ve a Módulos > Conectar > Información general y haz clic en Crear conexión.
- Haz clic en Crear.
- Proporcione los siguientes detalles de configuración:
- Nombre: introduce un nombre descriptivo (por ejemplo,
Google SecOps Asset Integration
). - Descripción: descripción opcional de esta conexión.
- Habilitar: selecciona Habilitar para que se ejecute según una programación.
- Nombre: introduce un nombre descriptivo (por ejemplo,
- Haz clic en Siguiente.
- En la configuración de Fuente:
- Origen: selecciona Pregunta guardada.
- Pregunta: elige una pregunta guardada que devuelva datos de recursos o crea una con sensores relacionados con recursos.
- Grupo de ordenadores: selecciona el grupo de ordenadores al que quieres orientar la recogida de datos de recursos.
- Haz clic en Siguiente.
- En la configuración de Destino:
- Destino: elige SIEM/Syslog.
- Nombre: introduce un nombre de destino (por ejemplo,
Chronicle Asset Syslog
). - Host: introduce la dirección IP del agente de BindPlane.
- Puerto: introduce el número de puerto del agente de BindPlane (por ejemplo,
514
). - Protocolo: selecciona UDP.
- Formato: selecciona SYSLOG RFC 5424.
- Zona horaria: selecciona la zona horaria UTC para que haya coherencia universal en todos los sistemas.
- Haz clic en Siguiente.
- En la configuración de Formato:
- Formato: selecciona JSON.
- Columnas: selecciona los campos de recursos que quieras reenviar (por ejemplo, Nombre del ordenador, Dirección IP, Plataforma del SO o Dominio).
- Haz clic en Siguiente.
- En la configuración de Programación, haga lo siguiente:
- Programación: configura la programación de la entrega (por ejemplo, cada hora).
- Fecha y hora de inicio: indica cuándo debe empezar a ejecutarse la conexión.
- Haz clic en Guardar para crear la conexión y empezar el reenvío.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
application_name | entity.metadata.source_labels.value | El valor se toma del campo "application_name" si existe en el registro sin procesar. |
application_vendor | entity.metadata.source_labels.value | El valor se toma del campo "application_vendor" si existe en el registro sin procesar. |
application_version | entity.metadata.product_version | El valor se toma del campo "application_version" si existe en el registro sin procesar. |
BIOS_Current_Language | entity.metadata.source_labels.value | El valor se toma del campo "BIOS_Current_Language" si existe en el registro sin procesar. |
BIOS_Release_Date | entity.metadata.source_labels.value | El valor se toma del campo "BIOS_Release_Date" si existe en el registro sin procesar. |
BIOS_Vendor | entity.metadata.source_labels.value | El valor se toma del campo "BIOS_Vendor" si existe en el registro sin procesar. |
BIOS_Version | entity.metadata.product_version | El valor se toma del campo "BIOS_Version" si existe en el registro sin procesar. |
Tipo de chasis | entity.entity.asset.category | El valor se toma del campo "Tipo de chasis" si existe en el registro sin procesar. |
ID de ordenador | entity.entity.asset.product_object_id | El valor se toma del campo "ID de ordenador" si existe en el registro sin procesar. También se usa para rellenar entity.relations.entity.asset.asset_id con el prefijo "id: ". |
Nombre del ordenador | entity.entity.asset.hostname | El valor se toma del campo "Nombre del ordenador" si existe en el registro sin procesar. |
Recuento | entity.metadata.source_labels.value | El valor se toma del campo "Count" (Recuento) si existe en el registro sin procesar. |
Huella digital del endpoint | entity.entity.asset.hardware.serial_number | El valor se toma del campo "Huella digital del endpoint" si existe en el registro sin procesar. |
Dirección IP | entity.entity.asset.ip | Los valores se toman del campo "Dirección IP" y se añaden como direcciones IP independientes a la matriz. |
Último usuario que ha iniciado sesión | entity.relations.entity.user.userid | El valor se toma del campo "Last Logged In User" (Último usuario que ha iniciado sesión) y se elimina cualquier prefijo de dominio, si existe en el registro sin procesar. |
Último reinicio | entity.entity.asset.last_boot_time | El valor se analiza a partir del campo "Último reinicio" y se le da formato de marca de tiempo si existe en el registro sin procesar. |
Dirección MAC | entity.entity.asset.mac | Los valores se toman del campo "Dirección MAC" y se añaden a la matriz como direcciones MAC independientes. |
Fabricante | entity.entity.asset.hardware.manufacturer | El valor se toma del campo "Fabricante" si existe en el registro sin procesar. |
Sistema operativo | entity.entity.asset.platform_software.platform_version | El valor se toma del campo "Sistema operativo" si existe en el registro sin procesar. Se usa para determinar el valor de entity.entity.asset.platform_software.platform (WINDOWS, LINUX o MAC). |
plataforma | entity.entity.asset.platform_software.platform_version | El valor se toma del campo "platform" si existe en el registro sin procesar. Se usa para determinar el valor de entity.entity.asset.platform_software.platform (WINDOWS, LINUX o MAC). |
serial_number | entity.entity.asset.hardware.serial_number | El valor se toma del campo "serial_number" si existe en el registro sin procesar. |
version | entity.entity.asset.platform_software.platform_version | El valor se toma del campo "version" si existe en el registro sin procesar. Se usa para determinar el valor de entity.entity.asset.platform_software.platform (WINDOWS, LINUX o MAC). |
N/A | entity.metadata.collected_timestamp | Se asigna a la hora de creación del lote. |
N/A | entity.metadata.vendor_name | Siempre se le asigna el valor "TANIUM_ASSET". |
N/A | entity.metadata.product_name | Siempre se le asigna el valor "TANIUM_ASSET". |
N/A | entity.metadata.entity_type | Siempre se le asigna el valor "ASSET". |
N/A | entity.relations.entity_type | Siempre se le asigna el valor "USER". |
N/A | entity.relations.relationship | Siempre se le asigna el valor "OWNS". |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.