Recopila registros de administración de Imperva SecureSphere

Compatible con:

En este documento, se explica cómo transferir registros de administración de Imperva SecureSphere a Google Security Operations con Bindplane. El analizador extrae campos de los registros en formato CEF o JSON. Utiliza patrones de grok y el análisis de pares clave-valor para asignar campos de registro sin procesar al UDM, controlar tanto los campos CEF estándar como las estructuras JSON personalizadas, y priorizar los datos JSON si están disponibles. Imperva SecureSphere proporciona capacidades integrales de firewall de aplicación web, seguridad de bases de datos y seguridad de archivos para implementaciones locales y en la nube.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Una instancia de Google SecOps
  • Windows 2016 o versiones posteriores, o un host de Linux con systemd
  • Si se ejecuta detrás de un proxy, asegúrate de que los puertos de firewall estén abiertos según los requisitos del agente de Bindplane.
  • Acceso con privilegios a la consola de administración de Imperva SecureSphere

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. 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 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

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

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

  1. Accede al archivo de configuración:

    1. 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.
    2. 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
        log_type: 'IMPERVA_SECURESPHERE'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    

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 de Servicios o ingresar el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configura el reenvío de Syslog en Imperva SecureSphere Management

  1. Accede a la consola de administración de Imperva SecureSphere.
  2. Ve a Configuration > Action Sets.
  3. Haz clic en Agregar para crear un nuevo conjunto de acciones.
  4. Proporciona los siguientes detalles de configuración:
    • Nombre: Ingresa un nombre descriptivo (por ejemplo, Google SecOps Syslog).

Configura la acción del evento de seguridad

  1. Haz clic en Agregar acción y configura lo siguiente:
    • Tipo de acción: Selecciona Syslog.
    • Host: Ingresa la dirección IP del agente de Bindplane.
    • Puerto: Ingresa el número de puerto del agente de Bindplane (el valor predeterminado es 514).
    • Protocolo: Selecciona UDP o TCP.
    • Nivel de registro de Syslog: Selecciona DEBUG.
    • Syslog Facility: Selecciona LOCAL0.
    • Formato del mensaje: Selecciona Registro de puerta de enlace - Evento de seguridad - Registro del sistema (syslog) con el estándar CEF.

Configura la acción del evento del sistema

  1. Haz clic en Agregar acción y configura lo siguiente:
    • Action Type: Selecciona System Log.
    • Host: Ingresa la dirección IP del agente de BindPlane.
    • Puerto: Ingresa el número de puerto del agente de BindPlane.
    • Protocolo: Selecciona UDP o TCP.
    • Formato del mensaje: Selecciona Registrar evento del sistema en el registro del sistema (syslog) con el estándar CEF.

Cómo aplicar conjuntos de acciones a las políticas

  1. Ve a Políticas > Políticas de seguridad.
  2. Para cada política pertinente, configura Acciones seguidas para usar tu conjunto de acciones.
  3. Ve a Políticas > Políticas de eventos del sistema.
  4. Configura políticas de eventos del sistema para usar el conjunto de acciones para una supervisión integral.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
action security_result.action_details El valor del campo action se asigna al campo security_result.action_details.
application-name target.application El valor del campo application-name se asigna al campo target.application.
cat security_result.category_details El valor del campo cat se asigna al campo security_result.category_details.
class security_result.detection_fields.value El valor del campo class se asigna al campo value dentro de security_result.detection_fields. El key correspondiente es "class".
collection_time.seconds metadata.event_timestamp.seconds El valor de collection_time.seconds del registro sin procesar se usa como el valor de segundos para metadata.event_timestamp.
create-time metadata.event_timestamp.seconds El valor de create-time se analiza y su valor en segundos se usa como el valor en segundos de metadata.event_timestamp.
cs1 security_result.rule_name El valor del campo cs1 se asigna al campo security_result.rule_name.
cs10 target.resource.attribute.labels.value El valor del campo cs10 se asigna al campo value dentro de target.resource.attribute.labels.
cs10Label target.resource.attribute.labels.key El valor del campo cs10Label se asigna al campo key dentro de target.resource.attribute.labels.
cs11 principal.application El valor del campo cs11 se asigna al campo principal.application.
cs12 security_result.description El valor del campo cs12, después de quitar las llaves y los signos de dólar, se asigna al campo security_result.description.
cs14 target.resource.attribute.labels.value El valor del campo cs14 se asigna al campo value dentro de target.resource.attribute.labels.
cs14Label target.resource.attribute.labels.key El valor del campo cs14Label se asigna al campo key dentro de target.resource.attribute.labels.
cs15 security_result.summary El valor del campo cs15 se asigna al campo security_result.summary.
cs16 principal.process.command_line El valor del campo cs16 se asigna al campo principal.process.command_line.
cs17 target.resource.resource_subtype El valor del campo cs17 se asigna al campo target.resource.resource_subtype.
cs2 principal.group.group_display_name El valor del campo cs2 se asigna al campo principal.group.group_display_name.
cs3 principal.hostname, principal.asset.hostname El valor del campo cs3 se asigna a los campos principal.hostname y principal.asset.hostname.
cs4 target.application El valor del campo cs4 se asigna al campo target.application, a menos que el valor sea "ProcessWitness".
cs5 metadata.description El valor del campo cs5 se asigna al campo metadata.description.
cs6 target.resource_ancestors.name El valor del campo cs6 se asigna al campo target.resource_ancestors.name.
cs7 target.resource_ancestors.resource_subtype El valor del campo cs7 se asigna al campo target.resource_ancestors.resource_subtype.
cs8 target.resource.name, target.resource.resource_type El valor del campo cs8 se asigna al campo target.resource.name, y el campo target.resource.resource_type se establece en "DATABASE".
cs9 principal.user.userid El valor del campo cs9 se asigna al campo principal.user.userid.
description security_result.description El valor del campo description se asigna al campo security_result.description.
dest-ip target.ip, target.asset.ip La dirección IP extraída del campo dest-ip se asigna a los campos target.ip y target.asset.ip.
dest-port target.port El valor del campo dest-port, convertido en un número entero, se asigna al campo target.port.
deviceExternalId intermediary.hostname El valor del campo deviceExternalId se asigna al campo intermediary.hostname.
dpt target.port El valor del campo dpt, convertido en un número entero, se asigna al campo target.port.
dst target.ip, target.asset.ip El valor del campo dst se asigna a los campos target.ip y target.asset.ip.
duser target.user.userid El valor del campo duser se asigna al campo target.user.userid.
eventId metadata.product_log_id El valor del campo eventId se asigna al campo metadata.product_log_id.
gateway-name security_result.detection_fields.value El valor del campo gateway-name se asigna al campo value dentro de security_result.detection_fields. El key correspondiente es "gateway-name".
http.request.method network.http.method El valor del campo http.request.method se asigna al campo network.http.method.
http.request.user-agent network.http.user_agent El valor del campo http.request.user_agent se asigna al campo network.http.user_agent.
http.response.code network.http.response_code El valor del campo http.response.code, convertido en un número entero, se asigna al campo network.http.response_code.
http.session-id network.session_id El valor del campo http.session-id se asigna al campo network.session_id.
http.user-name principal.user.userid El valor del campo http.user-name, con las comillas circundantes quitadas, se asigna al campo principal.user.userid.
log_type metadata.log_type El valor del campo log_type del registro sin procesar se asigna al campo metadata.log_type.
mx-ip intermediary.ip El valor del campo mx-ip se asigna al campo intermediary.ip.
MxIP intermediary.ip El valor del campo MxIP se asigna al campo intermediary.ip.
OSUser principal.user.userid El valor del campo OSUser se asigna al campo principal.user.userid.
policy-name security_result.detection_fields.value El valor del campo policy-name se asigna al campo value dentro de security_result.detection_fields. El key correspondiente es "policy-name".
pquery target.resource.name, target.process.command_line Si pquery no está vacío y contiene la palabra "from", se extrae el nombre de la tabla y se asigna a target.resource.name, target.resource.resource_type se establece en "TABLE" y todo el valor de pquery se asigna a target.process.command_line. De lo contrario, todo el valor de pquery se asigna a target.resource.name.
pro security_result.description El valor del campo pro se asigna al campo security_result.description.
product metadata.product_name El valor del campo product se asigna al campo metadata.product_name.
product_type metadata.product_event_type El valor del campo product_type se asigna al campo metadata.product_event_type.
protocol network.ip_protocol Si el valor del campo protocol es "TCP" o "UDP", se asigna al campo network.ip_protocol.
proto network.ip_protocol El valor del campo proto se asigna al campo network.ip_protocol.
reason security_result.rule_name El valor del campo reason se asigna al campo security_result.rule_name.
rt metadata.event_timestamp.seconds El valor de rt se analiza y su valor en segundos se usa como el valor en segundos de metadata.event_timestamp.
server-group-name target.resource.attribute.labels.value El valor del campo server-group-name se asigna al campo value dentro de target.resource.attribute.labels. El key correspondiente es "server-group-name".
server-group-simulation-mode target.resource.attribute.labels.value El valor del campo server-group-simulation-mode se asigna al campo value dentro de target.resource.attribute.labels. El key correspondiente es "server-group-simulation-mode".
service-name target.resource.attribute.labels.value El valor del campo service-name se asigna al campo value dentro de target.resource.attribute.labels. El key correspondiente es "service-name".
ServiceName target.application Si ApplicationName no está vacío y ServiceName está vacío, el valor de ApplicationName se asigna a ServiceName. Luego, el valor de ServiceName se asigna a target.application.
severity security_result.severity, security_result.severity_details El valor del campo severity se convierte a mayúsculas. Si es "LOW", "MEDIUM", "HIGH" o "CRITICAL", se asigna a security_result.severity. Si es "INFORMATIVE" o "INFO", security_result.severity se establece en "INFORMATIONAL". El valor original también se asigna a security_result.severity_details.
severity_data security_result.severity El valor del campo severity_data se convierte a mayúsculas. Si es uno de los valores "HIGH", "LOW", "MEDIUM", "CRITICAL", "ERROR" o "INFORMATIONAL", se asigna a security_result.severity.
source-ip principal.ip, principal.asset.ip El valor del campo source-ip se asigna a los campos principal.ip y principal.asset.ip.
source-port principal.port El valor del campo source-port, convertido en un número entero, se asigna al campo principal.port.
spt principal.port El valor del campo spt, convertido en un número entero, se asigna al campo principal.port.
src principal.ip, principal.asset.ip El valor del campo src se asigna a los campos principal.ip y principal.asset.ip.
srcapp principal.application El valor del campo srcapp se asigna al campo principal.application.
srchost principal.hostname, principal.asset.hostname El valor del campo srchost se asigna a los campos principal.hostname y principal.asset.hostname.
vendor metadata.vendor_name El valor del campo vendor se asigna al campo metadata.vendor_name.
version metadata.product_version El valor del campo version se asigna al campo metadata.product_version.
violation-id security_result.detection_fields.value El valor del campo violation-id se asigna al campo value dentro de security_result.detection_fields. El key correspondiente es "violation-id".
violation-type security_result.detection_fields.value El valor del campo violation-type se asigna al campo value dentro de security_result.detection_fields. El key correspondiente es "violation-type".

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