Check Point Harmony-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Check Point Harmony Email and Collaboration-Logs (HEC-Logs) mit Bindplane in Google Security Operations aufnehmen. Mit diesem Parsercode werden Schlüssel/Wert-Paare aus Check Point Harmony-Syslog-Nachrichten extrahiert und einem einheitlichen Datenmodell (Unified Data Model, UDM) zugeordnet. Zuerst wird das Nachrichtenformat normalisiert. Anschließend werden Felder iterativ geparst und UDM-Kategorien wie principal, target, network und security_result zugeordnet. So werden die Daten für die Sicherheitsanalyse angereichert.

Hinweise

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Google SecOps-Instanz
  • Windows 2016 oder höher oder ein Linux-Host mit systemd
  • Wenn die Ausführung hinter einem Proxy erfolgt, sind die Firewallports geöffnet.
  • Privilegierter Zugriff auf Check Point Harmony HEC (Infinity Portal)

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Installieren Sie den Bindplane-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.

Fenstereinbau

  1. Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
  2. Führen Sie dazu diesen Befehl aus:

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

Linux-Installation

  1. Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
  2. Führen Sie dazu diesen Befehl aus:

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

Zusätzliche Installationsressourcen

Weitere Installationsoptionen finden Sie im Installationsleitfaden.

BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

  1. Rufen Sie die Konfigurationsdatei auf:
    • Suchen Sie die Datei config.yaml. Normalerweise befindet sie sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
    • Öffnen Sie die Datei mit einem Texteditor (z. B. nano, vi oder Notepad).
  2. Bearbeiten Sie die Datei config.yamlso:

    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: 'CHECKPOINT_HARMONY'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
    • Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.
    • Ersetzen Sie <customer_id> durch die tatsächliche Kunden-ID.
    • Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Authentifizierungsdatei für die Google SecOps-Aufnahme abrufen gespeichert wurde.

Bindplane-Agent neu starten, um die Änderungen zu übernehmen

  • Führen Sie den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:

    sudo systemctl restart bindplane-agent
    
  • Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog für Check Point Harmony HEC konfigurieren

  1. Melden Sie sich in der Web-UI des Infinity-Portals > Harmony Email & Collaboration an.
  2. Gehen Sie zu Einstellungen > Monitoring > SIEM.
  3. Klicken Sie auf SIEM-Server hinzufügen.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Host: Geben Sie die IP-Adresse des Bindplane-Agents ein.
    • Port: Geben Sie die Portnummer des Bindplane-Agents ein.
    • Protokoll: Wählen Sie UDP aus.
    • Optional: Token: Geben Sie ein optionales Tag für die Protokolle ein.
  5. Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Aktion security_result.action_details Direkt zugeordnet.
security_result.action Entsprechend dem Wert des Felds „action“ (Aktion) wird ALLOW, BLOCK, ALLOW_WITH_MODIFICATION oder QUARANTINE zugeordnet.
additional_info additional.fields.value.string_value Direkt zugeordnet mit dem Schlüssel = additional_info.
analyzed_on security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = analyzed_on.
client_name additional.fields.value.string_value Direkt zugeordnet mit dem Schlüssel = client_name.
client_version intermediary.platform_version Direkt zugeordnet.
confidence_level security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = confidence_level.
security_result.confidence Entspricht UNKNOWN_CONFIDENCE, LOW_CONFIDENCE, MEDIUM_CONFIDENCE oder HIGH_CONFIDENCE, je nach Wert des Felds „confidence_level“.
description security_result.description Direkt zugeordnet.
dst target.ip Direkt zugeordnet.
dst_dns_name security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = dst_dns_name.
dst_machine_name security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = dst_machine_name.
target.asset.hostname Direkt zugeordnet.
target.hostname Direkt zugeordnet.
dst_user_dn security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = dst_user_dn.
dst_user_name target.user.userid Direkt zugeordnet.
ep_rule_id security_result.rule_id Wird direkt zugeordnet, wenn „rule_uid“ leer ist.
Fehler security_result.summary Direkt zugeordnet.
event_type metadata.product_event_type Direkt zugeordnet.
file_md5 target.process.file.md5 Direkt zugeordnet, wenn der Wert ein gültiger MD5-Hash und nicht nur Nullen ist.
target.file.md5 Direkt zugeordnet, wenn der Wert ein gültiger MD5-Hash und nicht nur Nullen ist.
file_name target.process.file.full_path Direkt zugeordnet.
file_sha1 target.process.file.sha1 Direkt zugeordnet, wenn der Wert ein gültiger SHA-1-Hash und nicht nur Nullen ist.
target.file.sha1 Direkt zugeordnet, wenn der Wert ein gültiger SHA-1-Hash und nicht nur Nullen ist.
file_sha256 target.process.file.sha256 Direkt zugeordnet, wenn der Wert ein gültiger SHA256-Hash ist und nicht nur aus Nullen besteht.
target.file.sha256 Direkt zugeordnet, wenn der Wert ein gültiger SHA256-Hash ist und nicht nur aus Nullen besteht.
file_size target.file.size Direkt zugeordnet.
file_type target.file.file_type Wird basierend auf dem Wert des Felds „file_type“ FILE_TYPE_ZIP, FILE_TYPE_DOS_EXE, FILE_TYPE_PDF oder FILE_TYPE_XLSX zugeordnet.
flags additional.fields.value.string_value Direkt zugeordnet mit dem Schlüssel = flags.
fw_subproduct additional.fields.value.string_value Direkt zugeordnet mit key = fw_subproduct, wenn das Produkt leer ist.
metadata.product_name Direkt zugeordnet, wenn das Produkt leer ist.
host_type security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = host_type.
ifdir network.direction Direkt zugeordnet nach der Umwandlung in Großbuchstaben.
ifname security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = ifname.
installed_products security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = installed_products.
is_scanned security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = is_scanned.
layer_name security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = layer_name.
security_result.rule_set_display_name Direkt zugeordnet.
layer_uuid security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = layer_uuid.
security_result.rule_set Direkt zugeordnet.
loguid metadata.product_log_id Direkt zugeordnet.
machine_guid principal.asset.attribute.labels.value Direkt zugeordnet mit dem Schlüssel = machine_guid.
malware_action security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = malware_action.
malware_family security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = malware_family.
media_authorized security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = media_authorized.
media_class_id security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = media_class_id.
media_description security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = media_description.
media_encrypted security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = media_encrypted.
media_manufacturer security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = media_manufacturer.
media_type security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = media_type.
Methoden security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = methods.
originsicname security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = originsicname.
Ursprung intermediary.ip Direkt zugeordnet.
os_version principal.asset.platform_software.platform_patch_level Direkt zugeordnet.
outzone security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = outzone.
parent_rule security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = parent_rule.
peer_gateway intermediary.ip Direkt zugeordnet.
policy_guid security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = policy_guid.
policy_name security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = policy_name.
policy_number security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = policy_number.
policy_type security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = policy_type.
Produkt additional.fields.value.string_value Direkt zugeordnet mit dem Schlüssel = product.
metadata.product_name Direkt zugeordnet.
product_family additional.fields.value.string_value Direkt zugeordnet mit dem Schlüssel = product_family.
program_name additional.fields.value.string_value Direkt zugeordnet mit dem Schlüssel = program_name.
protection_name security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = protection_name.
protection_type security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = protection_type.
reading_data_access security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = reading_data_access.
rule_action security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = rule_action.
rule_name security_result.rule_name Direkt zugeordnet.
rule_uid security_result.rule_id Wird direkt zugeordnet, wenn „ep_rule_id“ leer ist.
s_port principal.port Direkt zugeordnet.
scheme security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = scheme.
sequencenum additional.fields.value.string_value Direkt zugeordnet mit dem Schlüssel = sequencenum.
Dienst target.port Direkt zugeordnet.
service_id security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = service_id.
session_uid network.session_id Direkt zugeordnet.
src principal.ip Direkt zugeordnet.
src_dns_name security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = src_dns_name.
src_machine_name security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = src_machine_name.
principal.asset.hostname Direkt zugeordnet.
principal.hostname Direkt zugeordnet.
src_user_dn security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = src_user_dn.
src_user_name principal.user.userid Direkt zugeordnet.
principal.user.email_addresses Die E-Mail-Adresse wird aus dem Feld „src_user_name“ extrahiert, sofern es vorhanden ist und das Format userid (email) hat.
te_verdict_determined_by security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = te_verdict_determined_by.
timestamp metadata.event_timestamp Direkt zugeordnet.
trusted_domain security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = trusted_domain.
Nutzer principal.user.userid Direkt zugeordnet, wenn „src_user_name“ leer ist.
principal.user.email_addresses Die E-Mail-Adresse wird aus dem Nutzerfeld extrahiert, sofern es vorhanden ist und das Format userid (email) hat.
user_name principal.user.email_addresses Direkt zugeordnet, wenn der Wert eine gültige E-Mail-Adresse ist.
user_sid principal.user.windows_sid Direkt zugeordnet.
Einstufung security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = verdict.
Version additional.fields.value.string_value Direkt zugeordnet mit dem Schlüssel = version.
vpn_feature_name security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = vpn_feature_name.
web_client_type security_result.detection_fields.value Direkt zugeordnet mit dem Schlüssel = web_client_type.
metadata.log_type Dieses Feld ist fest auf CHECKPOINT_HARMONY codiert.
metadata.vendor_name Dieses Feld ist fest auf CHECKPOINT_HARMONY codiert.
principal.asset.platform_software.platform Wird basierend auf dem Wert des Felds „os_name“ WINDOWS, MAC oder LINUX zugeordnet.
network.ip_protocol Wird basierend auf dem Wert des Felds „proto“ und anderen Feldern wie „service“ und „service_id“ TCP, UDP, ICMP, IP6IN4 oder GRE zugeordnet.
security_result.severity Entspricht NIEDRIG, MITTEL, HOCH oder KRITISCH basierend auf dem Wert des Felds „severity“.
metadata.event_type Dieses Feld wird auf NETWORK_CONNECTION gesetzt, wenn sowohl das Hauptkonto als auch das Zielkonto vorhanden sind, auf STATUS_UNCATEGORIZED, wenn nur das Hauptkonto vorhanden ist, und auf GENERIC_EVENT, wenn weder das Hauptkonto noch das Zielkonto vorhanden ist.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten