Recoger registros de Forcepoint NGFW

Disponible en:

En este documento se explica cómo ingerir registros de Forcepoint NGFW en Google Security Operations mediante Bindplane. El analizador extrae campos de los registros JSON o de los mensajes con formato CEF, los normaliza en el modelo de datos unificado (UDM) y enriquece los datos con metadatos del proveedor y del producto. Gestiona los registros con formato JSON y CEF, y usa patrones grok y lógica condicional para asignar los campos de registro sin procesar a los campos de UDM, incluidos los detalles de la conexión de red, los resultados de seguridad y los metadatos.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Una instancia de Google SecOps
  • Un host Windows 2016 o posterior, o Linux con systemd
  • Si se ejecuta a través de un proxy, asegúrese de que los puertos del cortafuegos estén abiertos según los requisitos del agente de Bindplane.
  • Acceso con privilegios al centro de gestión de seguridad (SMC) de Forcepoint

Obtener el archivo de autenticación de ingestión de Google SecOps

  1. Inicia sesión en la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recogida.
  3. Descarga el archivo de autenticación de ingestión. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.

Obtener el ID de cliente de Google SecOps

  1. Inicia sesión en 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.

Instalar el agente de Bindplane

Instala el agente Bindplane en tu sistema operativo Windows o Linux siguiendo las instrucciones que se indican a continuación.

Instalación de Windows

  1. Abre la petición de comando 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 de Linux

  1. Abre un terminal con privilegios de root 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

Configurar el agente de BindPlane para ingerir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    1. Busca el archivo config.yaml. Normalmente, 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:
      tcplog:
        # 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: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'FORCEPOINT_FIREWALL'
        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

  • 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 Servicios o introducir el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar el reenvío de Syslog en Forcepoint NGFW

  1. Inicia sesión en el centro de gestión de seguridad (SMC) de Forcepoint.
  2. Vaya a Configuración > Servidor de registro > Propiedades.
  3. Vaya a la sección Reenvío de registros.
  4. Haga clic en Añadir para crear una regla de reenvío.
  5. Proporcione los siguientes detalles de configuración:
    • Nombre: introduce un nombre descriptivo (por ejemplo, Google SecOps BindPlane Syslog).
    • Host: introduce la dirección IP del agente de Bindplane.
    • Puerto: introduce el número de puerto del agente de Bindplane (por ejemplo, 514).
    • Protocolo: selecciona TCP o UDP, en función de la configuración del agente de Bindplane.
    • Formato: selecciona JSON.
  6. Configura los campos de registro que quieres reenviar:
    • Haga clic en Seleccionar campos o acceda a la configuración de selección de campos.
    • Selecciona los campos de registro pertinentes según tus requisitos. Los siguientes campos suelen ser obligatorios para el análisis de seguridad:
      • TIMESTAMP (Hora de creación)
      • LOG_ID (identificador de datos)
      • EVENT (evento)
      • EVENT_ID (ID de evento)
      • SRC (dirección de origen)
      • DST (dirección de destino)
      • Sport (puerto de origen)
      • Dport (Puerto de destino)
      • PROTOCOL (Protocolo)
      • SERVICE (servicio)
      • RULE_ID (etiqueta de regla)
      • ACTION (acción)
      • NAT_SRC, NAT_DST, NAT_SPORT, NAT_DPORT (campos NAT)
      • ACC_RX_BYTES, ACC_TX_BYTES, ACC_ELAPSED (campos de contabilidad)
      • NODE_ID (Remitente)
      • COMP_ID (ID de componente)
      • FACILITY (Instalación)
      • INFO_MSG (Mensaje informativo)
      • SITUATION (Situación)
      • APPLICATION (Aplicación)
    • Para ver una lista completa de los campos que se pueden exportar, consulta la documentación sobre los campos de entrada de registro de firewall y firewall de capa 2 exportables de Forcepoint NGFW.
  7. Ve a la sección Eventos y selecciona Todos.
  8. Guarda la configuración.
  9. Aplica los cambios al servidor de registro.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
AccElapsed network.session_duration.seconds Se asigna directamente desde AccElapsed si no está vacío o es 0. Se ha convertido en un número entero.
AccRxBytes network.received_bytes Asignado directamente desde AccRxBytes. Se ha convertido en un número entero sin signo.
AccTxBytes network.sent_bytes Asignado directamente desde AccTxBytes. Se ha convertido en un número entero sin signo.
Action security_result.action_details Asignado directamente desde Action.
Action security_result.action Si Action es "Permitir", asigna el valor "ALLOW". Si Action es "Discard", asigna el valor "BLOCK".
CompId target.hostname Asignado directamente desde CompId.
Dport target.port Se asigna directamente desde Dport si no es 0. Se ha convertido en un número entero.
Dst target.ip Asignado directamente desde Dst.
Event metadata.product_event_type Asignado directamente desde Event.
Facility metadata.description Asignado directamente desde Facility.
InfoMsg security_result.description Asignado directamente desde InfoMsg.
LogId metadata.product_log_id Asignado directamente desde LogId.
NatDport target.nat_port Se asigna directamente desde NatDport si no es 0. Se ha convertido en un número entero.
NatDst target.nat_ip Asignado directamente desde NatDst.
NatSport principal.nat_port Se asigna directamente desde NatSport si no es 0. Se ha convertido en un número entero.
NatSrc principal.nat_ip Asignado directamente desde NatSrc.
NodeId intermediary.ip Se asigna directamente desde NodeId si están presentes Src o Dst y NodeId.
NodeId principal.ip Se asigna directamente desde NodeId si NodeId está presente, pero Src y Dst no.
Protocol network.ip_protocol Se asigna desde Protocol después de convertirlo en un número entero y, a continuación, se usa una búsqueda para convertir el número en el nombre del protocolo (por ejemplo, 6 se convierte en TCP).
RuleId security_result.rule_id Asignado directamente desde RuleId.
Service principal.application Se asigna directamente desde Service si no es "Dest. No se puede acceder (Port Unreachable)".
Service network.application_protocol Si Service es "HTTP" o "HTTPS", se asigna el valor de Service. Si Service contiene "DNS", asigna el valor "DNS".
Service metadata.event_type Si Service es "HTTP" o "HTTPS", asigna a metadata.event_type el valor "NETWORK_HTTP".
Situation security_result.summary Asignado directamente desde Situation.
Sport principal.port Se asigna directamente desde Sport si no es 0. Se ha convertido en un número entero.
Src principal.ip Asignado directamente desde Src.
Timestamp metadata.event_timestamp Se asigna directamente desde Timestamp después de analizarlo como fecha.
Type security_result.severity_details Asignado directamente desde Type.
Type security_result.severity Si Type es "Notificación", selecciona "BAJO". Si se incluyen Src o NodeId y Dst o CompId, se asigna el valor "NETWORK_CONNECTION". Si solo está presente principal.ip, asigna el valor "STATUS_UPDATE". De lo contrario, se asigna el valor "GENERIC_EVENT". Se ha definido como "FORCEPOINT_FIREWALL". Definir como "FORCEPOINT FIREWALL". Asigna el valor "FORCEPOINT".
rt metadata.event_timestamp Se asigna directamente desde rt después de analizarlo como fecha en el bloque CEF.
act security_result.action_details Se asigna directamente desde act en el bloque CEF.
app principal.application Se asigna directamente desde app en el bloque CEF.
deviceFacility metadata.description Se asigna directamente desde deviceFacility en el bloque CEF.
destinationTranslatedAddress target.nat_ip Se asigna directamente desde destinationTranslatedAddress en el bloque CEF.
destinationTranslatedPort target.nat_port Se asigna directamente desde destinationTranslatedPort en el bloque CEF.
dst target.ip Se asigna directamente desde dst en el bloque CEF.
dpt target.port Se asigna directamente desde dpt en el bloque CEF.
dvchost intermediary.ip Se asigna directamente desde dvchost en el bloque CEF.
event_name metadata.product_event_type Se asigna directamente desde event_name en el bloque CEF.
msg security_result.description Se asigna directamente desde msg en el bloque CEF.
proto network.ip_protocol Se asigna desde proto después de convertirlo en un número entero y, a continuación, se usa una búsqueda para convertir el número en el nombre del protocolo (por ejemplo, 6 se convierte en TCP) en el bloque CEF.
sourceTranslatedAddress principal.nat_ip Se asigna directamente desde sourceTranslatedAddress en el bloque CEF.
sourceTranslatedPort principal.nat_port Se asigna directamente desde sourceTranslatedPort en el bloque CEF.
spt principal.port Se asigna directamente desde spt en el bloque CEF.
src principal.ip Se asigna directamente desde src en el bloque CEF.

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.