Recopila registros de Nutanix Prism

Compatible con:

Descripción general

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

Antes de comenzar

  • Asegúrate de tener una instancia de Google SecOps.
  • Asegúrate de tener acceso con privilegios a Nutanix Prism Central.
  • Asegúrate de tener un host de Windows 2012 SP2 o posterior, o bien un host de Linux con systemd.
  • Si ejecutas la herramienta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.

Obtén el archivo de autenticación de transferencia de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a SIEM Settings > Collection Agents.
  3. Descarga el archivo de autenticación de transferencia.

Obtén el ID de cliente de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración del SIEM > Perfil.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Instala el agente de BindPlane

  1. Para la instalación 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 la instalación en 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 encontrar opciones de instalación adicionales en esta guía de instalación.

Configura el agente de Bindplane para que ingiera Syslog y lo envíe a Google SecOps

  1. Accede a la máquina en la 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

Exporta Syslog desde Nutanix Prism

  1. Accede a Prism Central con una cuenta con privilegios.
  2. Selecciona Configuración de Prism Central en el menú.
  3. Ve a Servidor Syslog.
  4. Haz clic en + Configurar servidor Syslog.
  5. Especifica valores para los parámetros de entrada en el diálogo Servidores Syslog:
    • Nombre del servidor: Ingresa un nombre para el servidor (por ejemplo, Servidor de Bindplane de Google SecOps).
    • Dirección IP: Ingresa la IP de tu agente de Bindplane.
    • Puerto: Ingresa el puerto en el que escucha el agente de Bindplane.
    • Protocolo de transporte: Selecciona TCP.
    • Haz clic en Configurar.
  6. Haz clic en + Editar en la opción Fuentes de datos.
  7. Especifica los valores de los parámetros de entrada en el diálogo Data Sources and Respective Severity Level:
    • Selecciona API Audit, Audit y Flow.
    • 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 en el formato "agent.type:agent.id".
agent.type observer.application Es la aplicación que se usa para la observación.
agent.version observer.platform_version Es la versión de la aplicación de observador.
alertUid security_result.detection_fields.value El valor del UID de la alerta se asigna al campo value dentro de detection_fields. El key se establece en "Alert Uid".
api_version metadata.product_version Es la versión de la API.
clientIp principal.ip, principal.asset.ip Dirección IP del cliente.
client_type principal.labels.value Es el valor del tipo de cliente. El parámetro key se establece en "client_type".
defaultMsg metadata.description Es el mensaje predeterminado.
entity_uuid metadata.product_log_id Es el UUID de la entidad.
http_method network.http.method Es el método HTTP. Se convirtió a mayúsculas.
host.architecture principal.asset.hardware.cpu_platform Es la arquitectura del host.
host.id principal.asset_id Se le agrega el prefijo "NUTANIX:" para crear el ID del activo 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 Es la versión del kernel del sistema operativo host.
host.os.platform principal.platform Es la plataforma del sistema operativo host. Se asigna a LINUX, WINDOWS, MAC o UNKNOWN_PLATFORM.
host.os.version principal.platform_version Es la versión del sistema operativo del host.
input.type network.ip_protocol Es el protocolo de red. Se asigna a "UDP" o "TCP".
log.source.address principal.ip, principal.asset.ip, principal.port Se analizó para extraer la IP y el puerto de origen.
logstash.collect.host observer.ip Es la dirección IP del recopilador de Logstash.
logstash.collect.timestamp metadata.collected_timestamp Es la marca de tiempo del momento en que se recopiló el registro.
logstash.ingest.host intermediary.hostname Es el nombre de host del servidor de transferencia de Logstash.
logstash.ingest.timestamp metadata.ingested_timestamp Es la marca de tiempo del momento en que se transfirió el registro.
logstash.irm_environment principal.labels.value Es el valor del entorno de la administración de derechos de Internet. El valor de key se establece en "irm_environment".
logstash.irm_region principal.labels.value Es el valor de la región del DRM. El valor de key se establece en "irm_region".
logstash.irm_site principal.labels.value Es el valor del sitio de la IRM. El valor de key se establece en "irm_site".
logstash.process.host intermediary.hostname Es el 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 Es el UUID del clúster de origen. El key se establece en "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 Es la dirección IP solicitada en los parámetros.
params.vm_name target.resource.name Nombre de la VM que se obtiene de los parámetros.
program metadata.product_event_type Es el nombre del programa.
rest_endpoint target.url Es el extremo de REST.
sessionId additional.fields.value.string_value Es el ID de sesión. El parámetro key se establece en "ID de sesión".
syslog_host principal.hostname, principal.asset.hostname Es el host de Syslog.
timestamp metadata.event_timestamp Es la 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 Es el UUID.
N/A metadata.vendor_name Se codificó de forma rígida como "Nutanix_Prism".
N/A metadata.product_name Se codificó de forma rígida como "Nutanix_Prism".
N/A metadata.event_type Se determina según 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 Se codifica de forma rígida como "NUTANIX_PRISM".
N/A extensions.auth.type Se establece en "AUTHTYPE_UNSPECIFIED" si metadata.event_type es USER_LOGIN.
N/A security_result.severity Se determina según 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? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.