Recopila registros de VMware ESXi

Compatible con:

En este documento, se explica cómo transferir registros de VMware ESXi a Google Security Operations con Bindplane. VMware ESXi es un hipervisor de equipos físicos que se instala directamente en servidores físicos para dividirlos en varias máquinas virtuales. Los registros de ESXi capturan eventos del sistema host, actividad de autenticación, operaciones de máquina virtual, eventos de almacenamiento y red, y mensajes del kernel del hipervisor.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Una instancia de Google SecOps
  • Un host de Windows 2016 o posterior, o Linux con systemd
  • Si se ejecuta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos según los requisitos del agente de Bindplane.
  • Acceso privilegiado al host de VMware ESXi (rol de administrador o raíz) a través del cliente de host de ESXi o el cliente de vSphere.

Obtén credenciales de Google SecOps para el agente de Bindplane

Para autenticar el agente de Bindplane en Google SecOps, elige uno de los siguientes métodos:

  • Implementaciones nuevas: Usa la API de Chronicle (opción 1).
  • Implementaciones heredadas: Sigue usando el archivo de autenticación de transferencia (opción 2) hasta que se descontinúe la API de Ingestion el 20 de julio de 2027.
  1. Accede a la consola deGoogle Cloud y selecciona el proyecto de Google Cloud que está vinculado a tu instancia de Google SecOps.
  2. Ve a IAM y administración > Cuentas de servicio.
  3. Haga clic en Crear cuenta de servicio.
  4. Proporciona los siguientes detalles de configuración:
    • Nombre de la cuenta de servicio: Ingresa un nombre para la cuenta (por ejemplo, bindplane-ingest).
    • Descripción de la cuenta de servicio: Ingresa una descripción (por ejemplo, Bindplane agent log ingestion).
  5. Haz clic en Crear y continuar.
  6. En la sección Otorga a esta cuenta de servicio acceso al proyecto, haz clic en Seleccionar un rol y elige Editor de Chronicle.
  7. Haz clic en Continuar y, luego, en Listo.
  8. Haz clic en la cuenta de servicio que creaste y, luego, ve a la pestaña Claves.
  9. Haz clic en Agregar clave > Crear clave nueva.
  10. Selecciona JSON y haz clic en Crear. El archivo de claves se descargará en tu computadora.
  11. Guarda el archivo de claves como ingestion-auth.json en el directorio del recopilador de Bindplane (/opt/observiq-otel-collector/ingestion-auth.json en Linux o C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json en Windows) o actualiza creds_file_path en config.yaml para que coincida con la ruta de acceso en la que lo guardas.
  12. Ve a IAM y administración > Configuración y copia el Número de proyecto. Lo necesitarás para la configuración del exportador.

Opción 2: Descarga el archivo de autenticación de transferencia (heredado)

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración > Administración de datos > Agentes de recopilación. Si estás en una plataforma solo de SIEM, ve a Configuración > Agentes de recopilación.
  3. Descarga el archivo de autenticación de transferencia.
  4. Guarda el archivo de forma segura en el sistema en el que se instalará el agente de Bindplane.

Obtén el ID de cliente de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración > Administración > Perfil. Si estás en una plataforma solo de SIEM, ve a Configuración > Perfil.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Instala el agente de Bindplane

Instala el agente de Bindplane en tu sistema operativo Windows o Linux según las siguientes instrucciones.

Instalación en Windows

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

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

Instalación en Linux

  1. Abre una terminal con privilegios de raíz o sudo.
  2. Ejecuta el comando siguiente:

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

Recursos de instalación adicionales

Para conocer otras opciones de instalación, consulta esta guía de instalación.

Configura el agente de BindPlane para transferir syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    • Ubica el archivo config.yaml. Por lo general, se encuentra en el directorio /opt/observiq-otel-collector/ en Linux o en el directorio de instalación en Windows.
    • Abre el archivo con un editor de texto (por ejemplo, nano, vi o el 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:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        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: YOUR_CUSTOMER_ID
        endpoint: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'VMWARE_ESX'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
  • Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.
  • Reemplaza <LOCATION> por la región de tu instancia de Google SecOps (por ejemplo, us, europe o asia-southeast1). El exportador antepone chronicle.googleapis.com con este valor.
  • Reemplaza <PROJECT_NUMBER> por el número de proyecto de IAM y administración > Configuración.
  • Reemplaza YOUR_CUSTOMER_ID por el ID de cliente real.
  • Actualiza /path/to/ingestion-authentication-file.json a la ruta de acceso del archivo en la que se guardó el archivo de claves de la cuenta de servicio (opción 1) en el paso 1.

Exportador de la API de transferencia heredada

  • Si usas el archivo de autenticación de transferencia de la opción 2, reemplaza el bloque exporters por lo siguiente. Establece creds_file_path en la ruta de acceso al archivo de autenticación de transferencia y, si tu instancia está fuera de EE.UU., reemplaza malachiteingestion-pa.googleapis.com por tu extremo regional (por ejemplo, europe-malachiteingestion-pa.googleapis.com).

    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: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'VMWARE_ESX'
        raw_log_field: body
        ingestion_labels:
    

Reinicia el agente de Bindplane para aplicar los cambios

  1. Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:

    sudo systemctl restart observiq-otel-collector
    
  2. Para reiniciar el agente de Bindplane en Windows, puedes usar la consola de Servicios o ingresar el siguiente comando:

    net stop observiq-otel-collector && net start observiq-otel-collector
    

Configura el reenvío de syslog de VMware ESXi

ESXi admite el reenvío nativo de syslog a través de UDP. Puedes configurarlo con el cliente de host de ESXi, el cliente de vSphere o la shell de ESXi (SSH).

Opción: Cliente de host de ESXi o cliente de vSphere

  1. Accede al cliente de host de ESXi (https://<esxi-host>/ui) o al cliente de vSphere y selecciona el host de ESXi.
  2. Ve a Administrar > Sistema > Configuración avanzada.
  3. Busca Syslog.global.logHost.
  4. Haz clic en Editar y establece el valor en lo siguiente:

    • udp://<BINDPLANE_IP>:514
    • Para agregar varios servidores syslog, sepáralos con comas (por ejemplo, udp://<BINDPLANE_IP>:514,udp://<BACKUP_IP>:514).
  5. Haz clic en Guardar.

  6. Busca Syslog.global.logDir para verificar que el registro local también esté habilitado (por ejemplo, [] /scratch/log).

Opción: Shell de ESXi (SSH)

  1. Conéctate al host de ESXi a través de SSH.
  2. Ejecuta el siguiente comando para configurar el servidor Syslog remoto:

    esxcli system syslog config set --loghost="udp://<BINDPLANE_IP>:514"
    
  3. Vuelve a cargar el servicio de syslog:

    esxcli system syslog reload
    
  4. Verifica la configuración:

    esxcli system syslog config get
    

Configura el firewall de ESXi para syslog

  1. Si el firewall de ESXi está habilitado, abre la regla de salida de syslog. Conéctate por SSH y ejecuta lo siguiente:

    esxcli network firewall ruleset set --ruleset-id=syslog --enabled=true
    
  2. Actualiza las reglas de firewall:

    esxcli network firewall refresh
    
  3. Verifica que la regla de firewall de syslog esté habilitada:

    esxcli network firewall ruleset list | grep syslog
    

Para obtener más información, consulta la documentación de syslog de VMware ESXi.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
@fields.alias event.idm.read_only_udm.principal.cloud.project.alias Se asigna directamente desde el campo @fields.alias del registro JSON.
@fields.company_name event.idm.read_only_udm.principal.user.company_name Se asigna directamente desde el campo @fields.company_name del registro JSON.
@fields.facility event.idm.read_only_udm.principal.resource.type Se asigna directamente desde el campo @fields.facility del registro JSON.
@fields.host event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Se asigna directamente desde el campo @fields.host del registro JSON.
@fields.privatecloud_id event.idm.read_only_udm.principal.cloud.project.id Se asigna directamente desde el campo @fields.privatecloud_id del registro JSON.
@fields.privatecloud_name event.idm.read_only_udm.principal.cloud.project.name Se asigna directamente desde el campo @fields.privatecloud_name del registro JSON.
@fields.procid event.idm.read_only_udm.principal.process.pid Se asigna directamente desde el campo @fields.procid del registro JSON.
@fields.region_id event.idm.read_only_udm.principal.location.country_or_region Se asigna directamente desde el campo @fields.region_id del registro JSON.
@fields.severity event.idm.read_only_udm.security_result.severity Se asigna desde el campo @fields.severity del registro JSON. Si el valor es "info" o similar, se asigna a "INFORMATIONAL".
@timestamp event.idm.read_only_udm.metadata.event_timestamp Se analiza y se convierte en un objeto de marca de tiempo a partir del campo @timestamp del registro con el filtro date.
adapter event.idm.read_only_udm.target.resource.name Se asigna directamente desde el campo adapter del registro sin procesar.
action event.idm.read_only_udm.security_result.action Se asigna directamente desde el campo action del registro sin procesar. Se usan valores como "ALLOW" y "BLOCK".
action event.idm.read_only_udm.security_result.action_details Se asigna directamente desde el campo action del registro sin procesar. Se usan valores como "Redirect".
administrative_domain event.idm.read_only_udm.principal.administrative_domain Se asigna directamente desde el campo administrative_domain del registro sin procesar.
agent.hostname event.idm.read_only_udm.intermediary.hostname Se asigna directamente desde el campo agent.hostname del registro JSON.
agent.id event.idm.read_only_udm.intermediary.asset.id Se asigna directamente desde el campo agent.id del registro JSON.
agent.name event.idm.read_only_udm.intermediary.asset.name Se asigna directamente desde el campo agent.name del registro JSON.
agent.type event.idm.read_only_udm.intermediary.asset.type Se asigna directamente desde el campo agent.type del registro JSON.
agent.version event.idm.read_only_udm.intermediary.asset.version Se asigna directamente desde el campo agent.version del registro JSON.
app_name event.idm.read_only_udm.principal.application Se asigna directamente desde el campo app_name del registro sin procesar.
app_protocol event.idm.read_only_udm.network.application_protocol Se asigna directamente desde el campo app_protocol del registro sin procesar. Si el valor coincide con "http" (no distingue mayúsculas de minúsculas), se asigna a "HTTP".
application event.idm.read_only_udm.principal.application Se asigna directamente desde el campo program del registro JSON.
cmd event.idm.read_only_udm.target.process.command_line Se asigna directamente desde el campo cmd del registro sin procesar.
collection_time event.idm.read_only_udm.metadata.event_timestamp Los nanosegundos del campo collection_time se agregan a los segundos del campo collection_time para crear el event_timestamp.
data event.idm.read_only_udm.metadata.description Se analiza el mensaje de registro sin procesar y se extraen las partes relevantes para completar el campo de descripción.
descrip event.idm.read_only_udm.metadata.description Se asigna directamente desde el campo descrip del registro sin procesar.
dns.answers.data event.idm.read_only_udm.network.dns.answers.data Se asigna directamente desde el campo dns.answers.data del registro JSON.
dns.answers.ttl event.idm.read_only_udm.network.dns.answers.ttl Se asigna directamente desde el campo dns.answers.ttl del registro JSON.
dns.answers.type event.idm.read_only_udm.network.dns.answers.type Se asigna directamente desde el campo dns.answers.type del registro JSON.
dns.questions.name event.idm.read_only_udm.network.dns.questions.name Se asigna directamente desde el campo dns.questions.name del registro JSON.
dns.questions.type event.idm.read_only_udm.network.dns.questions.type Se asigna directamente desde el campo dns.questions.type del registro JSON.
dns.response event.idm.read_only_udm.network.dns.response Se asigna directamente desde el campo dns.response del registro JSON.
ecs.version event.idm.read_only_udm.metadata.product_version Se asigna directamente desde el campo ecs.version del registro JSON.
event_message event.idm.read_only_udm.metadata.description Se asigna directamente desde el campo event_message del registro JSON.
event_metadata event.idm.read_only_udm.principal.process.product_specific_process_id Se analiza el campo event_metadata para extraer el valor opID, que luego se antepone con "opID:" y se asigna al UDM.
event_type event.idm.read_only_udm.metadata.event_type Se asigna directamente desde el campo event_type del registro JSON.
filepath event.idm.read_only_udm.target.file.full_path Se asigna directamente desde el campo filepath del registro sin procesar.
fields.company_name event.idm.read_only_udm.principal.user.company_name Se asigna directamente desde el campo fields.company_name del registro JSON.
fields.facility event.idm.read_only_udm.principal.resource.type Se asigna directamente desde el campo fields.facility del registro JSON.
fields.host event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Se asigna directamente desde el campo fields.host del registro JSON.
fields.privatecloud_id event.idm.read_only_udm.principal.cloud.project.id Se asigna directamente desde el campo fields.privatecloud_id del registro JSON.
fields.privatecloud_name event.idm.read_only_udm.principal.cloud.project.name Se asigna directamente desde el campo fields.privatecloud_name del registro JSON.
fields.procid event.idm.read_only_udm.principal.process.pid Se asigna directamente desde el campo fields.procid del registro JSON.
fields.region_id event.idm.read_only_udm.principal.location.country_or_region Se asigna directamente desde el campo fields.region_id del registro JSON.
fields.severity event.idm.read_only_udm.security_result.severity Se asigna desde el campo fields.severity del registro JSON. Si el valor es "info" o similar, se asigna a "INFORMATIONAL".
host.architecture event.idm.read_only_udm.principal.asset.architecture Se asigna directamente desde el campo host.architecture del registro JSON.
host.containerized event.idm.read_only_udm.principal.asset.containerized Se asigna directamente desde el campo host.containerized del registro JSON.
host.hostname event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Se asigna directamente desde el campo host.hostname del registro JSON.
host.id event.idm.read_only_udm.principal.asset.id Se asigna directamente desde el campo host.id del registro JSON.
host.ip event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip Se asigna directamente desde el campo host.ip del registro JSON.
host.mac event.idm.read_only_udm.principal.mac, event.idm.read_only_udm.principal.asset.mac Se asigna directamente desde el campo host.mac del registro JSON.
host.name event.idm.read_only_udm.principal.asset.name Se asigna directamente desde el campo host.name del registro JSON.
host.os.codename event.idm.read_only_udm.principal.asset.os.codename Se asigna directamente desde el campo host.os.codename del registro JSON.
host.os.family event.idm.read_only_udm.principal.asset.os.family Se asigna directamente desde el campo host.os.family del registro JSON.
host.os.kernel event.idm.read_only_udm.principal.asset.os.kernel Se asigna directamente desde el campo host.os.kernel del registro JSON.
host.os.name event.idm.read_only_udm.principal.asset.os.name Se asigna directamente desde el campo host.os.name del registro JSON.
host.os.platform event.idm.read_only_udm.principal.asset.os.platform Se asigna directamente desde el campo host.os.platform del registro JSON.
host.os.version event.idm.read_only_udm.principal.asset.os.version Se asigna directamente desde el campo host.os.version del registro JSON.
iporhost event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Se asigna directamente desde el campo iporhost del registro sin procesar.
iporhost event.idm.read_only_udm.principal.ip Se asigna directamente desde el campo iporhost del registro sin procesar si es una dirección IP.
iporhost1 event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Se asigna directamente desde el campo iporhost1 del registro sin procesar.
kv_data1 event.idm.read_only_udm.principal.process.product_specific_process_id El campo kv_data1 se analiza para extraer el valor opID o sub, que luego se antepone con "opID:" o "sub:" respectivamente y se asigna al UDM.
kv_msg event.idm.read_only_udm.additional.fields El campo kv_msg se analiza como pares clave-valor y se agrega al array additional_fields en el UDM.
kv_msg1 event.idm.read_only_udm.additional.fields El campo kv_msg1 se analiza como pares clave-valor y se agrega al array additional_fields en el UDM.
lbdn event.idm.read_only_udm.target.hostname Se asigna directamente desde el campo lbdn del registro sin procesar.
log.source.address event.idm.read_only_udm.observer.hostname Se asigna directamente desde el campo log.source.address del registro JSON, y solo toma la parte del nombre de host.
log_event.original event.idm.read_only_udm.metadata.description Se asigna directamente desde el campo event.original del registro JSON.
log_level event.idm.read_only_udm.security_result.severity_details Se asigna directamente desde el campo log_level del registro JSON.
logstash.collect.host event.idm.read_only_udm.observer.hostname Se asigna directamente desde el campo logstash.collect.host del registro JSON.
logstash.collect.timestamp event.idm.read_only_udm.metadata.ingested_timestamp Se analiza y se convierte en un objeto de marca de tiempo a partir del campo logstash.collect.timestamp del registro con el filtro date.
logstash.ingest.host event.idm.read_only_udm.intermediary.hostname Se asigna directamente desde el campo logstash.ingest.host del registro JSON.
logstash.ingest.timestamp event.idm.read_only_udm.metadata.ingested_timestamp Se analiza y se convierte en un objeto de marca de tiempo a partir del campo logstash.ingest.timestamp del registro con el filtro date.
logstash.process.host event.idm.read_only_udm.intermediary.hostname Se asigna directamente desde el campo logstash.process.host del registro JSON.
logstash.process.timestamp event.idm.read_only_udm.metadata.ingested_timestamp Se analiza y se convierte en un objeto de marca de tiempo a partir del campo logstash.process.timestamp del registro con el filtro date.
log_type event.idm.read_only_udm.metadata.log_type Se asigna directamente desde el campo log_type del registro sin procesar.
message event.idm.read_only_udm.metadata.description Se asigna directamente desde el campo message del registro JSON.
message_to_process event.idm.read_only_udm.metadata.description Se asigna directamente desde el campo message_to_process del registro sin procesar.
metadata.event_type event.idm.read_only_udm.metadata.event_type Se establece en "GENERIC_EVENT" inicialmente y, luego, se reemplaza según el service analizado o algún otro contenido del registro. Puede tener valores como PROCESS_LAUNCH, NETWORK_CONNECTION, USER_LOGIN, etcétera.
metadata.product_event_type event.idm.read_only_udm.metadata.product_event_type Se asigna directamente desde el campo process_id o prod_event_type del registro sin procesar.
metadata.product_log_id event.idm.read_only_udm.metadata.product_log_id Se asigna directamente desde el campo event_id del registro sin procesar.
metadata.product_name event.idm.read_only_udm.metadata.product_name Establece el valor en "ESX".
metadata.product_version event.idm.read_only_udm.metadata.product_version Se asigna directamente desde el campo version del registro JSON.
metadata.vendor_name event.idm.read_only_udm.metadata.vendor_name Establece en "VMWARE".
msg event.idm.read_only_udm.metadata.description Se asigna directamente desde el campo msg del registro sin procesar.
network.application_protocol event.idm.read_only_udm.network.application_protocol Se establece en "DNS" si el service es "named", "HTTPS" si el puerto es 443 o "HTTP" si el app_protocol coincide con "http".
network.direction event.idm.read_only_udm.network.direction Se determina a partir de palabras clave en el registro sin procesar, como "IN", "OUT", "->". Puede ser INBOUND o OUTBOUND.
network.http.method event.idm.read_only_udm.network.http.method Se asigna directamente desde el campo method del registro sin procesar.
network.http.parsed_user_agent event.idm.read_only_udm.network.http.parsed_user_agent Se analiza desde el campo useragent con el filtro convert.
network.http.referral_url event.idm.read_only_udm.network.http.referral_url Se asigna directamente desde el campo prin_url del registro sin procesar.
network.http.response_code event.idm.read_only_udm.network.http.response_code Se asigna directamente desde el campo status_code del registro sin procesar y se convierte en un número entero.
network.http.user_agent event.idm.read_only_udm.network.http.user_agent Se asigna directamente desde el campo useragent del registro sin procesar.
network.ip_protocol event.idm.read_only_udm.network.ip_protocol Se determina a partir de palabras clave en el registro sin procesar, como "TCP" o "UDP".
network.received_bytes event.idm.read_only_udm.network.received_bytes Se asigna directamente desde el campo rec_bytes del registro sin procesar y se convierte en un número entero sin firma.
network.sent_bytes event.idm.read_only_udm.network.sent_bytes Se extrae del campo message_to_process del registro sin procesar.
network.session_id event.idm.read_only_udm.network.session_id Se asigna directamente desde el campo session del registro sin procesar.
pid event.idm.read_only_udm.target.process.parent_process.pid Se asigna directamente desde el campo pid del registro sin procesar.
pid event.idm.read_only_udm.principal.process.pid Se asigna directamente desde el campo pid del registro JSON.
pid event.idm.read_only_udm.target.process.pid Se asigna directamente desde el campo pid del registro sin procesar.
port event.idm.read_only_udm.target.port Se asigna directamente desde el campo port del registro JSON.
principal.application event.idm.read_only_udm.principal.application Se asigna directamente desde el campo app_name o service del registro sin procesar.
principal.asset.hostname event.idm.read_only_udm.principal.asset.hostname Se asigna directamente desde el campo principal_hostname o iporhost del registro sin procesar.
principal.asset.ip event.idm.read_only_udm.principal.asset.ip Se asigna directamente desde el campo syslog_ip del registro sin procesar.
principal.hostname event.idm.read_only_udm.principal.hostname Se asigna directamente desde el campo principal_hostname o iporhost del registro sin procesar.
principal.ip event.idm.read_only_udm.principal.ip Se asigna directamente desde el campo iporhost o syslog_ip del registro sin procesar.
principal.port event.idm.read_only_udm.principal.port Se asigna directamente desde el campo srcport del registro sin procesar.
principal.process.command_line event.idm.read_only_udm.principal.process.command_line Se asigna directamente desde el campo cmd del registro sin procesar.
principal.process.parent_process.pid event.idm.read_only_udm.principal.process.parent_process.pid Se asigna directamente desde el campo parent_pid del registro sin procesar.
principal.process.pid event.idm.read_only_udm.principal.process.pid Se asigna directamente desde el campo process_id del registro sin procesar.
principal.process.product_specific_process_id event.idm.read_only_udm.principal.process.product_specific_process_id Se extrae del campo message_to_process del registro sin procesar, que suele tener el prefijo "opID:".
principal.url event.idm.read_only_udm.principal.url Se asigna directamente desde el campo prin_url del registro sin procesar.
principal.user.company_name event.idm.read_only_udm.principal.user.company_name Se asigna directamente desde el campo fields.company_name del registro JSON.
principal.user.userid event.idm.read_only_udm.principal.user.userid Se asigna directamente desde el campo USER del registro sin procesar.
priority event.idm.read_only_udm.metadata.product_event_type Se asigna directamente desde el campo priority del registro sin procesar.
program event.idm.read_only_udm.principal.application Se asigna directamente desde el campo program del registro JSON.
qname event.idm.read_only_udm.network.dns.questions.name Se asigna directamente desde el campo qname del registro sin procesar.
response_data event.idm.read_only_udm.network.dns.answers.data Se asigna directamente desde el campo response_data del registro sin procesar.
response_rtype event.idm.read_only_udm.network.dns.answers.type Se asigna directamente desde el campo response_rtype del registro sin procesar. Se extrae el tipo de registro DNS numérico.
response_ttl event.idm.read_only_udm.network.dns.answers.ttl Se asigna directamente desde el campo response_ttl del registro sin procesar.
rtype event.idm.read_only_udm.network.dns.questions.type Se asigna directamente desde el campo rtype del registro sin procesar. Se extrae el tipo de registro DNS numérico.
security_result.action event.idm.read_only_udm.security_result.action Se determina a partir de las palabras clave o el estado en el registro sin procesar. Puede ser ALLOW o BLOCK.
security_result.action_details event.idm.read_only_udm.security_result.action_details Se extrae del mensaje de registro sin procesar y proporciona más contexto sobre la acción realizada.
security_result.category event.idm.read_only_udm.security_result.category Se establece en POLICY_VIOLATION si el registro indica una coincidencia de regla de firewall.
security_result.description event.idm.read_only_udm.security_result.description Se extrae del mensaje de registro sin procesar y proporciona más contexto sobre el resultado de seguridad.
security_result.rule_id event.idm.read_only_udm.security_result.rule_id Se asigna directamente desde el campo rule_id del registro sin procesar.
security_result.severity event.idm.read_only_udm.security_result.severity Se determina a partir de palabras clave en el registro sin procesar, como "info", "warning" o "error". Puede ser INFORMATIONAL, LOW, MEDIUM o HIGH.
security_result.severity_details event.idm.read_only_udm.security_result.severity_details Se asigna directamente desde el campo severity o log.syslog.severity.name del registro sin procesar.
security_result.summary event.idm.read_only_udm.security_result.summary Se extrae del mensaje de registro sin procesar y proporciona un resumen conciso del resultado de seguridad.
service event.idm.read_only_udm.principal.application Se asigna directamente desde el campo service del registro sin procesar.
source event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Se asigna directamente desde el campo source del registro sin procesar.
src.file.full_path event.idm.read_only_udm.src.file.full_path Se extrae del mensaje de registro sin procesar.
src.hostname event.idm.read_only_udm.src.hostname Se asigna directamente desde el campo src.hostname del registro sin procesar.
src_ip event.idm.read_only_udm.principal.ip Se asigna directamente desde el campo src_ip del registro sin procesar.
src_mac_address event.idm.read_only_udm.principal.mac Se asigna directamente desde el campo src_mac_address del registro sin procesar.
srcport event.idm.read_only_udm.principal.port Se asigna directamente desde el campo srcport del registro sin procesar.
srcip event.idm.read_only_udm.principal.ip Se asigna directamente desde el campo srcip del registro sin procesar.
subtype event.idm.read_only_udm.metadata.event_type Se asigna directamente desde el campo subtype del registro sin procesar.
tags event.idm.read_only_udm.metadata.tags Se asigna directamente desde el campo tags del registro JSON.
target.application event.idm.read_only_udm.target.application Se asigna directamente desde el campo target_application del registro sin procesar.
target.file.full_path event.idm.read_only_udm.target.file.full_path Se extrae del mensaje de registro sin procesar.
target.hostname event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Se asigna directamente desde el campo target_hostname o iporhost del registro sin procesar.
target.ip event.idm.read_only_udm.target.ip Se asigna directamente desde el campo target_ip del registro sin procesar.
target.mac event.idm.read_only_udm.target.mac Se asigna directamente desde el campo target_mac_address del registro sin procesar.
target.port event.idm.read_only_udm.target.port Se asigna directamente desde el campo target_port del registro sin procesar.
target.process.command_line event.idm.read_only_udm.target.process.command_line Se asigna directamente desde el campo cmd del registro sin procesar.
target.process.parent_process.pid event.idm.read_only_udm.target.process.parent_process.pid Se asigna directamente desde el campo parent_pid del registro sin procesar.
target.process.pid event.idm.read_only_udm.target.process.pid Se asigna directamente desde el campo pid del registro sin procesar.
target.process.product_specific_process_id event.idm.read_only_udm.target.process.product_specific_process_id Se extrae del campo message_to_process del registro sin procesar, que suele tener el prefijo "opID:".
target.resource.name event.idm.read_only_udm.target.resource.name Se asigna directamente desde el campo adapter del registro sin procesar.
target.resource.resource_type event.idm.read_only_udm.target.resource.resource_type Se establece en VIRTUAL_MACHINE si el registro indica una operación de VM.
target.resource.type event.idm.read_only_udm.target.resource.type Se establece en SETTING si el registro indica una modificación de la configuración.
target.user.userid event.idm.read_only_udm.target.user.userid Se asigna directamente desde el campo target_username o user1 del registro sin procesar.
timestamp event.timestamp Se analiza y se convierte en un objeto de marca de tiempo a partir del campo timestamp o data del registro con el filtro date.
type event.idm.read_only_udm.additional.fields El campo type del registro se agrega al array additional_fields en el UDM con la clave "LogType".
user1 event.idm.read_only_udm.target.user.userid Se asigna directamente desde el campo user1 del registro sin procesar.
useragent event.idm.read_only_udm.network.http.user_agent Se asigna directamente desde el campo useragent del registro sin procesar.
vmw_cluster event.idm.read_only_udm.target.resource.name Se asigna directamente desde el campo vmw_cluster del registro sin procesar.
vmw_datacenter event.idm.read_only_udm.target.resource.name Se asigna directamente desde el campo vmw_datacenter del registro sin procesar.
vmw_host event.idm.read_only_udm.target.ip Se asigna directamente desde el campo vmw_host del registro sin procesar.
vmw_object_id event.idm.read_only_udm.target.resource.id Se asigna directamente desde el campo vmw_object_id del registro sin procesar.
vmw_product event.idm.read_only_udm.target.application Se asigna directamente desde el campo vmw_product del registro sin procesar.
vmw_vcenter event.idm.read_only_udm.target.cloud.availability_zone Se asigna directamente desde el campo vmw_vcenter del registro sin procesar.
vmw_vcenter_id event.idm.read_only_udm.target.cloud.availability_zone.id Se asigna directamente desde el campo vmw_vcenter_id del registro sin procesar.
vmw_vr_ops_appname event.idm.read_only_udm.target.application Se asigna directamente desde el campo vmw_vr_ops_appname del registro sin procesar.
vmw_vr_ops_clustername event.idm.read_only_udm.target.resource.name Se asigna directamente desde el campo vmw_vr_ops_clustername del registro sin procesar.
vmw_vr_ops_clusterrole event.idm.read_only_udm.target.resource.type Se asigna directamente desde el campo vmw_vr_ops_clusterrole del registro sin procesar.

Registro de cambios

Consulta el registro de cambios de este analizador

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