Raccogliere i log di Check Point EDR

Supportato in:

Questo documento spiega come importare i log di Check Point Antivirus in Google Security Operations utilizzando Bindplane. Il parser gestisce i log di Check Point SandBlast, convertendo i log formattati SYSLOG + KV e SYSLOG + CEF nel modello UDM (Unified Data Model). Il parser estrae i campi dai messaggi CEF utilizzando i moduli inclusi e li mappa ai campi UDM, gestendo vari tipi di eventi e arricchendo i dati con un contesto aggiuntivo dai log non elaborati. Per i messaggi non CEF, il parser utilizza l'estrazione di coppie chiave/valore, i pattern grok e la logica condizionale per mappare i campi pertinenti allo schema UDM EDR.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google SecOps
  • Windows 2016 o versioni successive oppure un host Linux con systemd
  • Se l'esecuzione avviene tramite un proxy, le porte del firewall sono aperte
  • Accesso privilegiato all'appliance Check Point con SandBlast

Recuperare il file di autenticazione importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione importazione. Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.

Recuperare l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.

Installa l'agente Bindplane

Installazione di Windows

  1. Apri il prompt dei comandi o PowerShell come amministratore.
  2. Esegui questo comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Installazione di Linux

  1. Apri un terminale con privilegi di root o sudo.
  2. Esegui questo comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Risorse aggiuntive per l'installazione

Per ulteriori opzioni di installazione, consulta la guida all'installazione.

Configura l'agente Bindplane per importare Syslog e inviarli a Google SecOps

  1. Accedi al file di configurazione:
    • Individua il file config.yaml. In genere, si trova nella directory /etc/bindplane-agent/ su Linux o nella directory di installazione su Windows.
    • Apri il file utilizzando un editor di testo (ad esempio nano, vi o Blocco note).
  2. Modifica il file config.yaml come segue:

    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. Sostituisci la porta e l'indirizzo IP in base alle esigenze della tua infrastruttura.

  4. Sostituisci <customer_id> con l'ID cliente effettivo.

  5. Aggiorna /path/to/ingestion-authentication-file.json al percorso in cui è stato salvato il file di autenticazione nella sezione Recupera il file di autenticazione per l'importazione di Google SecOps.

Riavvia l'agente BindPlane per applicare le modifiche

  • Per riavviare l'agente Bindplane in Linux, esegui questo comando:

    sudo systemctl restart bindplane-agent
    
  • Per riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurare Syslog nella serie di appliance Checkpoint 1500

  1. Accedi all'appliance Checkpoint.
  2. Vai a Log e monitoraggio > Server di log > Server Syslog.
  3. Fai clic su Configura.
  4. Fornisci i seguenti dettagli di configurazione:
    • Protocollo: seleziona UDP.
    • Nome: inserisci un nome descrittivo.
    • Indirizzo IP: inserisci l'indirizzo IP dell'agente Bindplane.
    • Porta: inserisci il numero di porta dell'agente Bindplane.
    • Seleziona Attiva il server di log.
    • Seleziona i log da inoltrare: sia i log di sistema che quelli di sicurezza.
  5. Fai clic su Applica.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
action event.idm.read_only_udm.security_result.action Mappato direttamente dal campo CEF action.
action_comment event.idm.read_only_udm.additional.fields[<N>].key: action_comment
event.idm.read_only_udm.additional.fields[<N>].value.string_value: valore di action_comment
Mappato direttamente dal campo action_comment.
action_details event.idm.read_only_udm.security_result.action_details Mappato direttamente dal campo CEF action_details.
additional_info event.idm.read_only_udm.additional.fields[<N>].key: additional_info
event.idm.read_only_udm.additional.fields[<N>].value.string_value: valore di additional_info
Mappato direttamente dal campo additional_info.
am_update_proxy event.idm.read_only_udm.intermediary.domain.name Mappato direttamente dal campo am_update_proxy.
am_update_source event.idm.read_only_udm.target.url Mappato direttamente dal campo am_update_source.
client_version event.idm.read_only_udm.metadata.product_version Mappato direttamente dal campo client_version.
cn1 event.idm.read_only_udm.security_result.severity Mappato dal campo CEF cn1 e convertito in valori di gravità 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: valore di cs1
Mappato direttamente dal campo cs1.
description event.idm.read_only_udm.metadata.description Mappato direttamente dal campo CEF description.
deviceDirection event.idm.read_only_udm.network.direction Mappato dal campo deviceDirection. Un valore di 0 viene mappato a INBOUND, gli altri valori non vengono mappati.
deviceFacility event.idm.read_only_udm.additional.fields[<N>].key: deviceFacility
event.idm.read_only_udm.additional.fields[<N>].value.string_value: valore di deviceFacility
Mappato direttamente dal campo deviceFacility.
dst event.idm.read_only_udm.network.target.ip Mappato direttamente dal campo dst quando event_type è 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: valore di engine_ver
Mappato direttamente dal campo engine_ver.
ep_rule_id event.idm.read_only_udm.firewall.firewall_rule_id Mappato direttamente dal campo ep_rule_id quando event_type è Firewall.
event_type event.idm.read_only_udm.metadata.product_event_type Mappato direttamente dal campo CEF event_type.
failed_updates event.idm.read_only_udm.additional.fields[<N>].key: failed_updates
event.idm.read_only_udm.additional.fields[<N>].value.string_value: valore di failed_updates
Mappato direttamente dal campo failed_updates.
file_md5 event.idm.read_only_udm.source_file.hash_md5 Mappato direttamente dal campo file_md5 quando event_type è TE Event.
file_name event.idm.read_only_udm.source_file.file_name Mappato direttamente dal campo file_name quando event_type è TE Event.
file_sha1 event.idm.read_only_udm.source_file.hash_sha1 Mappato direttamente dal campo file_sha1 quando event_type è TE Event.
file_sha256 event.idm.read_only_udm.source_file.hash_sha256 Mappato direttamente dal campo file_sha256 quando event_type è TE Event.
host_type event.idm.read_only_udm.principal.asset.type Mappato dal campo host_type. Desktop viene convertito in WORKSTATION, poi il valore viene convertito in maiuscolo.
ifdir event.idm.read_only_udm.network.direction Mappato direttamente dal campo ifdir e convertito in maiuscolo quando event_type è Firewall.
installed_products event.idm.read_only_udm.principal.asset.software.name Mappato direttamente dal campo installed_products.
is_scanned sec_res.detection_fields[<N>].key: is_scanned
sec_res.detection_fields[<N>].value: valore di is_scanned
Mappato direttamente dal 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: valore di local_time
Mappato direttamente dal campo local_time.
log_type event.idm.read_only_udm.metadata.log_type Mappato direttamente dal campo log_type.
loguid event.idm.read_only_udm.metadata.product_log_id Mappato direttamente dal campo loguid.
machine_guid event.idm.read_only_udm.principal.asset.product_object_id Mappato direttamente dal 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: valore di media_authorized
Mappato direttamente dal 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: valore di media_class_id
Mappato direttamente dal 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: valore di media_description
Mappato direttamente dal 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: valore di media_encrypted
Mappato direttamente dal 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: valore di media_manufacturer
Mappato direttamente dal 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: valore di media_type
Mappato direttamente dal campo media_type.
msg event.idm.read_only_udm.metadata.description Mappato direttamente dal campo CEF msg.
origin event.idm.read_only_udm.about.ip Mappato direttamente dal campo CEF origin.
os_name event.idm.read_only_udm.additional.fields[<N>].key: os_name
event.idm.read_only_udm.additional.fields[<N>].value.string_value: valore di os_name
Mappato direttamente dal campo os_name.
os_version event.idm.read_only_udm.principal.asset.platform_software.platform_version Mappato direttamente dal 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: valore di policy_date
Mappato direttamente dal campo policy_date.
policy_guid event.idm.read_only_udm.principal.resource.product_object_id Mappato direttamente dal campo policy_guid.
policy_name event.idm.read_only_udm.principal.resource.name Mappato direttamente dal campo policy_name.
policy_number event.idm.read_only_udm.principal.resource.product_object_id Mappato direttamente dal 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: valore di policy_type
Mappato direttamente dal 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: valore di policy_version
Mappato direttamente dal campo policy_version.
product event.idm.read_only_udm.metadata.product_name Mappato direttamente dal campo CEF product.
proto event.idm.read_only_udm.network.protocol Mappato direttamente dal campo proto quando event_type è 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: valore di reading_data_access
Mappato direttamente dal campo reading_data_access.
requestClientApplication event.idm.read_only_udm.network.http.user_agent Mappato direttamente dal campo requestClientApplication.
result event.idm.read_only_udm.security_result.summary Mappato direttamente dal campo result.
rt event.idm.read_only_udm.metadata.event_timestamp.seconds Mappato dal campo rt, diviso per 1000 e la parte intera viene considerata come secondi.
rule_name event.idm.read_only_udm.firewall.firewall_rule Mappato direttamente dal campo rule_name quando event_type è Firewall.
s_port event.idm.read_only_udm.network.client.port Mappato direttamente dal campo s_port quando event_type è Firewall.
sequencenum event.idm.read_only_udm.additional.fields[<N>].key: sequencenum
event.idm.read_only_udm.additional.fields[<N>].value.string_value: valore di sequencenum
Mappato direttamente dal campo sequencenum.
service event.idm.read_only_udm.network.target.port Mappato direttamente dal campo service quando event_type è Firewall.
severity event.idm.read_only_udm.security_result.severity Mappato dal campo severity e convertito in valori di gravità UDM (CRITICAL, HIGH, MEDIUM, LOW, INFO).
shost event.idm.read_only_udm.principal.hostname Mappato direttamente dal campo CEF shost.
sig_ver event.idm.read_only_udm.additional.fields[<N>].key: sig_ver
event.idm.read_only_udm.additional.fields[<N>].value.string_value: valore di sig_ver
Mappato direttamente dal campo sig_ver.
src event.idm.read_only_udm.principal.ip Mappato direttamente dal campo CEF src.
src_machine_name event.idm.read_only_udm.principal.hostname Mappato direttamente dal campo src_machine_name quando event_type è vuoto.
subject event.idm.read_only_udm.task.task_name Mappato direttamente dal campo subject quando event_type è vuoto.
suser event.idm.read_only_udm.principal.user.user_display_name Mappato direttamente dal campo CEF suser.
time event.idm.read_only_udm.metadata.event_timestamp.seconds Mappato direttamente dal campo time e convertito in secondi Unix epoch.
user_name event.idm.read_only_udm.principal.user.email_addresses Mappato direttamente dal campo CEF user_name.
user_sid event.idm.read_only_udm.principal.user.windows_sid Mappato direttamente dal 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: valore di version
Mappato direttamente dal 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: valore di writing_data_access
Mappato direttamente dal campo writing_data_access.
N/A event.idm.read_only_udm.metadata.event_type Imposta GENERIC_EVENT se nel log non sono presenti principal.ip, principal.hostname o principal.mac; in caso contrario, imposta STATUS_UPDATE.
N/A event.idm.read_only_udm.metadata.vendor_name Valore costante: Check Point.
N/A event.idm.read_only_udm.metadata.log_type Valore costante: CHECKPOINT_EDR.
N/A event.idm.read_only_udm.principal.asset.platform_software.platform Imposta su WINDOWS se os_name contiene WINDOWS o Windows.
N/A event.idm.read_only_udm.network.http.user_agent Imposta su Check Point Endpoint Security Client se è presente requestClientApplication.
N/A event.edr.data_source Valore costante: CHECKPOINT_SANDBLAST quando message non contiene CEF.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.