Recopila registros de CyberArk Privilege Cloud

Versión del analizador: 14.0

Compatible con:

En este documento, se explica cómo transferir registros de CyberArk Privilege Cloud a Google Security Operations con Bindplane. CyberArk Privilege Cloud es una solución de administración de acceso privilegiado basada en SaaS que protege, administra y supervisa las credenciales con privilegios en la nube. Proporciona rotación automatizada de credenciales, aislamiento y grabación de sesiones, aprovisionamiento de acceso justo a tiempo y registro de auditoría integral para las actividades de cuentas con privilegios en entornos híbridos y de múltiples nubes.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Una instancia de Google SecOps
  • Un host de Windows 2016 o posterior, o Linux con systemd
  • Si se ejecuta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos según los requisitos del agente de Bindplane.
  • Acceso privilegiado al portal de administración de CyberArk Privilege Cloud con permisos de administrador de Vault.
  • Un certificado TLS válido para el host del agente de Bindplane (obligatorio para syslog sobre TLS en el puerto 6514).

Obtén credenciales de Google SecOps para el agente de Bindplane

Para autenticar el agente de Bindplane en Google SecOps, elige uno de los siguientes métodos:

  • Implementaciones nuevas: Usa la API de Chronicle (opción 1).
  • Implementaciones heredadas: Sigue usando el archivo de autenticación de transferencia (opción 2) hasta que se descontinúe la API de Ingestion el 20 de julio de 2027.
  1. Accede a la consola deGoogle Cloud y selecciona el proyecto de Google Cloud que está vinculado a tu instancia de Google SecOps.
  2. Ve a IAM y administración > Cuentas de servicio.
  3. Haga clic en Crear cuenta de servicio.
  4. Proporciona los siguientes detalles de configuración:
    • Nombre de la cuenta de servicio: Ingresa un nombre para la cuenta (por ejemplo, bindplane-ingest).
    • Descripción de la cuenta de servicio: Ingresa una descripción (por ejemplo, Bindplane agent log ingestion).
  5. Haz clic en Crear y continuar.
  6. En la sección Otorga a esta cuenta de servicio acceso al proyecto, haz clic en Seleccionar un rol y elige Editor de Chronicle.
  7. Haz clic en Continuar y, luego, en Listo.
  8. Haz clic en la cuenta de servicio que creaste y, luego, ve a la pestaña Claves.
  9. Haz clic en Agregar clave > Crear clave nueva.
  10. Selecciona JSON y haz clic en Crear. El archivo de claves se descargará en tu computadora.
  11. Guarda el archivo de claves como ingestion-auth.json en el directorio del recopilador de Bindplane (/opt/observiq-otel-collector/ingestion-auth.json en Linux o C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json en Windows) o actualiza creds_file_path en config.yaml para que coincida con la ruta de acceso en la que lo guardas.
  12. Ve a IAM y administración > Configuración y copia el Número de proyecto. Lo necesitarás para la configuración del exportador.

Opción 2: Descarga el archivo de autenticación de transferencia (heredado)

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración > Administración de datos > Agentes de recopilación. Si estás en una plataforma solo de SIEM, ve a Configuración > Agentes de recopilación.
  3. Descarga el archivo de autenticación de transferencia.
  4. Guarda el archivo de forma segura en el sistema en el que se instalará el agente de Bindplane.

Obtén el ID de cliente de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración > Administración > Perfil. Si estás en una plataforma solo de SIEM, ve a Configuración > Perfil.
  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 comando siguiente:

    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 comando siguiente:

    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 conocer otras opciones de instalación, consulta esta 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 /opt/observiq-otel-collector/ en Linux o en el directorio de instalación en Windows.
    • Abre el archivo con un editor de texto (por ejemplo, nano, vi o el 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"
            tls:
                cert_file: '/path/to/server.crt'
                key_file: '/path/to/server.key'
    
    exporters:
        chronicle/chronicle_w_labels:
            protocol: https
            # Region of your instance, for example us, europe, asia-southeast1
            location: <LOCATION>
            # Project number of the Google Cloud project linked to the instance
            project: '<PROJECT_NUMBER>'
            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: <PLACEHOLDER_CUSTOMER_ID>
            endpoint: chronicle.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
    
  • Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.
  • Reemplaza <LOCATION> por la región de tu instancia de Google SecOps (por ejemplo, us, europe o asia-southeast1). El exportador antepone chronicle.googleapis.com con este valor.
  • Reemplaza <PROJECT_NUMBER> por el número de proyecto de IAM y administración > Configuración.
  • Reemplaza <PLACEHOLDER_CUSTOMER_ID> por el ID de cliente real.
  • Actualiza /path/to/ingestion-authentication-file.json a la ruta de acceso del archivo en la que se guardó el archivo de claves de la cuenta de servicio (opción 1) en la sección Obtén credenciales de Google SecOps para el agente de Bindplane.
  • Actualiza /path/to/server.crt y /path/to/server.key con las rutas de acceso reales a tus archivos de certificado y clave de TLS.

Configuración sin TLS (solo TCP)

  • Si tu arquitectura de red incluye un proxy de finalización de TLS entre CyberArk Privilege Cloud y el agente de Bindplane, puedes usar TCP sin formato:

    receivers:
        tcplog:
            listen_address: "0.0.0.0:514"
    

Exportador de la API de transferencia heredada

  • Si usas el archivo de autenticación de transferencia de la opción 2, reemplaza el bloque exporters por lo siguiente. Establece creds_file_path en la ruta de acceso al archivo de autenticación de transferencia y, si tu instancia está fuera de EE.UU., reemplaza malachiteingestion-pa.googleapis.com por tu extremo regional (por ejemplo, europe-malachiteingestion-pa.googleapis.com).

    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: <PLACEHOLDER_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:
    

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 observiq-otel-collector
    
  2. Para reiniciar el agente de Bindplane en Windows, puedes usar la consola de Servicios o ingresar el siguiente comando:

    net stop observiq-otel-collector && net start observiq-otel-collector
    

Configura el reenvío de syslog de CyberArk Privilege Cloud

Configura la integración de SIEM en Privilege Cloud

  1. Accede al portal de administración de CyberArk Privilege Cloud.
  2. Ve a Administration > Configuration Options > Options > SIEM Integration.
  3. Selecciona Habilitar la integración de SIEM para activar el reenvío de syslog.
  4. Proporciona los siguientes detalles de configuración:

    • Tipo de SIEM: Selecciona Syslog.
    • Dirección del servidor de Syslog: Ingresa la dirección IP o el FQDN del host del agente de Bindplane (por ejemplo, syslog.example.com).
    • Puerto del Servidor Syslog: Ingresa 6514.
    • Protocolo: Selecciona TLS.
    • Formato: Selecciona CEF (formato de evento común).
  5. En la sección Tipos de eventos, selecciona las categorías de eventos que quieres reenviar:

    • Auditoría de Vault: Eventos de acceso a Vault y recuperación de credenciales.
    • Auditoría de sesiones: Eventos de supervisión de sesiones privilegiadas.
    • Administración de cajas de seguridad: Eventos de creación, modificación y eliminación de cajas de seguridad.
    • Administración de usuarios: Aprovisionamiento de usuarios y cambios de permisos.
    • Cambios en las políticas: Eventos de modificación de la plataforma y las políticas.
  6. Haz clic en Guardar.

Verifica la conexión TLS

  1. Verifica que el agente de Bindplane esté escuchando en el puerto 6514:

    sudo ss -tlnp | grep 6514
    
  2. Para verificar que se reciban los registros, revisa los registros del agente de Bindplane:

    sudo journalctl -u observiq-otel-collector -f
    
  3. Si no se reciben registros, verifica lo siguiente:

    • Se puede acceder al host del agente de Bindplane desde Internet (CyberArk Privilege Cloud es un servicio de SaaS).
    • Las reglas de firewall permiten conexiones TCP entrantes en el puerto 6514.
    • El certificado TLS es válido y no venció.
    • El CN o SAN del certificado TLS coincide con el nombre de host configurado en CyberArk Privilege Cloud.

Para obtener más información sobre la integración de SIEM de CyberArk Privilege Cloud, consulta la documentación de CyberArk Privilege Cloud.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
Header.deviceVendor metadata.vendor_name Se asigna desde el campo de proveedor del encabezado de CEF. Establécelo en "CyberArk".
Header.deviceProduct metadata.product_name Se asigna desde el campo de producto del encabezado de CEF. Establécelo en "Privilege Cloud".
Header.deviceVersion metadata.product_version Se asigna desde el campo de versión del encabezado de CEF.
Header.signatureId metadata.product_event_type Es el código de acción de auditoría del ID de firma de CEF.
Header.name metadata.description Es el nombre del evento del encabezado de CEF.
Header.severity security_result.severity Se asigna a partir de la gravedad de CEF (0-3=BAJA, 4-6=MEDIA, 7-8=ALTA, 9-10=CRÍTICA).
suser principal.user.userid Es el usuario que realizó la acción.
src principal.ip Es la dirección IP de origen de la sesión.
shost principal.hostname Es el nombre de host de origen.
duser target.user.userid La cuenta con privilegios de destino.
dhost target.hostname Es el nombre de host del sistema de destino.
dst target.ip Es la dirección IP del sistema de destino.
cs1 security_result.detection_fields Nombre seguro (clave: valor de cs1Label).
cs2 security_result.detection_fields Nombre de la cuenta o contexto adicional (clave: valor de cs2Label).
cs3 security_result.detection_fields Información de la política o el ID de la plataforma (clave: valor de cs3Label).
act security_result.action_details La acción realizada (por ejemplo, Recuperar, Conectar o Actualizar)
reason security_result.description Es el motivo proporcionado para el acceso con privilegios.
rt metadata.event_timestamp Es la hora de recepción del evento.
app event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
Otherinfo event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
AffectedUserName event.idm.read_only_udm.security_result.detection_fields Asignado desde el registro de cambios
RequestId event.idm.read_only_udm.security_result.detection_fields Asignado desde el registro de cambios
SafeName event.idm.read_only_udm.security_result.detection_fields Asignado desde el registro de cambios
Database event.idm.read_only_udm.security_result.detection_fields Asignado desde el registro de cambios
MessageID", "Version", "Safe", "PolicyID", "DeviceType", and "Address additional.fields Asignado desde el registro de cambios
GatewayStation target.ip Asignado desde el registro de cambios
UserName principal.user.user_display_name Asignado desde el registro de cambios
Station principal.ip Asignado desde el registro de cambios
Message security_result.summary Asignado desde el registro de cambios
Issuer principal.user.userid Asignado desde el registro de cambios
File principal.file.full_path Asignado desde el registro de cambios
Severity security_result.severity Asignado desde el registro de cambios
CPMStatus security_result.action Asignado desde el registro de cambios
device_version metadata.product_version Asignado desde el registro de cambios
device_event_class_id" and "event_name metadata.product_event_type Asignado desde el registro de cambios
msg metadata.description Asignado desde el registro de cambios
duser target.user.user_display_name Asignado desde el registro de cambios
suser principal.user.user_display_name Asignado desde el registro de cambios
cn1", "cn1Label", "cn2", "cn2Label", "cs1", "cs1Label", "cs2", "cs2Label", "cs3", "cs3Label", "cs4", "cs4Label", "cs5", "cs5Label", and "fname additional.fields Asignado desde el registro de cambios

Registro de cambios

Consulta el registro de cambios de este analizador

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