Recopila registros de EDR de Check Point

Compatible con:

En este documento, se explica cómo transferir registros del antivirus de Check Point a Google Security Operations con Bindplane. El analizador controla los registros de Check Point SandBlast y convierte los registros con formato SYSLOG + KV y SYSLOG + CEF en el modelo de datos unificado (UDM). El analizador extrae campos de los mensajes de CEF con los módulos incluidos y los asigna a los campos del UDM, controla varios tipos de eventos y enriquece los datos con contexto adicional de los registros sin procesar. En el caso de los mensajes que no son de CEF, el analizador utiliza la extracción de pares clave-valor, patrones de Grok y lógica condicional para asignar los campos pertinentes al esquema de UDM de EDR.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Windows 2016 o versiones posteriores, o un host de Linux con systemd
  • Si se ejecuta detrás de un proxy, los puertos de firewall están abiertos.
  • Acceso con privilegios al dispositivo Check Point con SandBlast

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

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: '/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: 'CHECKPOINT_EDR'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.

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

  5. Actualiza /path/to/ingestion-authentication-file.json a la ruta de acceso en la que se guardó el archivo de autenticación en la sección Cómo obtener el archivo de autenticación de la transferencia 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 de Servicios o ingresar el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Cómo configurar Syslog en la serie de dispositivos Checkpoint 1500

  1. Accede al dispositivo de punto de control.
  2. Ve a Registros y supervisión > Servidores de registro > Servidores Syslog.
  3. Haz clic en Configurar.
  4. Proporciona los siguientes detalles de configuración:
    • Protocolo: Selecciona UDP.
    • Nombre: Ingresa un nombre descriptivo.
    • Dirección IP: Ingresa la dirección IP del agente de Bindplane.
    • Puerto: Ingresa el número de puerto del agente de Bindplane.
    • Selecciona Habilitar el servidor de registros.
    • Selecciona los registros que se reenviarán: Registros del sistema y de seguridad.
  5. Haz clic en Aplicar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
action event.idm.read_only_udm.security_result.action Se asigna directamente desde el campo action de CEF.
action_comment event.idm.read_only_udm.additional.fields[<N>].key: action_comment
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de action_comment
Se asigna directamente desde el campo action_comment.
action_details event.idm.read_only_udm.security_result.action_details Se asigna directamente desde el campo action_details de CEF.
additional_info event.idm.read_only_udm.additional.fields[<N>].key: additional_info
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de additional_info
Se asigna directamente desde el campo additional_info.
am_update_proxy event.idm.read_only_udm.intermediary.domain.name Se asigna directamente desde el campo am_update_proxy.
am_update_source event.idm.read_only_udm.target.url Se asigna directamente desde el campo am_update_source.
client_version event.idm.read_only_udm.metadata.product_version Se asigna directamente desde el campo client_version.
cn1 event.idm.read_only_udm.security_result.severity Se asigna desde el campo cn1 de CEF y se convierte en valores de gravedad de UDM (CRITICAL, HIGH, MEDIUM, LOW, INFO).
cs1 event.idm.read_only_udm.additional.fields[<N>].key: Connectivity State
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de cs1
Se asigna directamente desde el campo cs1.
description event.idm.read_only_udm.metadata.description Se asigna directamente desde el campo description de CEF.
deviceDirection event.idm.read_only_udm.network.direction Se asignó desde el campo deviceDirection. El valor 0 se asigna a INBOUND, y los demás valores no se asignan.
deviceFacility event.idm.read_only_udm.additional.fields[<N>].key: deviceFacility
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de deviceFacility
Se asigna directamente desde el campo deviceFacility.
dst event.idm.read_only_udm.network.target.ip Se asigna directamente desde el campo dst cuando event_type es Firewall.
engine_ver event.idm.read_only_udm.additional.fields[<N>].key: engine_ver
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de engine_ver
Se asigna directamente desde el campo engine_ver.
ep_rule_id event.idm.read_only_udm.firewall.firewall_rule_id Se asigna directamente desde el campo ep_rule_id cuando event_type es Firewall.
event_type event.idm.read_only_udm.metadata.product_event_type Se asigna directamente desde el campo event_type de CEF.
failed_updates event.idm.read_only_udm.additional.fields[<N>].key: failed_updates
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de failed_updates
Se asigna directamente desde el campo failed_updates.
file_md5 event.idm.read_only_udm.source_file.hash_md5 Se asigna directamente desde el campo file_md5 cuando event_type es TE Event.
file_name event.idm.read_only_udm.source_file.file_name Se asigna directamente desde el campo file_name cuando event_type es TE Event.
file_sha1 event.idm.read_only_udm.source_file.hash_sha1 Se asigna directamente desde el campo file_sha1 cuando event_type es TE Event.
file_sha256 event.idm.read_only_udm.source_file.hash_sha256 Se asigna directamente desde el campo file_sha256 cuando event_type es TE Event.
host_type event.idm.read_only_udm.principal.asset.type Se asignó desde el campo host_type. Desktop se convierte en WORKSTATION y, luego, el valor se convierte en mayúsculas.
ifdir event.idm.read_only_udm.network.direction Se asigna directamente desde el campo ifdir y se convierte a mayúsculas cuando event_type es Firewall.
installed_products event.idm.read_only_udm.principal.asset.software.name Se asigna directamente desde el campo installed_products.
is_scanned sec_res.detection_fields[<N>].key: is_scanned
sec_res.detection_fields[<N>].value: Valor de is_scanned
Se asigna directamente desde el campo is_scanned.
local_time event.idm.read_only_udm.additional.fields[<N>].key: local_time
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de local_time
Se asigna directamente desde el campo local_time.
log_type event.idm.read_only_udm.metadata.log_type Se asigna directamente desde el campo log_type.
loguid event.idm.read_only_udm.metadata.product_log_id Se asigna directamente desde el campo loguid.
machine_guid event.idm.read_only_udm.principal.asset.product_object_id Se asigna directamente desde el campo machine_guid.
media_authorized event.idm.read_only_udm.additional.fields[<N>].key: media_authorized
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de media_authorized
Se asigna directamente desde el campo media_authorized.
media_class_id event.idm.read_only_udm.additional.fields[<N>].key: media_class_id
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de media_class_id
Se asigna directamente desde el campo media_class_id.
media_description event.idm.read_only_udm.additional.fields[<N>].key: media_description
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de media_description
Se asigna directamente desde el campo media_description.
media_encrypted event.idm.read_only_udm.additional.fields[<N>].key: media_encrypted
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de media_encrypted
Se asigna directamente desde el campo media_encrypted.
media_manufacturer event.idm.read_only_udm.additional.fields[<N>].key: media_manufacturer
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de media_manufacturer
Se asigna directamente desde el campo media_manufacturer.
media_type event.idm.read_only_udm.additional.fields[<N>].key: media_type
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de media_type
Se asigna directamente desde el campo media_type.
msg event.idm.read_only_udm.metadata.description Se asigna directamente desde el campo msg de CEF.
origin event.idm.read_only_udm.about.ip Se asigna directamente desde el campo origin de CEF.
os_name event.idm.read_only_udm.additional.fields[<N>].key: os_name
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de os_name
Se asigna directamente desde el campo os_name.
os_version event.idm.read_only_udm.principal.asset.platform_software.platform_version Se asigna directamente desde el campo os_version.
policy_date event.idm.read_only_udm.additional.fields[<N>].key: policy_date
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de policy_date
Se asigna directamente desde el campo policy_date.
policy_guid event.idm.read_only_udm.principal.resource.product_object_id Se asigna directamente desde el campo policy_guid.
policy_name event.idm.read_only_udm.principal.resource.name Se asigna directamente desde el campo policy_name.
policy_number event.idm.read_only_udm.principal.resource.product_object_id Se asigna directamente desde el campo policy_number.
policy_type event.idm.read_only_udm.additional.fields[<N>].key: policy_type
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de policy_type
Se asigna directamente desde el campo policy_type.
policy_version event.idm.read_only_udm.additional.fields[<N>].key: policy_version
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de policy_version
Se asigna directamente desde el campo policy_version.
product event.idm.read_only_udm.metadata.product_name Se asigna directamente desde el campo product de CEF.
proto event.idm.read_only_udm.network.protocol Se asigna directamente desde el campo proto cuando event_type es Firewall.
reading_data_access event.idm.read_only_udm.additional.fields[<N>].key: reading_data_access
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de reading_data_access
Se asigna directamente desde el campo reading_data_access.
requestClientApplication event.idm.read_only_udm.network.http.user_agent Se asigna directamente desde el campo requestClientApplication.
result event.idm.read_only_udm.security_result.summary Se asigna directamente desde el campo result.
rt event.idm.read_only_udm.metadata.event_timestamp.seconds Se asigna desde el campo rt, se divide por 1, 000 y se toma la parte entera como segundos.
rule_name event.idm.read_only_udm.firewall.firewall_rule Se asigna directamente desde el campo rule_name cuando event_type es Firewall.
s_port event.idm.read_only_udm.network.client.port Se asigna directamente desde el campo s_port cuando event_type es Firewall.
sequencenum event.idm.read_only_udm.additional.fields[<N>].key: sequencenum
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de sequencenum
Se asigna directamente desde el campo sequencenum.
service event.idm.read_only_udm.network.target.port Se asigna directamente desde el campo service cuando event_type es Firewall.
severity event.idm.read_only_udm.security_result.severity Se asigna desde el campo severity y se convierte en valores de gravedad del UDM (CRITICAL, HIGH, MEDIUM, LOW, INFO).
shost event.idm.read_only_udm.principal.hostname Se asigna directamente desde el campo shost de CEF.
sig_ver event.idm.read_only_udm.additional.fields[<N>].key: sig_ver
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de sig_ver
Se asigna directamente desde el campo sig_ver.
src event.idm.read_only_udm.principal.ip Se asigna directamente desde el campo src de CEF.
src_machine_name event.idm.read_only_udm.principal.hostname Se asigna directamente desde el campo src_machine_name cuando event_type está vacío.
subject event.idm.read_only_udm.task.task_name Se asigna directamente desde el campo subject cuando event_type está vacío.
suser event.idm.read_only_udm.principal.user.user_display_name Se asigna directamente desde el campo suser de CEF.
time event.idm.read_only_udm.metadata.event_timestamp.seconds Se asigna directamente desde el campo time y se convierte en segundos de la época de Unix.
user_name event.idm.read_only_udm.principal.user.email_addresses Se asigna directamente desde el campo user_name de CEF.
user_sid event.idm.read_only_udm.principal.user.windows_sid Se asigna directamente desde el campo user_sid.
version event.idm.read_only_udm.additional.fields[<N>].key: version
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de version
Se asigna directamente desde el campo version.
writing_data_access event.idm.read_only_udm.additional.fields[<N>].key: writing_data_access
event.idm.read_only_udm.additional.fields[<N>].value.string_value: Valor de writing_data_access
Se asigna directamente desde el campo writing_data_access.
N/A event.idm.read_only_udm.metadata.event_type Se establece en GENERIC_EVENT si ninguno de los campos principal.ip, principal.hostname o principal.mac está presente en el registro sin procesar; de lo contrario, se establece en STATUS_UPDATE.
N/A event.idm.read_only_udm.metadata.vendor_name Valor constante: Check Point.
N/A event.idm.read_only_udm.metadata.log_type Valor constante: CHECKPOINT_EDR.
N/A event.idm.read_only_udm.principal.asset.platform_software.platform Se establece en WINDOWS si os_name contiene WINDOWS o Windows.
N/A event.idm.read_only_udm.network.http.user_agent Se establece en Check Point Endpoint Security Client si requestClientApplication está presente.
N/A event.edr.data_source Valor constante: CHECKPOINT_SANDBLAST cuando message no contiene CEF.

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