Recopilar registros de FireEye HX

Disponible en:

En este documento se explica cómo recoger registros de FireEye Endpoint Security (HX) en Google Security Operations mediante Bindplane. El analizador intenta procesar el mensaje de entrada como JSON. Si el mensaje no está en formato JSON, utiliza patrones grok para extraer campos y, a continuación, realiza una asignación de UDM condicional basada en el tipo de evento extraído y otros criterios.

Antes de empezar

  • Asegúrate de que tienes una instancia de Google Security Operations.
  • Asegúrate de usar Windows 2016 o una versión posterior, o un host Linux con systemd.
  • Si se ejecuta a través de un proxy, asegúrate de que los puertos del cortafuegos estén abiertos.
  • Asegúrate de que tienes acceso con privilegios a FireEye Endpoint Security.

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

Instalación de ventanas

  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 de Linux

  1. Abre un terminal con privilegios de superusuario 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:
        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: '/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
            ingestion_labels:
                log_type: 'FIREEYE_HX'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Sustituye el puerto y la dirección IP según sea necesario en tu infraestructura.

  4. Sustituye <customer_id> por el ID de cliente real.

  5. Actualiza /path/to/ingestion-authentication-file.json a la ruta en la que se guardó el archivo de autenticación en la sección Obtener el archivo de autenticación de ingestión de Google SecOps.

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 syslog de FireEye HX Event Streamer mediante la interfaz de usuario

  1. Inicia sesión en la consola de administración de FireEye HX.
  2. Ve a Event Streamer.
  3. Selecciona Habilitar Event Streamer en el host.
  4. Guarda los cambios en la política.
  5. Ve a Destinos > Configuración del servidor > Añadir destino syslog.
  6. Proporcione los siguientes detalles de configuración:
    • Nombre: introduce un nombre único para etiquetar el recopilador de registros de Google SecOps.
    • Dirección IP: introduce la dirección IP del agente de Bindplane.
    • Puerto: introduce el número de puerto del agente de Bindplane.
  7. Guarda los cambios para aplicarlos.

Configurar syslog de FireEye HX Event Streamer mediante la CLI

  1. Inicia sesión en el dispositivo FireEye HX mediante la interfaz de línea de comandos (CLI).
  2. Ejecuta el siguiente comando para habilitar el modo de configuración:

    enable
    configure terminal
    
  3. Ejecuta el siguiente comando para añadir un destino de servidor syslog remoto:

    logging BINDPLANE_IP_ADDRESS port PORT_NUMBER port
    
    • Sustituye lo siguiente:
      • BINDPLANE_IP_ADDRESS: la dirección IP del reenviador de Google SecOps
      • PORT_NUMBER: número de puerto
  4. Ejecuta el siguiente comando para guardar los detalles de la configuración:

    write mem
    

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
alert.agent._id principal.asset.asset_id El ID de agente del registro sin procesar, con el prefijo AGENT ID:
alert.agent.url principal.labels.value La URL del agente del registro sin procesar.
alert.condition._id additional.fields.value.string_value El ID de la condición del registro sin procesar, con = caracteres eliminados.
alert.condition.url additional.fields.value.string_value La URL de la condición del registro sin procesar, con = caracteres eliminados.
alert.decorators[].data.fireeye_report.indicator_verdict.malware_families.0 security_result.threat_name La familia de malware del informe de FireEye en el campo de decoradores del registro sin procesar.
alert.decorators[].data.fireeye_report.risk_summary security_result.description El resumen de riesgos del informe de FireEye en el campo de decoradores del registro sin procesar.
alert.decorators[].data.fireeye_verdict security_result.severity_details El veredicto de FireEye del campo de decoradores del registro sin procesar.
alert.event_at read_only_udm.metadata.event_timestamp Marca de tiempo del evento del registro sin procesar.
alert.event_id read_only_udm.metadata.product_log_id ID del evento del registro sin procesar.
alert.event_type read_only_udm.metadata.product_event_type El tipo de evento del registro sin procesar.
alert.event_values.fileWriteEvent/fullPath target.file.full_path Ruta completa del archivo escrito a partir del registro sin procesar.
alert.event_values.fileWriteEvent/md5 target.file.md5 El hash MD5 del archivo escrito a partir del registro sin procesar.
alert.event_values.fileWriteEvent/pid principal.process.pid El ID del proceso que escribió el archivo del registro sin procesar.
alert.event_values.fileWriteEvent/processPath principal.process.file.full_path Ruta del proceso que escribió el archivo del registro sin procesar. Se combina con alert.event_values.fileWriteEvent/process para crear la ruta completa si el sistema operativo es Windows.
alert.event_values.fileWriteEvent/size target.file.size Tamaño del archivo escrito a partir del registro sin procesar.
alert.event_values.fileWriteEvent/username principal.user.userid El usuario que escribió el archivo del registro sin procesar.
alert.event_values.ipv4NetworkEvent/localIP principal.ip Dirección IP local del registro sin procesar.
alert.event_values.ipv4NetworkEvent/localPort principal.port El puerto local del registro sin procesar.
alert.event_values.ipv4NetworkEvent/pid principal.process.pid El ID de proceso del registro sin procesar.
alert.event_values.ipv4NetworkEvent/process principal.process.file.full_path El nombre del proceso del registro sin procesar. Se combina con alert.event_values.ipv4NetworkEvent/processPath para crear la ruta completa si el sistema operativo es Windows.
alert.event_values.ipv4NetworkEvent/processPath principal.process.file.full_path La ruta del proceso del registro sin procesar. Se combina con alert.event_values.ipv4NetworkEvent/process para crear la ruta completa si el sistema operativo es Windows.
alert.event_values.ipv4NetworkEvent/protocol network.ip_protocol El protocolo de red del registro sin procesar.
alert.event_values.ipv4NetworkEvent/remoteIP target.ip Dirección IP remota del registro sin procesar.
alert.event_values.ipv4NetworkEvent/remotePort target.port El puerto remoto del registro sin procesar.
alert.event_values.ipv4NetworkEvent/timestamp read_only_udm.metadata.event_timestamp Marca de tiempo del evento del registro sin procesar.
alert.event_values.ipv4NetworkEvent/username principal.user.userid El usuario del registro sin procesar.
alert.event_values.processEvent/md5 target.process.file.md5 El hash MD5 del proceso del registro sin procesar.
alert.event_values.processEvent/parentPid principal.process.pid ID de proceso superior del registro sin procesar.
alert.event_values.processEvent/parentProcess principal.process.file.full_path Nombre del proceso superior del registro sin procesar.
alert.event_values.processEvent/parentProcessPath principal.process.file.full_path Ruta del proceso superior del registro sin procesar.
alert.event_values.processEvent/pid target.process.pid El ID de proceso del registro sin procesar.
alert.event_values.processEvent/process target.process.file.full_path El nombre del proceso del registro sin procesar.
alert.event_values.processEvent/processCmdLine target.process.command_line La línea de comandos del proceso del registro sin formato.
alert.event_values.processEvent/processPath target.process.file.full_path La ruta del proceso del registro sin procesar.
alert.event_values.processEvent/timestamp read_only_udm.metadata.event_timestamp Marca de tiempo del evento del registro sin procesar.
alert.event_values.processEvent/username principal.user.userid El usuario del registro sin procesar.
alert.event_values.urlMonitorEvent/hostname target.hostname El nombre de host del registro sin procesar.
alert.event_values.urlMonitorEvent/localPort principal.port El puerto local del registro sin procesar.
alert.event_values.urlMonitorEvent/pid principal.process.pid El ID de proceso del registro sin procesar.
alert.event_values.urlMonitorEvent/process principal.process.file.full_path El nombre del proceso del registro sin procesar. Se combina con alert.event_values.urlMonitorEvent/processPath para crear la ruta completa si el sistema operativo es Windows.
alert.event_values.urlMonitorEvent/processPath principal.process.file.full_path La ruta del proceso del registro sin procesar. Se combina con alert.event_values.urlMonitorEvent/process para crear la ruta completa si el SO es Windows.
alert.event_values.urlMonitorEvent/remoteIpAddress target.ip Dirección IP remota del registro sin procesar.
alert.event_values.urlMonitorEvent/remotePort target.port El puerto remoto del registro sin procesar.
alert.event_values.urlMonitorEvent/requestUrl target.url La URL solicitada del registro sin procesar.
alert.event_values.urlMonitorEvent/timestamp read_only_udm.metadata.event_timestamp Marca de tiempo del evento del registro sin procesar.
alert.event_values.urlMonitorEvent/urlMethod network.http.method Método HTTP del registro sin procesar.
alert.event_values.urlMonitorEvent/userAgent network.http.user_agent El user-agent del registro sin procesar.
alert.event_values.urlMonitorEvent/username principal.user.userid El usuario del registro sin procesar.
alert.indicator._id security_result.about.labels.value El ID del indicador del registro sin procesar.
alert.indicator.name read_only_udm.security_result.summary Nombre del indicador del registro sin procesar.
alert.indicator.url security_result.about.labels.value La URL del indicador del registro sin procesar.
alert.multiple_match read_only_udm.metadata.description El mensaje de varias coincidencias del registro sin procesar.
alert.source additional.fields.value.string_value Origen de la alerta del registro sin procesar.
authmethod extensions.auth.mechanism El método de autenticación del registro sin procesar. Se asigna el valor LOCAL si el valor es local o LOCAL. De lo contrario, se asigna el valor MECHANISM_OTHER.
authsubmethod extensions.auth.auth_details Submétodo de autenticación del registro sin procesar, convertido a mayúsculas.
client principal.ip Dirección IP del cliente del registro sin procesar.
conditions.data.tests[].token security_result.detection_fields.key El token de las pruebas de condiciones del registro sin procesar.
conditions.data.tests[].value security_result.detection_fields.value El valor de las pruebas de las condiciones en el registro sin procesar.
description read_only_udm.metadata.description La descripción del registro sin procesar.
host.agent_version read_only_udm.metadata.product_version Versión del agente del registro sin procesar.
host.containment_state read_only_udm.principal.containment_state El estado de contención del registro sin procesar.
host.domain read_only_udm.principal.administrative_domain El dominio del registro sin procesar.
host.hostname read_only_udm.principal.hostname El nombre de host del registro sin procesar.
host.os.platform read_only_udm.principal.platform Plataforma del sistema operativo del registro sin procesar.
host.os.product_name read_only_udm.principal.platform_version El nombre del producto del sistema operativo del registro sin procesar.
host.primary_ip_address read_only_udm.principal.ip Dirección IP principal del registro sin procesar.
host.primary_mac read_only_udm.principal.mac La dirección MAC principal del registro sin procesar, con - caracteres sustituidos por :.
host_ principal.hostname El nombre de host del registro sin procesar.
host_details.data.agent_version read_only_udm.metadata.product_version Versión del agente del registro sin procesar.
host_details.data.containment_state read_only_udm.security_result.severity_details El estado de contención del registro sin procesar.
host_details.data.domain read_only_udm.principal.administrative_domain El dominio del registro sin procesar.
host_details.data.hostname read_only_udm.principal.hostname El nombre de host del registro sin procesar.
host_details.data.os.platform read_only_udm.principal.platform Plataforma del sistema operativo del registro sin procesar.
host_details.data.os.product_name read_only_udm.principal.platform_version El nombre del producto del sistema operativo del registro sin procesar.
host_details.data.primary_ip_address read_only_udm.principal.ip Dirección IP principal del registro sin procesar.
host_details.data.primary_mac read_only_udm.principal.mac La dirección MAC principal del registro sin procesar, con - caracteres sustituidos por :.
indicators.data.description read_only_udm.metadata.description La descripción del indicador del registro sin procesar.
línea target.application La línea del registro sin procesar.
nombredeusuario_local target.user.user_display_name Nombre de usuario local del registro sin procesar.
principal_ip principal.ip Dirección IP principal del registro sin procesar.
process read_only_udm.principal.application El nombre del proceso del registro sin procesar.
process_id read_only_udm.principal.process.pid El ID de proceso del registro sin procesar.
Referente network.http.referral_url La URL referente del registro sin procesar.
remoteaddress principal.ip La dirección remota del registro sin procesar.
solicitud additional.fields.value.string_value La solicitud del registro sin procesar.
role target.user.role_name El rol del registro sin procesar.
servidor target.resource.attribute.labels.value El servidor del registro sin procesar.
sessionID network.session_id El ID de sesión del registro sin procesar.
gravedad security_result.severity Se define como LOW, MEDIUM o HIGH en función de la gravedad del registro sin procesar.
target_host read_only_udm.target.hostname Nombre de host de destino del registro sin procesar.
target_ip target.ip Dirección IP de destino del registro sin procesar.
target_ip1 target.ip Dirección IPv6 de destino del registro sin procesar.
timestamp timestamp Marca de tiempo del registro sin procesar.
upstream target.url La URL de origen del registro sin procesar.
nombre de usuario target.user.userid Nombre de usuario del registro sin procesar.

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