Recoger registros de recursos de Tanium

Disponible en:

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

  1. Crea un segmento de Amazon S3 siguiendo esta guía de usuario: Crear un segmento.
  2. Guarda el nombre y la región del segmento para consultarlos más adelante (por ejemplo, tanium-asset-logs).
  3. Crea un usuario siguiendo esta guía: Crear un usuario de gestión de identidades y accesos.
  4. Selecciona el Usuario creado.
  5. Selecciona la pestaña Credenciales de seguridad.
  6. En la sección Claves de acceso, haz clic en Crear clave de acceso.
  7. Selecciona Servicio de terceros como Caso práctico.
  8. Haz clic en Siguiente.
  9. Opcional: añade una etiqueta de descripción.
  10. Haz clic en Crear clave de acceso.
  11. Haz clic en Descargar archivo CSV para guardar la clave de acceso y la clave de acceso secreta para usarlas más adelante.
  12. Haz clic en Listo.
  13. Selecciona la pestaña Permisos.
  14. En la sección Políticas de permisos, haz clic en Añadir permisos.
  15. Selecciona Añadir permisos.
  16. Seleccione Adjuntar políticas directamente.
  17. Busca y selecciona la política AmazonS3FullAccess.
  18. Haz clic en Siguiente.
  19. Haz clic en Añadir permisos.

Configurar Tanium Connect para la exportación a S3

  1. Inicia sesión en la consola de Tanium con privilegios de administrador.
  2. Ve a Módulos > Conectar > Información general y haz clic en Crear conexión.
  3. Haz clic en Crear.
  4. 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.
  5. Haz clic en Siguiente.
  6. 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.
  7. Haz clic en Siguiente.
  8. 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.
  9. Haz clic en Siguiente.
  10. 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.
  11. Haz clic en Siguiente.
  12. 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.
  13. 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

  1. Ve a Consola de AWS > IAM > Usuarios > Añadir usuarios.
  2. Haz clic en Add users (Añadir usuarios).
  3. Proporcione los siguientes detalles de configuración:
    • Usuario: introduce secops-reader.
    • Tipo de acceso: selecciona Clave de acceso – Acceso programático.
  4. Haz clic en Crear usuario.
  5. Asigna una política de lectura mínima (personalizada): Usuarios > secops-reader > Permisos > Añadir permisos > Asignar políticas directamente > Crear política.
  6. 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"
        }
      ]
    }
    
  7. Asigna el nombre secops-reader-policy.

  8. Ve a Crear política > busca o selecciona > Siguiente > Añadir permisos.

  9. Ve a Credenciales de seguridad > Claves de acceso > Crear clave de acceso.

  10. Descarga el archivo CSV (estos valores se introducen en el feed).

Configurar un feed en Google SecOps para ingerir registros de activos de Tanium

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en + Añadir nuevo feed.
  3. En el campo Nombre del feed, introduce un nombre para el feed (por ejemplo, Tanium Asset logs).
  4. Selecciona Amazon S3 V2 como Tipo de fuente.
  5. Seleccione Recurso de Tanium como Tipo de registro.
  6. Haz clic en Siguiente.
  7. 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.
  8. Haz clic en Siguiente.
  9. 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

  1. Inicia sesión en la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recogida.
  3. 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

  1. Inicia sesión en la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Perfil.
  3. 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

  1. Abre el símbolo del sistema o PowerShell como administrador.
  2. Ejecuta el siguiente comando:

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

Instalación de Linux

  1. Abre un terminal con privilegios de superusuario o sudo.
  2. 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

Configurar el agente de BindPlane para ingerir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    1. 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.
    2. Abre el archivo con un editor de texto (por ejemplo, nano, vi o Bloc de notas).
  2. 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

  1. Inicia sesión en la consola de Tanium con privilegios de administrador.
  2. Ve a Módulos > Conectar > Información general y haz clic en Crear conexión.
  3. Haz clic en Crear.
  4. 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.
  5. Haz clic en Siguiente.
  6. 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.
  7. Haz clic en Siguiente.
  8. 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.
  9. Haz clic en Siguiente.
  10. 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).
  11. Haz clic en Siguiente.
  12. 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.
  13. 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.