Recopila registros de Imperva FlexProtect

Compatible con:

En este documento, se explica cómo transferir registros de Imperva FlexProtect a Google Security Operations con Bindplane. Primero, el analizador limpia y preprocesa los registros entrantes y, luego, intenta extraer los datos del formato de evento común (CEF). Según la presencia de campos específicos, como "src" y "sip", asigna un tipo de evento de UDM y asigna los campos de CEF pertinentes al esquema de UDM, y, por último, enriquece el resultado con campos personalizados adicionales. Imperva FlexProtect proporciona una implementación flexible de las soluciones de seguridad de Imperva (SecureSphere, Cloud WAF y Bot Protection) en entornos de nube híbrida.

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 FlexProtect o a las consolas de productos individuales

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_FLEXPROTECT'
        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 FlexProtect

Para el componente de SecureSphere (local o en la nube)

  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. Haz clic en Agregar acción y proporciona los siguientes detalles de configuración:

    • Nombre: Ingresa un nombre descriptivo (por ejemplo, Google SecOps Syslog).
    • 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: Selecciona CEF (formato de evento común).
  5. Guarda la configuración de la acción y aplícala a las políticas de seguridad pertinentes.

Para el componente de Cloud WAF/Incapsula

  1. Accede a la consola de Cloud de Imperva.
  2. Ve a Registros > Configuración de registros.
  3. Configura el destino de 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.
    • Formato: Selecciona CEF.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
actúa read_only_udm.security_result.action_details Se asigna directamente desde el campo act.
app read_only_udm.network.application_protocol Se asigna directamente desde el campo app.
ccode read_only_udm.principal.location.country_or_region Se asigna directamente desde el campo ccode.
cicode read_only_udm.principal.location.city Se asigna directamente desde el campo cicode.
cn1 read_only_udm.network.http.response_code Se asigna directamente desde el campo cn1 después de la conversión a un número entero.
cs1 read_only_udm.additional.fields.value.string_value Se asigna directamente desde el campo cs1.
cs2 read_only_udm.additional.fields.value.string_value Se asigna directamente desde el campo cs2.
cs3 read_only_udm.additional.fields.value.string_value Se asigna directamente desde el campo cs3.
cs4 read_only_udm.additional.fields.value.string_value Se asigna directamente desde el campo cs4.
cs5 read_only_udm.additional.fields.value.string_value Se asigna directamente desde el campo cs5.
cs6 read_only_udm.additional.fields.value.string_value Se asigna directamente desde el campo cs6.
cs7 read_only_udm.additional.fields.value.string_value Se asigna directamente desde el campo cs7.
cs8 read_only_udm.additional.fields.value.string_value Se asigna directamente desde el campo cs8.
cs9 read_only_udm.additional.fields.value.string_value Se asigna directamente desde el campo cs9.
cpt read_only_udm.principal.port Se asigna directamente desde el campo cpt después de la conversión a un número entero.
Cliente read_only_udm.principal.user.user_display_name Se asigna directamente desde el campo Customer.
deviceExternalId read_only_udm.about.asset.asset_id El valor se deriva de la concatenación de "Incapsula.SIEMintegration:" con el campo deviceExternalId.
deviceFacility read_only_udm.principal.location.city Se asigna directamente desde el campo deviceFacility.
dproc read_only_udm.target.process.command_line Se asigna directamente desde el campo dproc.
end read_only_udm.security_result.detection_fields.value Se asigna directamente desde el campo end.
ID del archivo read_only_udm.network.session_id Se asigna directamente desde el campo fileId.
filePermission read_only_udm.about.resource.attribute.permissions.name Se asigna directamente desde el campo filePermission.
en read_only_udm.network.received_bytes Se asigna directamente desde el campo in.
qstr read_only_udm.security_result.detection_fields.value Se asigna directamente desde el campo qstr.
solicitud read_only_udm.target.url Se asigna directamente desde el campo request.
requestClientApplication read_only_udm.network.http.user_agent Se asigna directamente desde el campo requestClientApplication.
requestMethod read_only_udm.network.http.method Se asigna directamente desde el campo requestMethod.
siteid read_only_udm.security_result.detection_fields.value Se asigna directamente desde el campo siteid.
sip read_only_udm.target.ip Se asigna directamente desde el campo sip.
sourceServiceName read_only_udm.principal.application Se asigna directamente desde el campo sourceServiceName.
spt read_only_udm.target.port Se asigna directamente desde el campo spt después de la conversión a un número entero.
src read_only_udm.principal.ip Se asigna directamente desde el campo src.
start read_only_udm.security_result.detection_fields.value Se asigna directamente desde el campo start.
suid read_only_udm.principal.user.userid Se asigna directamente desde el campo suid.
ver read_only_udm.network.tls.version Se asigna directamente desde el campo ver.
read_only_udm.about.asset.asset_id El valor se deriva de la concatenación de "Incapsula.SIEMintegration:" con el campo deviceExternalId.
read_only_udm.additional.fields.key El valor se determina según la lógica del analizador en función de la etiqueta del campo, por ejemplo:
- cs1Label se asigna a "Cap Support"
- cs2Label se asigna a "Javascript Support"
- cs3Label se asigna a "CO Support"
- cs4Label se asigna a "VID"
- cs5Label se asigna a "clappsig"
- cs6Label se asigna a "clapp"
- cs7Label se asigna a "latitude"
- cs8Label se asigna a "longitude"
- cs9Label se asigna a "Rule name"
read_only_udm.metadata.event_timestamp.nanos Se asigna directamente desde el campo collection_time.nanos.
read_only_udm.metadata.event_timestamp.seconds Se asigna directamente desde el campo collection_time.seconds.
read_only_udm.metadata.event_type El valor se determina según la presencia de los campos src y sip:
: Si ambos están presentes, el valor se establece en "NETWORK_HTTP".
: Si solo está presente src, el valor se establece en "USER_UNCATEGORIZED".
: De lo contrario, el valor se establece en "GENERIC_EVENT".
read_only_udm.metadata.product_event_type El valor se deriva de la concatenación de "[", el valor numérico del campo de encabezado de CEF en el índice 4, "] - " y la descripción de texto del campo de encabezado de CEF en el índice 4.
read_only_udm.metadata.product_name El valor se establece de forma estática en "SIEMintegration".
read_only_udm.metadata.product_version El valor se establece de forma estática en "1".
read_only_udm.metadata.vendor_name El valor se establece de forma estática en "Incapsula".
read_only_udm.security_result.detection_fields.key El valor se establece de forma estática en "siteid", "event_start_time", "event_end_time" o "qstr" según el campo correspondiente que se procese.
read_only_udm.security_result.severity El valor se establece de forma estática en "LOW".
read_only_udm.target.port Se asigna directamente desde el campo spt después de la conversión a un número entero.

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