Recopila registros de CyberArk Privilege Cloud

Compatible con:

En este documento, se explica cómo transferir registros de CyberArk Privilege Cloud a Google Security Operations con Bindplane. El código del analizador transforma los registros de su formato sin procesar SYSLOG + KV al formato del modelo de datos unificado (UDM) de Google SecOps. Primero, extrae campos de mensajes con formato CEF usando patrones de Grok y el análisis de clave-valor. Luego, asigna esos campos y otros a sus campos correspondientes del UDM, lo que enriquece los datos con valores estandarizados para el proveedor, el producto y la gravedad.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Windows 2016 o versiones posteriores, o un host de Linux con systemd
  • Si se ejecuta detrás de un proxy, los puertos de firewall están abiertos.
  • Acceso con privilegios a CyberArk Privilege Cloud

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. Guarda el archivo de forma segura en el sistema en el que se instalará BindPlane.

Obtén el ID de cliente de Google SecOps

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

Instala el agente de BindPlane

Instala el agente de Bindplane en tu sistema operativo Windows o Linux según las siguientes instrucciones.

Instalación en Windows

  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 en Linux

  1. Abre una terminal con privilegios de raíz 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 obtener más opciones de instalación, consulta la guía de instalación.

Configura el agente de BindPlane para transferir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:
    • Ubica el archivo config.yaml. Por lo general, 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:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:6514"
    
    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
            log_type: 'CYBERARK_PRIVILEGE_CLOUD'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    

Reinicia el agente de Bindplane para aplicar los cambios

  1. Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:

    sudo systemctl restart bindplane-agent
    
  2. Para reiniciar el agente de Bindplane en Windows, puedes usar la consola de Servicios o ingresar el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Instala Secure Tunnel

  1. Asegúrate de que tu ID de máquina sea único, incluso cuando las máquinas se implementen en varios dominios.
  2. Descarga el paquete de software de Privilege Cloud desde Implementa el conector de Privilege Cloud (estándar), copia el archivo ZIP de Secure Tunnel y descomprímelo.
  3. Ejecuta la instalación desde la carpeta descomprimida.
  4. En la página Select Installation Folder, ingresa la ubicación de la carpeta de instalación y haz clic en Next.
  5. En la página Listo para instalar, haz clic en Instalar.
  6. Cuando finalice la instalación, haz clic en Finish para iniciar la herramienta de configuración.

Configura Secure Tunnel

  1. En la página Authenticate to Privilege Cloud, ingresa los siguientes detalles y, luego, haz clic en Next:
    • Subdominio o ID de cliente: El subdominio es el identificador de tu sistema en la dirección del sistema, como se muestra en el FQDN del portal de Privilege Cloud: https://<subdomain>.Privilegecloud.cyberark.com. Ingresa solo el identificador <subdomain>, no la URL completa. Como alternativa, usa el ID de cliente que te proporcionó CyberArk.
    • Nombre de usuario y contraseña: Ingresa las credenciales que te proporcionó el equipo de asistencia de CyberArk.
  2. En la página Configure on-premise components, agrega los componentes que deseas conectar a través del túnel seguro y haz clic en Configure Components.
  3. Proporciona los siguientes detalles de configuración:
    • Component Type: Selecciona SIEM.
    • Dirección de host: Ingresa la dirección de host del agente de Bindplane (el componente SIEM debe incluir un nombre de host).
    • Puerto de destino: Ingresa el número de puerto del agente de Bindplane.
    • Puerto remoto: Es el puerto que usa CyberArk para interactuar con tu túnel seguro (el equipo de asistencia al cliente de CyberArk te proporciona el puerto remoto, que suele ser 1468).
    • Haz clic en Avanzado para mostrar esta columna.
    • Acceso a través de túneles seguros: Puedes configurar a qué túneles seguros accederán tus servidores, incluso si estos túneles seguros se ejecutan en una máquina diferente.
  4. Haz clic en Configurar componentes > Cerrar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
actúa security_result.action_details Se asigna directamente desde el campo act en el registro sin procesar.
app network.application_protocol Se asigna desde el campo app en el registro sin procesar y se transforma con la lógica en parse_app_protocol.include.
cn1 additional.fields.value.string_value Se asigna directamente desde el campo cn1 en el registro sin procesar.
cn1Label additional.fields.key Se asigna directamente desde el campo cn1Label en el registro sin procesar.
cn2 additional.fields.value.string_value Se asigna directamente desde el campo cn2 en el registro sin procesar.
cn2Label additional.fields.key Se asigna directamente desde el campo cn2Label en el registro sin procesar.
cs1 additional.fields.value.string_value Se asigna directamente desde el campo cs1 en el registro sin procesar.
cs1Label additional.fields.key Se asigna directamente desde el campo cs1Label en el registro sin procesar.
cs2 additional.fields.value.string_value Se asigna directamente desde el campo cs2 en el registro sin procesar.
cs2Label additional.fields.key Se asigna directamente desde el campo cs2Label en el registro sin procesar.
cs3 additional.fields.value.string_value Se asigna directamente desde el campo cs3 en el registro sin procesar.
cs3Label additional.fields.key Se asigna directamente desde el campo cs3Label en el registro sin procesar.
cs4 additional.fields.value.string_value Se asigna directamente desde el campo cs4 en el registro sin procesar.
cs4Label additional.fields.key Se asigna directamente desde el campo cs4Label en el registro sin procesar.
cs5 additional.fields.value.string_value Se asigna directamente desde el campo cs5 en el registro sin procesar.
cs5Label additional.fields.key Se asigna directamente desde el campo cs5Label en el registro sin procesar.
device_event_class_id metadata.product_event_type Se asigna directamente desde el campo device_event_class_id en el registro sin procesar.
device_version metadata.product_version Se asigna directamente desde el campo device_version en el registro sin procesar.
dhost target.hostname Se asigna directamente desde el campo dhost en el registro sin procesar.
duser target.user.user_display_name Se asigna directamente desde el campo duser en el registro sin procesar.
dvc about.ip Se asigna directamente desde el campo dvc en el registro sin procesar.
event_name metadata.product_event_type Se asigna directamente desde el campo event_name en el registro sin procesar.
externalId metadata.product_log_id Se asigna directamente desde el campo externalId en el registro sin procesar.
fname additional.fields.value.string_value Se asigna directamente desde el campo fname en el registro sin procesar.
msg metadata.description Se asigna directamente desde el campo msg en el registro sin procesar.
Reason security_result.summary Se asigna directamente desde el campo reason en el registro sin procesar.
gravedad, security_result.severity Se asigna desde el campo severity en el registro sin procesar y se transforma en "LOW", "MEDIUM", "HIGH" o "CRITICAL" según su valor.
shost principal.ip Se asigna directamente desde el campo shost en el registro sin procesar.
suser principal.user.user_display_name Se asigna directamente desde el campo suser en el registro sin procesar.
hora metadata.event_timestamp.seconds Se asigna directamente desde el campo time en el registro sin procesar después de analizarse y convertirse en una marca de tiempo.
metadata.event_type Se establece en "USER_UNCATEGORIZED" si suser está presente y duser no lo está. De lo contrario, se establece como "GENERIC_EVENT".
metadata.log_type Se debe establecer en "CYBERARK_PRIVILEGE_CLOUD".
metadata.product_name Se debe establecer en "CYBERARK_PRIVILEGE_CLOUD".
principal.asset.hostname Valor tomado de los campos shost o dvc, si contienen un nombre de host.
principal.asset.ip Valor tomado de los campos shost o dvc, si contienen una dirección IP.
principal.hostname Valor tomado de los campos shost o dvc, si contienen un nombre de host.
target.asset.hostname Valor tomado del campo dhost, si contiene un nombre de host.
additional.fields.key La clave de los campos adicionales se determina según el campo de etiqueta correspondiente (p.ej., cn1Label para cn1).

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.