Recoger registros de Dell EMC Data Domain

Disponible en:

En este documento se explica cómo ingerir registros de Dell EMC Data Domain en Google Security Operations mediante Bindplane. El código del analizador de Logstash primero extrae los campos clave de los registros sin procesar de DELL_EMC_DATA_DOMAIN mediante patrones grok basados en el formato del mensaje de registro. A continuación, asigna los campos extraídos a los campos correspondientes del esquema del modelo de datos unificado (UDM) y enriquece los datos con contexto adicional, como el tipo de evento y el resultado de seguridad.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Windows 2016 o versiones posteriores, o un host Linux con systemd
  • Si se ejecuta a través de un proxy, los puertos del cortafuegos están abiertos
  • Acceso privilegiado a Dell EMC Data Domain

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

Instala el agente Bindplane en tu sistema operativo Windows o Linux siguiendo las instrucciones que se indican a continuación.

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

Para ver más opciones de instalación, consulta la guía de instalación.

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

  1. Accede al archivo de configuración:
    • 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.
    • 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_file_path: '/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: 'DELL_EMC_DATA_DOMAIN'
                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 donde 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 para Dell EMC Data Domain

  1. Inicia sesión en Dell EMC Data Domain mediante la CLI.
  2. Para mostrar la configuración actual, haz lo siguiente:

    log host show
    
  3. Habilita el envío de mensajes de registro a otros sistemas:

    log host enable
    
  4. Añade la IP del agente de Bindplane a syslog con el siguiente comando. Sustituye <bindplane-ip> por la dirección IP del agente de Bindplane.

    log host add <bindplane-ip>
    
  5. Añade el puerto del agente de Bindplane al syslog con el siguiente comando. Sustituye <bindplane-port> por el número de puerto del agente de Bindplane.

    log server-port set <bindplane-port>
    

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
aplicación read_only_udm.target.application El valor se toma del campo "app" extraído por el primer analizador grok.
cmd read_only_udm.target.process.command_line El valor se toma del campo "cmd" extraído por el primer analizador grok o del campo "detail" si el campo "cmd" está vacío.
descendente read_only_udm.metadata.description El valor se toma del campo "desc" extraído por el primer analizador grok.
Época read_only_udm.metadata.event_timestamp.seconds El valor se toma del campo "epoch" y se convierte en una marca de tiempo mediante el filtro "date".
host read_only_udm.principal.hostname El valor se toma del campo "host" extraído por el primer analizador grok.
id read_only_udm.metadata.product_event_type El valor se toma del campo "id" extraído por el primer analizador grok.
pid read_only_udm.target.process.pid El valor se toma del campo "pid" extraído por el primer analizador grok.
reason read_only_udm.security_result.description El valor se toma del campo "reason" extraído por el primer analizador grok.
role read_only_udm.principal.user.attribute.roles.name El valor se toma del campo "role" extraído por el primer analizador grok.
session_id read_only_udm.network.session_id El valor se toma del campo "session_id" extraído por el primer analizador grok.
src_ip read_only_udm.principal.ip El valor se toma del campo "src_ip" extraído por el segundo analizador grok.
src_port read_only_udm.principal.port El valor se toma del campo "src_port" extraído por el segundo analizador grok y se convierte en un entero.
timestamp.nanos read_only_udm.metadata.event_timestamp.nanos El valor se toma del campo "timestamp.nanos" del registro sin procesar.
timestamp.seconds read_only_udm.metadata.event_timestamp.seconds El valor se toma del campo "timestamp.seconds" del registro sin procesar.
usuario read_only_udm.target.user.userid El valor se toma del campo "user" extraído por el primer o el segundo analizador grok.
read_only_udm.extensions.auth.mechanism El valor se asigna a "USERNAME_PASSWORD" si el campo "desc" coincide con patrones específicos relacionados con eventos de inicio o cierre de sesión de usuario.
read_only_udm.metadata.event_type El valor se determina mediante una serie de instrucciones condicionales basadas en los valores de otros campos, principalmente "desc", "src_ip" y "host".
read_only_udm.metadata.log_type Codificado como "DELL_EMC_DATA_DOMAIN".
read_only_udm.metadata.product_name Codificado como "DELL_EMC_DATA_DOMAIN".
read_only_udm.metadata.vendor_name Codificado como "DELL".
read_only_udm.network.http.method El valor se toma del campo "method" extraído por el filtro KV.
read_only_udm.network.http.response_code El valor se toma del campo "response_code" extraído por el filtro de clave-valor y se convierte en un número entero.
read_only_udm.network.ip_protocol El valor se deriva del campo "protocol_number_src" mediante una tabla de consulta y la configuración "parse_ip_protocol.include".
read_only_udm.security_result.severity El valor se define como "MEDIUM" si el campo "message" contiene la cadena "NOTICE".
read_only_udm.target.file.sha256 El valor se toma del campo "sha256" extraído por el segundo analizador grok, se convierte a minúsculas y se valida como una cadena hexadecimal.
read_only_udm.target.process.file.full_path El valor se toma del campo "path" o "file", en función de cuál no esté vacío.
read_only_udm.target.url El valor se toma del campo "uri" extraído por el filtro de clave-valor.

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