Recopila registros de EPM de CyberArk

Compatible con:

Este código del analizador transforma los datos de registro de EPM de CyberArk en un modelo de datos unificado (UDM). Itera a través de cada evento del registro, asigna campos relevantes a sus campos de UDM correspondientes, controla estructuras de datos específicas, como "exposedUsers", y enriquece el resultado con información estática del proveedor y el producto.

Antes de comenzar

  • Asegúrate de tener una instancia de Google Security Operations.
  • Asegúrate de usar Windows 2016 o una versión posterior, o un host de Linux con systemd.
  • Si se ejecuta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.
  • Asegúrate de tener acceso con privilegios a la Consola de administración del servidor de EPM.

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

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recopilación.
  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 de 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 de 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 de 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 transferir Syslog y enviarlo a Google SecOps

  1. Accede a la máquina en la que está instalado 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: Cyberark_EPM
            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:

    sudo systemctl restart bindplane
    

Configura el reenvío de eventos de terceros en EPM

  1. Accede a la consola de administración del servidor de EPM.
  2. Ve a Configuración avanzada > Configuración del servidor.
  3. En la sección Objetos de escucha de eventos, busca el parámetro de configuración Objetos de escucha de terceros.
  4. Establece el valor en Activado para activar los objetos de escucha de terceros.
  5. Para configurar el objeto de escucha de Syslog, proporciona los siguientes detalles:
    • IP del servidor de Syslog: Ingresa la dirección IP del servidor de syslog (Bindplane).
    • Puerto de Syslog: Especifica el número de puerto del servidor de syslog (Bindplane).
    • Protocolo: Elige el protocolo configurado en el servidor de syslog (TCP o UDP).
    • Formato: Selecciona Syslog como el formato de los registros.
  6. Haz clic en Guardar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
agentId principal.asset.asset_id Concatena "agentId:" con el valor del campo agentId.
computerName principal.hostname Asigna directamente el campo computerName.
displayName metadata.description Asigna directamente el campo displayName.
eventType metadata.product_event_type Asigna directamente el campo eventType.
exposedUsers.[].accountName target.user.attribute.labels Crea una etiqueta con la clave "accountName_[index]" y el valor de exposedUsers.[index].accountName.
exposedUsers.[].domain target.user.attribute.labels Crea una etiqueta con la clave "domain_[index]" y el valor de exposedUsers.[index].domain.
exposedUsers.[].username target.user.attribute.labels Crea una etiqueta con la clave "username_[index]" y el valor de exposedUsers.[index].username.
filePath target.file.full_path Asigna directamente el campo filePath.
hash target.file.sha1 Asigna directamente el campo de hash.
operatingSystemType principal.platform Asigna "Windows" a "WINDOWS" si el campo operatingSystemType es "Windows".
policyName security_result.rule_name Asigna directamente el campo policyName.
processCommandLine target.process.command_line Asigna directamente el campo processCommandLine.
publicador additional.fields Crea un campo con la clave "Publisher" y el valor string_value del campo del publicador.
sourceProcessCommandLine target.process.parent_process.command_line Asigna directamente el campo sourceProcessCommandLine.
sourceProcessHash target.process.parent_process.file.sha1 Asigna directamente el campo sourceProcessHash.
sourceProcessSigner additional.fields Crea un campo con la clave "sourceProcessSigner" y el valor de cadena del campo sourceProcessSigner.
threatProtectionAction security_result.action_details Asigna directamente el campo threatProtectionAction.
metadata.event_timestamp Establece la marca de tiempo del evento en el atributo create_time de la entrada de registro.
metadata.event_type Está codificado de forma fija en "STATUS_UPDATE".
metadata.log_type Está codificado de forma fija en "CYBERARK_EPM".
metadata.product_name Se codifica de forma fija en "EPM".
metadata.vendor_name Se codifica de forma fija en "CYBERARK".
security_result.alert_state Se codifica de forma fija en "ALERTING".
userName principal.user.userid Asigna directamente el campo userName.

Cambios

2023-08-22

  • Analizador creado recientemente