Recoger registros de Nutanix Prism

Disponible en:

Información general

Este analizador procesa los registros de Nutanix Prism y gestiona los formatos JSON y syslog. Extrae campos de varias estructuras de registro, los normaliza en UDM y enriquece los datos con contexto adicional, como información de usuario, detalles de la red y gravedad de la seguridad. El analizador también realiza acciones específicas en función del método HTTP y del nivel de registro, clasificando los eventos en tipos de eventos de UDM, como USER_LOGIN, STATUS_UPDATE y GENERIC_EVENT.

Antes de empezar

  • Asegúrate de que tienes una instancia de Google SecOps.
  • Asegúrate de que tienes acceso con privilegios a Nutanix Prism Central.
  • Asegúrate de tener un host Windows 2012 SP2 o posterior, o un host Linux con systemd.
  • Si se ejecuta a través de un proxy, asegúrate de que los puertos del cortafuegos estén abiertos.

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.

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

  1. Para instalar en Windows, ejecuta la siguiente secuencia de comandos: msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet.
  2. Para instalar Linux, ejecuta la siguiente secuencia de comandos: sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh.
  3. Puedes consultar otras opciones de instalación en esta guía de instalación.

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

  1. Accede al equipo en el que está instalado el agente de Bindplane.
  2. Edita el archivo config.yaml de la siguiente manera:

    receivers:
      tcplog:
        # Replace the below port <54525> and IP (0.0.0.0) with your specific values
        listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: Namespace
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Reinicia el agente de Bindplane para aplicar los cambios con el siguiente comando: sudo systemctl bindplane restart

Exportar Syslog desde Nutanix Prism

  1. Inicia sesión en Prism Central con una cuenta con privilegios.
  2. En el menú, selecciona Prism Central Settings (Configuración de Prism Central).
  3. Ve a Servidor Syslog.
  4. Haz clic en + Configurar servidor Syslog.
  5. Especifica los valores de los parámetros de entrada en el cuadro de diálogo Servidores Syslog:
    • Nombre del servidor: introduce un nombre para el servidor (por ejemplo, Servidor Bindplane de Google SecOps).
    • Dirección IP: introduce la IP de tu agente de Bindplane.
    • Puerto: introduce el puerto en el que escucha el agente de BindPlane.
    • Protocolo de transporte: selecciona TCP.
    • Haz clic en Configurar.
  6. Haga clic en + Editar en la opción Fuentes de datos.
  7. Especifica los valores de los parámetros de entrada en el cuadro de diálogo Fuentes de datos y nivel de gravedad correspondiente:
    • Selecciona API Audit (Auditoría de APIs), Audit (Auditoría) y Flow (Flujo).
    • Establece el nivel de gravedad de cada uno en 6 - Informativo.
    • Haz clic en Guardar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
@timestamp metadata.event_timestamp La marca de tiempo del evento se analiza a partir del campo @timestamp. Se admiten los formatos yyyy-MM-dd HH:mm:ss.SSS, yyyy-MM-ddTHH:mm:ssZ y ISO8601.
agent.id observer.asset_id Se combina con agent.type para formar el ID del recurso de observador con el formato "agent.type:agent.id".
agent.type observer.application La aplicación usada para la observación.
agent.version observer.platform_version La versión de la aplicación observadora.
alertUid security_result.detection_fields.value El valor del UID de la alerta se asigna al campo value de detection_fields. El key tiene el valor "Alert Uid".
api_version metadata.product_version La versión de la API.
clientIp principal.ip, principal.asset.ip Dirección IP del cliente.
client_type principal.labels.value Valor del tipo de cliente. El key se define como "client_type".
defaultMsg metadata.description El mensaje predeterminado.
entity_uuid metadata.product_log_id UUID de la entidad.
http_method network.http.method El método HTTP. Se ha convertido a mayúsculas.
host.architecture principal.asset.hardware.cpu_platform La arquitectura del host.
host.id principal.asset_id Tiene el prefijo "NUTANIX:" para crear el ID de recurso principal.
host.ip principal.ip, principal.asset.ip Dirección IP del host.
host.mac principal.mac Dirección MAC del host.
host.os.kernel principal.platform_patch_level Versión del kernel del sistema operativo del host.
host.os.platform principal.platform Plataforma del sistema operativo del host. Asignado a LINUX, WINDOWS, MAC o UNKNOWN_PLATFORM.
host.os.version principal.platform_version Versión del sistema operativo del host.
input.type network.ip_protocol El protocolo de red. Asignado a "UDP" o "TCP".
log.source.address principal.ip, principal.asset.ip, principal.port Se analiza para extraer la IP y el puerto de origen.
logstash.collect.host observer.ip La dirección IP del recopilador de Logstash.
logstash.collect.timestamp metadata.collected_timestamp Marca de tiempo de cuándo se recogió el registro.
logstash.ingest.host intermediary.hostname Nombre de host del servidor de ingestión de Logstash.
logstash.ingest.timestamp metadata.ingested_timestamp Marca de tiempo de cuándo se ingirió el registro.
logstash.irm_environment principal.labels.value Valor del entorno de irm. El valor de key es "irm_environment".
logstash.irm_region principal.labels.value Valor de la región de irm. El valor de key es "irm_region".
logstash.irm_site principal.labels.value El valor del sitio de gestión de derechos de información. El valor de key es "irm_site".
logstash.process.host intermediary.hostname Nombre de host del servidor de procesamiento de Logstash.
operationType metadata.product_event_type El tipo de operación.
originatingClusterUuid additional.fields.value.string_value UUID del clúster de origen. El valor de key es "Uuid del clúster de origen".
params.mac_address target.mac La dirección MAC de los parámetros.
params.requested_ip_address target.ip, target.asset.ip Dirección IP solicitada de los parámetros.
params.vm_name target.resource.name El nombre de la VM de los parámetros.
program metadata.product_event_type El nombre del programa.
rest_endpoint target.url El endpoint REST.
sessionId additional.fields.value.string_value El ID de sesión. El valor de key es "ID de sesión".
syslog_host principal.hostname, principal.asset.hostname Host de syslog.
timestamp metadata.event_timestamp Marca de tiempo del evento.
username principal.user.user_display_name o principal.user.userid Nombre de usuario. Se usa como ID de usuario si http_method es "POST".
uuid metadata.product_log_id UUID.
N/A metadata.vendor_name Codificado como "Nutanix_Prism".
N/A metadata.product_name Codificado como "Nutanix_Prism".
N/A metadata.event_type Determinado por la lógica del analizador en función de los valores de has_principal, has_target, audit_log, network_set y http_method. Puede ser GENERIC_EVENT, USER_LOGIN, STATUS_UPDATE, USER_RESOURCE_ACCESS, RESOURCE_CREATION, USER_RESOURCE_UPDATE_CONTENT o USER_RESOURCE_DELETION.
N/A metadata.log_type Codificado como "NUTANIX_PRISM".
N/A extensions.auth.type Se define como "AUTHTYPE_UNSPECIFIED" si metadata.event_type es USER_LOGIN.
N/A security_result.severity Determinado por la lógica del analizador en función de log_level y syslog_pri. Puede ser CRITICAL, ERROR, HIGH, MEDIUM o INFORMATIONAL.

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.