Recoger registros de la plataforma de servicios de archivos de Nasuni

Disponible en:

En este documento se explica cómo ingerir registros de la plataforma de servicios de archivos de Nasuni en Google Security Operations mediante un agente de Bindplane. El analizador extrae campos de los registros SYSLOG y JSON. Utiliza patrones grok para analizar el mensaje inicial y, a continuación, aprovecha un filtro JSON para los datos JSON insertados, asignando los campos extraídos al modelo de datos unificado, gestionando varios tipos de eventos (como lecturas de archivos, modificaciones y eventos genéricos) y enriqueciendo los datos con información del proveedor y del producto. También realiza una lógica condicional basada en los campos extraídos para categorizar eventos y rellenar metadatos de UDM.

Antes de empezar

  • Asegúrate de que tienes una instancia de Google SecOps.
  • Asegúrate de usar Windows 2016 o una versión 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.
  • Asegúrate de que tienes acceso con privilegios a Claroty CTD.

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

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: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: NASUNI_FILE_SERVICES
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Sustituye el puerto y la dirección IP según sea necesario en tu infraestructura.

  4. Sustituye <customer_id> por el ID de cliente real.

  5. 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 Syslog en la plataforma Nasuni File Service

  1. Inicia sesión en la interfaz de usuario web de Nasuni Console.
  2. Ve a Configuración de la consola > Exportaciones de Syslog.
  3. En la sección Red, introduce los siguientes detalles de configuración:
    • Nombre de host: introduzca un nombre único y descriptivo (por ejemplo, syslog de Google SecOps).
    • Dirección IP: introduce la dirección IP de Bindplane.
    • Puerto: introduce el número de puerto de configuración de Bindplane (por ejemplo, 514 para UDP).
    • Protocolo: selecciona UDP (también puedes seleccionar TCP, en función de tu configuración de Bindplane).
    • Formato: selecciona SYSLOG+JSON.
  4. Haz clic en Guardar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
application target.application Se rellena cuando el campo msg existe y no es JSON, y el campo application no está vacío.
event_type metadata.product_event_type Se asigna directamente desde el campo event_type del registro sin procesar.
gid target.group.product_object_id Se asigna directamente desde el campo gid del registro sin procesar y se convierte en una cadena.
groupname target.group.group_display_name Se asigna directamente desde el campo groupname del registro sin procesar.
host principal.hostname Se asigna directamente desde el campo host del registro sin procesar.
ipaddr principal.ip Se asigna directamente desde el campo ipaddr del registro sin procesar.
is_dir additional.fields.value.string_value (donde la clave es is_dir) Se asigna directamente desde el campo is_dir del registro sin procesar y se convierte en una cadena. Se ha añadido como campo adicional.
msg metadata.description Se rellena cuando el campo msg existe, no es JSON y no se extraen ipaddr ni prin_port de él. También se usa para eventos STATUS_UPDATE.
newpath additional.fields.value.string_value (donde la clave es newpath) Se asigna directamente desde el campo newpath del registro sin procesar. Se ha añadido como campo adicional.
offset additional.fields.value.string_value (donde la clave es offset) Se asigna directamente desde el campo offset del registro sin procesar y se convierte en una cadena. Se ha añadido como campo adicional.
path target.file.full_path Se asigna directamente desde el campo path del registro sin procesar.
pid target.process.pid Se asigna directamente desde el campo pid del registro sin procesar y se convierte en una cadena.
prin_port principal.port Se extrae del campo msg mediante grok cuando msg no es JSON y se convierte en un número entero.
proc_id principal.process.pid Se asigna directamente desde el campo proc_id del registro sin procesar.
product_log_id metadata.product_log_id Se asigna directamente desde el campo product_log_id del registro sin procesar.
proto metadata.description Se asigna directamente desde el campo proto del registro sin procesar.
resource target.resource.resource_subtype Se asigna directamente desde el campo resource del registro sin procesar.
sequence additional.fields.value.string_value (donde la clave es sequence) Se asigna directamente desde el campo sequence del registro sin procesar y se convierte en una cadena. Se ha añadido como campo adicional.
sid principal.user.windows_sid Se asigna directamente desde el campo sid del registro sin procesar.
tid target.resource.product_object_id Se asigna directamente desde el campo tid del registro sin procesar y se convierte en una cadena.
time metadata.event_timestamp.seconds, timestamp.seconds La parte de los segundos de la marca de tiempo se extrae del campo time y se usa para rellenar tanto metadata.event_timestamp como timestamp de nivel superior. Se determina mediante una lógica basada en los valores de ipaddr, path y event_type. Puede ser FILE_READ, FILE_MODIFICATION, FILE_UNCATEGORIZED, STATUS_UPDATE o GENERIC_EVENT. Valor fijo establecido en el código fuente NASUNI_FILE_SERVICES. Valor fijo establecido en el código fuente Nasuni File Services Platform. Valor fijo establecido en el código fuente Nasuni.
uid additional.fields.value.string_value (donde la clave es uid) Se asigna directamente desde el campo uid del registro sin procesar y se convierte en una cadena. Se ha añadido como campo adicional.
username principal.user.user_display_name Se asigna directamente desde el campo username del registro sin procesar.
volume additional.fields.value.string_value (donde la clave es volume) Se asigna directamente desde el campo volume del registro sin procesar. Se ha añadido como campo adicional.

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