Recopila registros de CEF de ArcSight

Compatible con:

En este documento, se explica cómo transferir registros de CEF (formato de evento común) de ArcSight a Google Security Operations con Bindplane. El analizador transforma los datos sin procesar en un formato estructurado del modelo de datos unificado (UDM). Extrae campos del encabezado y las extensiones de CEF, los asigna a campos de UDM y realiza una lógica específica para categorizar eventos como los accesos de usuarios, las conexiones de red y los accesos a recursos según la información extraída.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Un host de Windows 2016 o posterior, o un host de Linux con systemd
  • Si se ejecuta detrás de un proxy, los puertos de firewall están abiertos.
  • ArcSight SmartConnector 8.4 (o una versión posterior) instalado en un host con acceso a la red del agente de Bindplane
  • Acceso privilegiado al portal de OpenText

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:
        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: 'ARCSIGHT_CEF'
            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
    

Descarga ArcSight SmartConnector

  1. Accede al portal de asistencia de OpenText.
  2. Busca y descarga el SmartConnector de ArcSight más reciente para Linux.
  3. Ejemplo de nombre de archivo: ArcSight-Connector-Linux64-8.4.0.8499.0.bin.

Instala el SmartConnector de ArcSight

  1. Sube el archivo .bin al servidor de SmartConnector:

    scp ArcSight-Connector-Linux64-8.4.0.8499.0.bin user@your-smartconnector-host:/tmp
    
  2. Accede al servidor de SmartConnector con SSH y ejecuta el siguiente comando:

    cd /tmp
    chmod +x ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    ./ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    
  3. Sigue el instalador interactivo:

    • Selecciona el directorio de instalación (por ejemplo, /opt/arcsight/connectors/current).
    • Acepta la licencia.
    • Cuando se te solicite, selecciona Instalar conector.

Configura ArcSight SmartConnector para enviar CEF a Syslog

  1. En el host de SmartConnector, inicia el asistente de destino:

    cd /opt/arcsight/connectors/current/bin
    ./arcsight connectors
    
  2. En el asistente, haz lo siguiente:

    • Selecciona Agregar destino.
    • Selecciona CEF Syslog.
  3. Proporciona los siguientes detalles de configuración:

    • Host/IP: Ingresa la dirección IP del agente de Bindplane.
    • Puerto: Ingresa el número de puerto del agente de Bindplane.
    • Protocolo: Selecciona UDP.
  4. Finaliza la configuración y reinicia el conector:

    ./arcsight agents
    
  5. Ejecuta una verificación de conectividad (por ejemplo, busca Successfully connected to syslog: X.X.X.X:514).

    tail -f /opt/arcsight/connectors/current/logs/agent.log
    

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.
agt principal.ip Se asigna directamente desde el campo agt.
agt principal.asset.ip Se asigna directamente desde el campo agt.
app network.application_protocol Se asigna directamente desde el campo app.
art metadata.event_timestamp.seconds Se asigna directamente desde el campo art.
cs2 additional.fields.value.string_value Se asigna directamente desde el campo cs2 cuando cs2Label es EventlogCategory.
cs2Label additional.fields.key Se asigna directamente desde el campo cs2Label cuando su valor es EventlogCategory.
cs3 additional.fields.value.string_value Se asigna directamente desde el campo cs3 cuando cs3Label es Process ID.
cs3Label additional.fields.key Se asigna directamente desde el campo cs3Label cuando su valor es Process ID.
cs5 additional.fields.value.string_value Se asigna directamente desde el campo cs5 cuando cs5Label es Authentication Package Name.
cs5Label additional.fields.key Se asigna directamente desde el campo cs5Label cuando su valor es Authentication Package Name.
cs6 additional.fields.value.string_value Se asigna directamente desde el campo cs6 cuando cs6Label es Logon GUID.
cs6Label additional.fields.key Se asigna directamente desde el campo cs6Label cuando su valor es Logon GUID.
dhost about.hostname Se asigna directamente desde el campo dhost.
dhost target.hostname Se asigna directamente desde el campo dhost.
dntdom about.administrative_domain Se asigna directamente desde el campo dntdom.
dntdom target.administrative_domain Se asigna directamente desde el campo dntdom.
dproc about.process.command_line Se asigna directamente desde el campo dproc.
dproc target.process.command_line Se asigna directamente desde el campo dproc.
DST principal.ip Se asigna directamente desde el campo dst.
DST principal.asset.ip Se asigna directamente desde el campo dst.
DST target.ip Se asigna directamente desde el campo dst.
duid target.user.userid Se asigna directamente desde el campo duid.
duser target.user.user_display_name Se asigna directamente desde el campo duser.
dvc about.ip Se asigna directamente desde el campo dvc.
dvchost about.hostname Se asigna directamente desde el campo dvchost.
eventId additional.fields.value.string_value Se asigna directamente desde el campo eventId.
externalId metadata.product_log_id Se asigna directamente desde el campo externalId.
fname additional.fields.value.string_value Se asigna directamente desde el campo fname.
msg metadata.description Se asigna directamente desde el campo msg.
protocolo network.ip_protocol Se asigna directamente desde el campo proto. Traduce los nombres de los protocolos a sus respectivas constantes (p.ej., tcp a TCP).
rt metadata.event_timestamp.seconds Se asigna directamente desde el campo rt.
shost about.hostname Se asigna directamente desde el campo shost.
shost principal.hostname Se asigna directamente desde el campo shost.
src principal.ip Se asigna directamente desde el campo src.
src principal.asset.ip Se asigna directamente desde el campo src.
src target.ip Se asigna directamente desde el campo src.
sproc principal.process.command_line Se asigna directamente desde el campo sproc.
spt principal.port Se asigna directamente desde el campo spt.
spt target.port Se asigna directamente desde el campo spt.
additional.EventRecordID additional.fields.value.string_value Se asigna directamente desde el campo ad.EventRecordID.
additional.ThreadID additional.fields.value.string_value Se asigna directamente desde el campo ad.ThreadID.
additional.Opcode additional.fields.value.string_value Se asigna directamente desde el campo ad.Opcode.
additional.ProcessID additional.fields.value.string_value Se asigna directamente desde el campo ad.ProcessID.
additional.TargetDomainName additional.fields.value.string_value Se asigna directamente desde el campo ad.TargetDomainName.
additional.Version additional.fields.value.string_value Se asigna directamente desde el campo ad.Version.
deviceExternalId about.asset.hardware.serial_number Se asigna directamente desde el campo deviceExternalId.
deviceInboundInterface additional.fields.value.string_value Se asigna directamente desde el campo deviceInboundInterface.
deviceOutboundInterface additional.fields.value.string_value Se asigna directamente desde el campo deviceOutboundInterface.
PanOSConfigVersion security_result.detection_fields.value Se asigna directamente desde el campo PanOSConfigVersion.
PanOSContentVersion security_result.detection_fields.value Se asigna directamente desde el campo PanOSContentVersion.
PanOSDGHierarchyLevel1 security_result.detection_fields.value Se asigna directamente desde el campo PanOSDGHierarchyLevel1.
PanOSDestinationLocation target.location.country_or_region Se asigna directamente desde el campo PanOSDestinationLocation.
PanOSRuleUUID metadata.product_log_id Se asigna directamente desde el campo PanOSRuleUUID.
PanOSThreatCategory security_result.category_details Se asigna directamente desde el campo PanOSThreatCategory.
PanOSThreatID security_result.threat_id Se asigna directamente desde el campo PanOSThreatID.
about.asset.asset_id Se genera concatenando Palo Alto Networks., el nombre del proveedor (LF) y el campo deviceExternalId.
extensions.auth.type Se establece en AUTHTYPE_UNSPECIFIED si el campo event_name contiene logged on.
metadata.description Si el campo description contiene by seguido de una dirección IP, se extrae la dirección IP y se asigna a principal.ip y principal.asset.ip.
metadata.event_type Se determina en función de una serie de verificaciones condicionales en varios campos, incluidos event_name, principal_*, target_* y device_event_class_id. La lógica determina el tipo de evento más adecuado según la información disponible.
metadata.log_type Se define en ARCSIGHT_CEF.
metadata.product_event_type Se genera concatenando \[, the device_event_class_id field, \] - y el campo name.
metadata.product_name Se establece en NGFW si el campo product_name es LF.
principal.asset.ip Si el campo description contiene by seguido de una dirección IP, se extrae la dirección IP y se asigna a principal.ip y principal.asset.ip.
principal.ip Si el campo description contiene by seguido de una dirección IP, se extrae la dirección IP y se asigna a principal.ip y principal.asset.ip.
security_result.action Se establece en ALLOW si el campo act es alert; de lo contrario, se establece en BLOCK.
security_result.severity Se establece en HIGH si el campo sev es mayor o igual que 7; de lo contrario, se establece en LOW.

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