Recopila registros de EPM de CyberArk
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
- Accede a la consola de Google SecOps.
- Ve a Configuración de SIEM > Agentes de recopilación.
- Descarga el archivo de autenticación de transferencia.
Obtén el ID de cliente de Google SecOps
- Accede a la consola de Google SecOps.
- Ve a Configuración de SIEM > Perfil.
- Copia y guarda el ID de cliente de la sección Detalles de la organización.
Instala el agente de BindPlane
- 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
- 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
- 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
- Accede a la máquina en la que está instalado BindPlane.
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
Reinicia el agente de BindPlane para aplicar los cambios:
sudo systemctl restart bindplane
Configura el reenvío de eventos de terceros en EPM
- Accede a la consola de administración del servidor de EPM.
- Ve a Configuración avanzada > Configuración del servidor.
- En la sección Objetos de escucha de eventos, busca el parámetro de configuración Objetos de escucha de terceros.
- Establece el valor en Activado para activar los objetos de escucha de terceros.
- 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.
- 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