Recopila registros de transmisión de Tanium

Compatible con:

En este documento, se explica cómo transferir registros de Tanium Stream a Google Security Operations con la funcionalidad nativa de exportación a AWS S3 de Tanium Connect. Tanium Stream proporciona telemetría de endpoints en tiempo real, datos de búsqueda de amenazas y análisis de comportamiento en formato JSON, que se pueden exportar directamente a S3 con Tanium Connect sin necesidad de funciones Lambda personalizadas. El analizador transforma los registros JSON sin procesar de Tanium Stream en un modelo de datos unificado (UDM). Primero, normaliza los campos comunes y, luego, aplica una lógica específica según el "logType" o el "eventType" para asignar la información pertinente a los campos correspondientes del UDM, y controla varios tipos de eventos, como conexiones de red, accesos de usuarios, inicios de procesos y modificaciones de archivos.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Una instancia de Google SecOps
  • Tanium Core Platform 7.0 o una versión posterior
  • Módulo Tanium Stream instalado y configurado
  • Módulo Tanium Connect instalado con una licencia válida
  • Tanium Threat Response 3.4.346 o posterior (si se usa la integración de TR)
  • Acceso privilegiado a la consola de Tanium con derechos de administrador
  • Acceso privilegiado a AWS (S3, IAM)

Configura la cuenta de servicio de Tanium Stream

  1. Accede a la consola de Tanium.
  2. Ve a Módulos > Stream.
  3. Haz clic en Configuración en la esquina superior derecha.
  4. En la sección Cuenta de servicio, configura lo siguiente:
    • Usuario de cuenta de servicio: Selecciona un usuario con los permisos de transmisión adecuados.
    • Verifica que la cuenta tenga el privilegio de rol de usuario de conexión.
    • Confirma el acceso a las fuentes de datos y los extremos de transmisión.
  5. Haz clic en Guardar para aplicar la configuración de la cuenta de servicio.

Recopila los requisitos previos de Tanium Stream

  1. Accede a la consola de Tanium como administrador.
  2. Ve a Administración > Permisos > Usuarios.
  3. Crea o identifica un usuario de cuenta de servicio con los siguientes roles:
    • Rol de Administrador de transmisión o Usuario de solo lectura de transmisión
    • Privilegio de rol de Connect User
    • Acceso a los grupos de computadoras supervisadas (se recomienda el grupo All Computers).
    • Permiso de Read Saved Question para los conjuntos de contenido de Stream

Configura el bucket de AWS S3 y el IAM para Google SecOps

  1. Crea un bucket de Amazon S3 siguiendo esta guía del usuario: Crea un bucket
  2. Guarda el Nombre y la Región del bucket para futuras referencias (por ejemplo, tanium-stream-logs).
  3. Crea un usuario siguiendo esta guía del usuario: Cómo crear un usuario de IAM.
  4. Selecciona el usuario creado.
  5. Selecciona la pestaña Credenciales de seguridad.
  6. Haz clic en Crear clave de acceso en la sección Claves de acceso.
  7. Selecciona Servicio de terceros como el Caso de uso.
  8. Haz clic en Siguiente.
  9. Opcional: Agrega 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. Haz clic en Agregar permisos en la sección Políticas de permisos.
  15. Selecciona Agregar permisos.
  16. Selecciona Adjuntar políticas directamente.
  17. Busca y selecciona la política AmazonS3FullAccess.
  18. Haz clic en Siguiente.
  19. Haz clic en Agregar permisos.

Configura el destino de AWS S3 de Tanium Connect

  1. Accede a la consola de Tanium.
  2. Ve a Módulos > Conectar.
  3. Haz clic en Create Connection.
  4. Proporciona los siguientes detalles de configuración:
    • Nombre: Ingresa un nombre descriptivo (por ejemplo, Stream Telemetry to S3 for SecOps).
    • Descripción: Es una descripción opcional (por ejemplo, Export endpoint telemetry and threat hunting data to AWS S3 for Google SecOps ingestion).
    • Habilitar: Selecciona esta opción para habilitar la conexión y que se ejecute según el programa.
  5. Haz clic en Siguiente.

Configura la fuente de conexión

  1. En la sección Fuente, proporciona los siguientes detalles de configuración:
    • Tipo de fuente: Selecciona Pregunta guardada.
    • Pregunta guardada: Selecciona una de las siguientes preguntas guardadas relacionadas con la transmisión:
      • Stream - Endpoint Events para la telemetría de extremos en tiempo real.
      • Stream - Network Events para supervisar la actividad de la red
      • Stream - Process Events para el seguimiento de la ejecución del proceso
      • Stream - File Events para la actividad del sistema de archivos
      • Stream - Threat Hunting Data para estadísticas de comportamiento
    • Grupo de computadoras: Selecciona Todas las computadoras o grupos de computadoras específicos para supervisar.
    • Intervalo de actualización: Establece un intervalo adecuado para la recopilación de datos (por ejemplo, 5 minutos para la telemetría en tiempo real).
  2. Haz clic en Siguiente.

Configura el destino de AWS S3

  1. En la sección Destino, proporciona los siguientes detalles de configuración:
    • Tipo de destino: Selecciona AWS S3.
    • Nombre de destino: Ingresa un nombre único (por ejemplo, Google SecOps Stream S3 Destination).
    • Clave de acceso de AWS: Ingresa la clave de acceso de AWS del archivo CSV que descargaste en el paso de configuración de AWS S3.
    • Clave de acceso secreta de AWS: Ingresa la clave de acceso secreta de AWS del archivo CSV que descargaste en el paso de configuración de AWS S3.
    • Nombre del bucket: Ingresa el nombre de tu bucket de S3 (por ejemplo, tanium-stream-logs).
    • Región: Selecciona la región de AWS en la que se encuentra tu bucket de S3.
    • Prefijo de clave: Ingresa un prefijo para los objetos de S3 (por ejemplo, tanium/stream/).
  2. Haz clic en Siguiente.

Cómo configurar filtros

  1. En la sección Filtros, configura las opciones de filtrado de datos:
    • Send new items only: Selecciona esta opción para enviar solo los datos de telemetría nuevos desde la última exportación.
    • Filtros de columnas: Agrega filtros basados en atributos de eventos específicos si es necesario (por ejemplo, filtra por tipo de evento, nombre del proceso o indicadores de amenazas).
  2. Haz clic en Siguiente.

Formatea datos para AWS S3

  1. En la sección Formato, configura el formato de datos:
    • Formato: Selecciona JSON.
    • Opciones:
      • Incluir encabezados: Anula la selección para evitar los encabezados en el resultado de JSON.
      • Incluir celdas vacías: Selecciona según tu preferencia.
    • Opciones avanzadas:
      • Nombres de archivos: Usa la nomenclatura predeterminada basada en marcas de tiempo.
      • Compresión: Selecciona Gzip para reducir los costos de almacenamiento y el tiempo de transferencia.
  2. Haz clic en Siguiente.

Programa la conexión

  1. En la sección Programación, configura la programación de la exportación:
    • Habilitar programa: Selecciona esta opción para habilitar las exportaciones programadas automáticas.
    • Tipo de programación: Selecciona Recurrente.
    • Frecuencia: Selecciona Cada 5 minutos para obtener datos de telemetría casi en tiempo real.
    • Hora de inicio: Establece la hora de inicio adecuada para la primera exportación.
  2. Haz clic en Siguiente.

Cómo guardar y verificar la conexión

  1. Revisa la configuración de la conexión en la pantalla de resumen.
  2. Haz clic en Guardar para crear la conexión.
  3. Haz clic en Probar conexión para verificar la configuración.
  4. Si la prueba se realiza correctamente, haz clic en Ejecutar ahora para realizar una exportación inicial.
  5. Supervisa el estado de la conexión en la página Connect Overview.

Configura un feed en Google SecOps para transferir registros de Tanium Stream

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en + Agregar feed nuevo.
  3. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Tanium Stream logs).
  4. Selecciona Amazon S3 V2 como el Tipo de fuente.
  5. Selecciona Tanium Stream como el Tipo de registro.
  6. Haz clic en Siguiente.
  7. Especifica valores para los siguientes parámetros de entrada:
    • URI de S3: s3://tanium-stream-logs/tanium/stream/
    • Opciones de borrado de la fuente: Selecciona la opción de borrado según tu preferencia.
    • Antigüedad máxima del archivo: Incluye los archivos modificados en la cantidad de días especificada. El valor predeterminado es de 180 días.
    • ID de clave de acceso: Clave de acceso del usuario con acceso al bucket de S3.
    • Clave de acceso secreta: Clave secreta del usuario con acceso al bucket de S3.
    • Espacio de nombres del recurso: Es el espacio de nombres del recurso.
    • Etiquetas de transmisión: Es la etiqueta que se aplica a los eventos de este feed.
  8. Haz clic en Siguiente.
  9. Revisa la nueva configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
additional.event__AlgorithmName additional.fields.key: eventAlgorithmName
additional.fields.value.string_value: %{additional.event
AlgorithmName}
Valor tomado directamente del campo de registro sin procesar additional.event__AlgorithmName.
additional.event__AuthenticationPackageName target.resource.name: %{additional.event__AuthenticationPackageName} Valor tomado directamente del campo de registro sin procesar additional.event__AuthenticationPackageName.
additional.event__CallerProcessId principal.process.pid: %{additional.event__CallerProcessId} Valor tomado directamente del campo de registro sin procesar additional.event__CallerProcessId.
additional.event__CallerProcessName principal.process.file.fullpath: %{additional.event_CallerProcessName} Valor tomado directamente del campo de registro sin procesar additional.event__CallerProcessName.
additional.event__ClientProcessId principal.process.pid: %{additional.event__ClientProcessId} Valor tomado directamente del campo de registro sin procesar additional.event__ClientProcessId.
additional.event__ClientProcessStartKey additional.fields.key: eventClientProcessStartKey
additional.fields.value.string_value: %{additional.event
ClientProcessStartKey}
Valor tomado directamente del campo de registro sin procesar additional.event__ClientProcessStartKey.
additional.event__CommandLine target.process.commandline: %{additional.event_CommandLine} Valor tomado directamente del campo de registro sin procesar additional.event__CommandLine.
additional.event__ElevatedToken additional.fields.key: event__ElevatedToken
additional.fields.value.string_value: Yes/No
Valor tomado directamente del campo de registro sin procesar additional.event__ElevatedToken.
Si el valor es "%%1842", se reemplaza por "Sí".
Si el valor es "%%1843", se reemplaza por "No".
additional.event__FQDN principal.hostname: %{additional.event__FQDN} Valor tomado directamente del campo de registro sin procesar additional.event__FQDN.
additional.event__FailureReason additional.fields.key: eventFailureReason
additional.fields.value.string_value: %{additional.event
FailureReason}
Valor tomado directamente del campo de registro sin procesar additional.event__FailureReason.
additional.event__ImpersonationLevel additional.fields.key: eventImpersonationLevel
additional.fields.value.string_value: %{additional.event
ImpersonationLevel}
Valor tomado directamente del campo de registro sin procesar additional.event__ImpersonationLevel.
additional.event__IpAddress target.ip: %{additional.event__IpAddress} Valor tomado directamente del campo de registro sin procesar additional.event__IpAddress.
additional.event__IpPort target.port: %{additional.event__IpPort} Valor tomado directamente del campo de registro sin procesar additional.event__IpPort y convertido en un número entero.
additional.event__KeyLength additional.fields.key: eventKeyLength
additional.fields.value.string_value: %{additional.event
KeyLength}
Valor tomado directamente del campo de registro sin procesar additional.event__KeyLength.
additional.event__KeyName additional.fields.key: eventKeyName
additional.fields.value.string_value: %{additional.event
KeyName}
Valor tomado directamente del campo de registro sin procesar additional.event__KeyName.
additional.event__KeyType additional.fields.key: eventKeyType
additional.fields.value.string_value: %{additional.event
KeyType}
Valor tomado directamente del campo de registro sin procesar additional.event__KeyType.
additional.event__LmPackageName additional.fields.key: eventLmPackageName
additional.fields.value.string_value: %{additional.event
LmPackageName}
Valor tomado directamente del campo de registro sin procesar additional.event__LmPackageName.
additional.event__LogonGuid target.resource.product_objectid: %{additional.event_LogonGuid} Valor tomado directamente del campo de registro sin procesar additional.event__LogonGuid sin llaves.
additional.event__LogonProcessName target.process.file.fullpath: %{additional.event_LogonProcessName} Valor tomado directamente del campo de registro sin procesar additional.event__LogonProcessName.
additional.event__LogonType extensions.auth.authdetails: Logon Type: %{additional.event_LogonType} Valor tomado directamente del campo de registro sin procesar additional.event__LogonType.
additional.event__MandatoryLabel additional.fields.key: eventMandatoryLabel
additional.fields.value.string_value: %{additional.event
MandatoryLabel}
Valor tomado directamente del campo de registro sin procesar additional.event__MandatoryLabel.
additional.event__NewProcessId target.process.pid: %{additional.event__NewProcessId} Valor tomado directamente del campo de registro sin procesar additional.event__NewProcessId.
additional.event__NewProcessName target.process.file.fullpath: %{additional.event_NewProcessName} Valor tomado directamente del campo de registro sin procesar additional.event__NewProcessName.
additional.event__ObjectServer security_result.categorydetails: %{additional.event_ObjectServer} Valor tomado directamente del campo de registro sin procesar additional.event__ObjectServer.
additional.event__Operation additional.fields.key: eventOperation
additional.fields.value.string_value: %{additional.event
Operation}
Valor tomado directamente del campo de registro sin procesar additional.event__Operation.
additional.event__ParentProcessId principal.process.parentprocess.pid: %{additional.event_ParentProcessId} Valor tomado directamente del campo de registro sin procesar additional.event__ParentProcessId.
additional.event__ParentProcessName principal.process.parent_process.file.fullpath: %{additional.event_ParentProcessName} Valor tomado directamente del campo de registro sin procesar additional.event__ParentProcessName.
additional.event__ProcessId principal.process.pid: %{additional.event__ProcessId} Valor tomado directamente del campo de registro sin procesar additional.event__ProcessId.
additional.event__ProcessName principal.process.file.fullpath: %{additional.event_ProcessName} Valor tomado directamente del campo de registro sin procesar additional.event__ProcessName.
additional.event__PrivilegeList principal.user.attribute.permissions.name: %{additional.event__PrivilegeList} Valor tomado directamente del campo de registro sin procesar additional.event__PrivilegeList.
additional.event__ProviderName additional.fields.key: eventProviderName
additional.fields.value.string_value: %{additional.event
ProviderName}
Valor tomado directamente del campo de registro sin procesar additional.event__ProviderName.
additional.event__RestrictedAdminMode additional.fields.key: eventRestrictedAdminMode
additional.fields.value.string_value: %{additional.event
RestrictedAdminMode}
Valor tomado directamente del campo de registro sin procesar additional.event__RestrictedAdminMode.
additional.event__ReturnCode additional.fields.key: eventReturnCode
additional.fields.value.string_value: %{additional.event
ReturnCode}
Valor tomado directamente del campo de registro sin procesar additional.event__ReturnCode.
additional.event__RpcCallClientLocality additional.fields.key: eventRpcCallClientLocality
additional.fields.value.string_value: %{additional.event
RpcCallClientLocality}
Valor tomado directamente del campo de registro sin procesar additional.event__RpcCallClientLocality.
additional.event__Service securityresult.description: %{additional.event_Service} Valor tomado directamente del campo de registro sin procesar additional.event__Service.
additional.event__Status additional.fields.key: eventStatus
additional.fields.value.string_value: %{additional.event
Status}
Valor tomado directamente del campo de registro sin procesar additional.event__Status.
additional.event__SubStatus additional.fields.key: eventSubStatus
additional.fields.value.string_value: %{additional.event
SubStatus}
Valor tomado directamente del campo de registro sin procesar additional.event__SubStatus.
additional.event__SubjectDomainName principal.administrativedomain: %{additional.event_SubjectDomainName} Valor tomado directamente del campo de registro sin procesar additional.event__SubjectDomainName.
additional.event__SubjectLogonId additional.fields.key: eventSubjectLogonId
additional.fields.value.string_value: %{additional.event
SubjectLogonId}
Valor tomado directamente del campo de registro sin procesar additional.event__SubjectLogonId.
additional.event__SubjectUserName principal.user.user_displayname: %{additional.event_SubjectUserName} Valor tomado directamente del campo de registro sin procesar additional.event__SubjectUserName.
additional.event__SubjectUserSid principal.user.windowssid: %{additional.event_SubjectUserSid} Valor tomado directamente del campo de registro sin procesar additional.event__SubjectUserSid.
additional.event__TaskContentNew additional.fields.key: eventTaskContentNew
additional.fields.value.string_value: %{additional.event
TaskContentNew}
Valor tomado directamente del campo de registro sin procesar additional.event__TaskContentNew.
additional.event__TaskName additional.fields.key: eventTaskName
additional.fields.value.string_value: %{additional.event
TaskName}
Valor tomado directamente del campo de registro sin procesar additional.event__TaskName.
additional.event__TargetDomainName target.administrativedomain: %{additional.event_TargetDomainName} Valor tomado directamente del campo de registro sin procesar additional.event__TargetDomainName.
additional.event__TargetLinkedLogonId additional.fields.key: eventTargetLinkedLogonId
additional.fields.value.string_value: %{additional.event
TargetLinkedLogonId}
Valor tomado directamente del campo de registro sin procesar additional.event__TargetLinkedLogonId.
additional.event__TargetLogonId additional.fields.key: eventTargetLogonId
additional.fields.value.string_value: %{additional.event
TargetLogonId}
Valor tomado directamente del campo de registro sin procesar additional.event__TargetLogonId.
additional.event__TargetOutboundDomainName additional.fields.key: eventTargetOutboundDomainName
additional.fields.value.string_value: %{additional.event
TargetOutboundDomainName}
Valor tomado directamente del campo de registro sin procesar additional.event__TargetOutboundDomainName.
additional.event__TargetOutboundUserName additional.fields.key: eventTargetOutboundUserName
additional.fields.value.string_value: %{additional.event
TargetOutboundUserName}
Valor tomado directamente del campo de registro sin procesar additional.event__TargetOutboundUserName.
additional.event__TargetSid target.user.windowssid: %{additional.event_TargetSid} Valor tomado directamente del campo de registro sin procesar additional.event__TargetSid.
additional.event__TargetUserName target.user.userid: %{additional.event__TargetUserName} Valor tomado directamente del campo de registro sin procesar additional.event__TargetUserName.
additional.event__TargetUserSid target.user.windowssid: %{additional.event_TargetUserSid} Valor tomado directamente del campo de registro sin procesar additional.event__TargetUserSid.
additional.event__TokenElevationType additional.fields.key: eventTokenElevationType
additional.fields.value.string_value: %{additional.event
TokenElevationType}
Valor tomado directamente del campo de registro sin procesar additional.event__TokenElevationType.
additional.event__TransmittedServices additional.fields.key: eventTransmittedServices
additional.fields.value.string_value: %{additional.event
TransmittedServices}
Valor tomado directamente del campo de registro sin procesar additional.event__TransmittedServices.
additional.event__VirtualAccount additional.fields.key: eventVirtualAccount
additional.fields.value.string_value: %{additional.event
VirtualAccount}
Valor tomado directamente del campo de registro sin procesar additional.event__VirtualAccount.
additional.event__WorkstationName target.hostname: %{additional.event__WorkstationName} Valor tomado directamente del campo de registro sin procesar additional.event__WorkstationName.
additional.event_id security_result.rule_name: EventID: %{additional.event_id} Valor tomado directamente del campo de registro sin procesar additional.event_id y convertido en una cadena.
additional.query network.dns.questions.name: %{additional.query} Valor tomado directamente del campo de registro sin procesar additional.query.
additional.response network.dns.answers.name: %{additional.response} Valor tomado directamente del campo de registro sin procesar additional.response.
metadata.description metadata.description: %{metadata.description} Valor tomado directamente del campo de registro sin procesar metadata.description.
metadata.eventTimestamp metadata.event_timestamp.seconds: Extracted from %{metadata.eventTimestamp}
metadata.event_timestamp.nanos: Extracted from %{metadata.eventTimestamp}
Los segundos y los nanosegundos se extraen del campo de registro sin procesar metadata.eventTimestamp con el análisis de fechas.
metadata.eventType metadata.product_event_type: %{metadata.eventType}
metadata.event_type: %{metadata.eventType}
Valor tomado directamente del campo de registro sin procesar metadata.eventType.
metadata.logType metadata.product_event_type: %{metadata.logType}
metadata.event_type: %{metadata.logType}
Valor tomado directamente del campo de registro sin procesar metadata.logType.
network.applicationProtocol network.application_protocol: %{network.applicationProtocol} Valor tomado directamente del campo de registro sin procesar network.applicationProtocol.
network.direction network.direction: %{network.direction} Valor tomado directamente del campo de registro sin procesar network.direction.
network.ipProtocol network.ip_protocol: %{network.ipProtocol} Valor tomado directamente del campo de registro sin procesar network.ipProtocol.
principal.assetId principal.asset_id: TANIUM:%{principal.assetId} El valor se toma directamente del campo de registro sin procesar principal.assetId y tiene el prefijo "TANIUM:".
principal.hostname principal.hostname: %{principal.hostname} Valor tomado directamente del campo de registro sin procesar principal.hostname.
principal.process.companySpecificParentProcessId principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.companySpecificParentProcessId} Valor tomado directamente del campo de registro sin procesar principal.process.companySpecificParentProcessId y con el formato "TANIUM:%{principal.assetId}:%{principal.process.companySpecificParentProcessId}".
principal.process.companySpecificProcessId principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.companySpecificProcessId} El valor se toma directamente del campo de registro sin procesar principal.process.companySpecificProcessId y se formatea como "TANIUM:%{principal.assetId}:%{principal.process.companySpecificProcessId}".
principal.process.commandLine target.process.command_line: %{principal.process.commandLine} Valor tomado directamente del campo de registro sin procesar principal.process.commandLine, con las comillas dobles quitadas y los guiones reemplazados por signos &.
principal.process.file.fullPath target.process.file.full_path: %{principal.process.file.fullPath} Valor tomado directamente del campo de registro sin procesar principal.process.file.fullPath.
principal.process.file.md5 target.process.file.md5: %{principal.process.file.md5} Valor tomado directamente del campo de registro sin procesar principal.process.file.md5 y convertido a minúsculas.
principal.process.parentPid principal.process.pid: %{principal.process.parentPid} Valor tomado directamente del campo de registro sin procesar principal.process.parentPid solo para eventos PROCESS_LAUNCH.
principal.process.pid target.process.pid: %{principal.process.pid} Valor tomado directamente del campo de registro sin procesar principal.process.pid solo para eventos PROCESS_LAUNCH.
principal.process.productSpecificProcessId principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} Valor tomado directamente del campo de registro sin procesar principal.process.productSpecificProcessId y formateado como "TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId}".
principal.user.groupid principal.user.group_identifiers: %{principal.user.groupid} Valor tomado directamente del campo de registro sin procesar principal.user.groupid.
principal.user.userid principal.user.userid: %{principal.user.userid} Valor tomado directamente del campo de registro sin procesar principal.user.userid.
src.ip principal.ip: %{src.ip} Valor tomado directamente del campo de registro sin procesar src.ip.
src.port principal.port: %{src.port} Valor tomado directamente del campo de registro sin procesar src.port y convertido en un número entero.
target.file.fullPath target.file.full_path: %{target.file.fullPath} Valor tomado directamente del campo de registro sin procesar target.file.fullPath.
target.file.md5 target.file.md5: %{target.file.md5} Valor tomado directamente del campo de registro sin procesar target.file.md5.
target.port target.port: %{target.port} Valor tomado directamente del campo de registro sin procesar target.port y convertido en un número entero.
target.registry.registryKey target.registry.registry_key: %{target.registry.registryKey} Valor tomado directamente del campo de registro sin procesar target.registry.registryKey.
target.registry.registryValue target.registry.registry_value_data: %{target.registry.registryValue} Valor tomado directamente del campo de registro sin procesar target.registry.registryValue.
target.user.userDisplayName target.user.user_display_name: %{target.user.userDisplayName} Valor tomado directamente del campo de registro sin procesar target.user.userDisplayName.
target.user.windowsSid target.user.windows_sid: %{target.user.windowsSid} Valor tomado directamente del campo de registro sin procesar target.user.windowsSid.
user-agent network.http.user_agent: %{user-agent} Valor tomado directamente del campo de registro sin procesar user-agent sin comillas dobles.
N/A extensions.auth.auth_mechanism: LOCAL/NETWORK/BATCH/SERVICE/UNLOCK/NETWORK_CLEAR_TEXT/NEW_CREDENTIALS/REMOTE_INTERACTIVE/CACHED_INTERACTIVE/MECHANISM_UNSPECIFIED El código del analizador lo determina según el valor de additional.event__LogonType.
N/A extensions.auth.type: MACHINE El código del analizador lo agrega para los eventos USER_LOGIN y USER_LOGOUT.
N/A metadata.event_type: PROCESS_LAUNCH/NETWORK_CONNECTION/FILE_OPEN/FILE_DELETION/REGISTRY_MODIFICATION/USER_LOGIN/STATUS_UPDATE/USER_LOGOUT/PROCESS_MODULE_LOAD/PROCESS_TERMINATION/USER_CHANGE_PERMISSIONS/SCHEDULED_TASK_MODIFICATION/SCHEDULED_TASK_DISABLE/SCHEDULED_TASK_ENABLE/SCHEDULED_TASK_DELETION/SCHEDULED_TASK_CREATION/PROCESS_UNCATEGORIZED El código del analizador lo determina según el valor de metadata.logType y additional.event_id.
N/A metadata.log_type: TANIUM_TH Valor codificado agregado por el código del analizador.
N/A metadata.product_name: Stream Valor codificado agregado por el código del analizador.
N/A metadata.vendor_name: Tanium Valor codificado agregado por el código del analizador.
N/A principal.hostname: %{principal_hostname} El valor se toma de principal.hostname o additional.event__FQDN.
N/A principal.ip: %{srcIp} Se extrae del mensaje de registro sin procesar con grok si src.ip está presente.
N/A securityresult.about.resource.name: %{additional.event_AuthenticationPackageName} Es el valor que se toma directamente del campo de registro sin procesar additional.event__AuthenticationPackageName para valores de additional.event_id específicos.
N/A security_result.category: AUTH_VIOLATION El código del analizador lo agrega para valores de additional.event_id específicos.
N/A security_result.rule_name: EventID: %{additional.event_id} Valor tomado directamente del campo de registro sin procesar additional.event_id y convertido en una cadena.
N/A target.hostname: %{query_host} Se extrae del campo de registro sin procesar additional.query si contiene un nombre de host.
N/A target.ip: %{dstIp} Se extrae del mensaje de registro sin procesar con grok si src.ip está presente.
N/A target.ip: %{query_ip} Se extrae del campo de registro sin procesar additional.query si contiene una dirección IP.
N/A target.process.command_line: %{principal_process_commandLine} El valor se toma de principal.process.commandLine si no está vacío.
N/A target.process.file.full_path: %{principal_process_file_fullPath} El valor se toma de principal.process.file.fullPath si no está vacío.
N/A target.process.file.md5: %{principal_process_file_md5} El valor se toma de principal.process.file.md5 si no está vacío.
N/A target.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} Valor tomado de principal.process.productSpecificProcessId y con el formato "TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId}".
N/A target.resource.resource_type: TASK El código del analizador lo agrega para valores de additional.event_id específicos.
N/A timestamp.seconds: Extracted from %{metadata.eventTimestamp}
timestamp.nanos: Extracted from %{metadata.eventTimestamp}
Los segundos y los nanosegundos se extraen del campo de registro sin procesar metadata.eventTimestamp con el análisis de fechas.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.