Check Point Harmony-Protokolle erfassen

Parserversion: 3.0

Unterstützt in:

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

Hinweis

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)

Google SecOps-Anmeldedaten für den Bindplane-Agenten abrufen

Wählen Sie eine der folgenden Methoden aus, um den Bindplane-Agenten bei Google SecOps zu authentifizieren:

  • Neue Bereitstellungen: Verwenden Sie die Chronicle API (Option 1).
  • Legacy-Bereitstellungen: Verwenden Sie die Authentifizierungsdatei für die Datenaufnahme (Option 2) weiter, bis die Ingestion API am 20. Juli 2027 eingestellt wird.
  1. Melden Sie sich in der Google Cloud -Konsole an und wählen Sie das Google Cloud -Projekt aus, das mit Ihrer Google SecOps-Instanz verknüpft ist.
  2. Rufen Sie IAM und Verwaltung > Dienstkonten auf.
  3. Klicken Sie auf Dienstkonto erstellen.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name des Dienstkontos: Geben Sie einen Namen für das Konto ein (z. B. bindplane-ingest).
    • Dienstkontobeschreibung: Geben Sie eine Beschreibung ein (z. B. Bindplane agent log ingestion).
  5. Klicken Sie auf Erstellen und fortfahren.
  6. Klicken Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen auf Rolle auswählen und wählen Sie Chronicle Editor aus.
  7. Klicken Sie auf Weiter und dann auf Fertig.
  8. Klicken Sie auf das von Ihnen erstellte Dienstkonto und rufen Sie den Tab Schlüssel auf.
  9. Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
  10. Wählen Sie JSON aus und klicken Sie auf Erstellen. Die Schlüsseldatei wird auf Ihren Computer heruntergeladen.
  11. Speichern Sie die Schlüsseldatei als ingestion-auth.json im Bindplane-Collector-Verzeichnis (/opt/observiq-otel-collector/ingestion-auth.json unter Linux oder C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json unter Windows) oder aktualisieren Sie creds_file_path in config.yaml, sodass der Pfad mit dem Pfad übereinstimmt, unter dem Sie die Datei speichern.
  12. Rufen Sie IAM und Verwaltung > Einstellungen auf und kopieren Sie die Projektnummer. Sie benötigen sie für die Exporter-Konfiguration.

Option 2: Authentifizierungsdatei für die Datenaufnahme herunterladen (Legacy)

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie Einstellungen > Datenverwaltung > Erfassungs-Agents auf. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Erfassungs-Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Datenaufnahme herunter.
  4. Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert werden soll.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Gehen Sie zu Einstellungen > Verwaltung > Profil. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Profil auf.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.

Bindplane-Agent installieren

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

Windows-Installation

  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 in der Installationsanleitung.

Bindplane-Agent für die Aufnahme von Syslog und das Senden an Google SecOps konfigurieren

  1. Greifen Sie auf die Konfigurationsdatei zu:
    • Suchen Sie die Datei config.yaml. In der Regel befindet sie sich unter Linux im Verzeichnis /opt/observiq-otel-collector/ 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:
            protocol: https
            # Region of your instance, for example us, europe, asia-southeast1
            location: <LOCATION>
            # Project number of the Google Cloud project linked to the instance
            project: '<PROJECT_NUMBER>'
            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: chronicle.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 <LOCATION> durch die Region Ihrer Google SecOps-Instanz (z. B. us, europe oder asia-southeast1). Der Exporter stellt diesem Wert chronicle.googleapis.com voran.
    • Ersetzen Sie <PROJECT_NUMBER> durch die Projektnummer aus IAM und Verwaltung > Einstellungen.
    • Ersetzen Sie <customer_id> durch die tatsächliche Kundennummer.
    • Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, unter dem die Dienstkontoschlüsseldatei (Option 1) im Abschnitt Google SecOps-Anmeldedaten für den Bindplane-Agenten abrufen gespeichert wurde.

Legacy-Ingestion-API-Exporter

  • Wenn Sie die Authentifizierungsdatei für die Datenaufnahme aus Option 2 verwenden, ersetzen Sie den Block exporters durch Folgendes. Legen Sie für creds_file_path den Pfad zur Authentifizierungsdatei für die Datenaufnahme fest. Wenn sich Ihre Instanz außerhalb der USA befindet, ersetzen Sie malachiteingestion-pa.googleapis.com durch Ihren regionalen Endpunkt (z. B. europe-malachiteingestion-pa.googleapis.com).

    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:
    

Starten Sie den Bindplane-Agent neu, um die Änderungen zu übernehmen.

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

    sudo systemctl restart bindplane-agent
    
  • Wenn Sie den Bindplane-Agenten 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 von Infinity Portal > Harmony Email & Collaboration an.
  2. Rufen Sie die Einstellungen > Monitoring > SIEM auf.
  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 Logs ein.
  5. Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Aktion security_result.action_details Direkt zugeordnet.
security_result.action Wird basierend auf dem Wert des Aktionsfelds ALLOW, BLOCK, ALLOW_WITH_MODIFICATION oder QUARANTINE zugeordnet.
additional_info additional.fields.value.string_value Direkt mit Schlüssel = additional_info zugeordnet.
analyzed_on security_result.detection_fields.value Direkt mit Schlüssel = analyzed_on zugeordnet.
client_name additional.fields.value.string_value Direkt mit Schlüssel = client_name zugeordnet.
client_version intermediary.platform_version Direkt zugeordnet.
confidence_level security_result.detection_fields.value Direkt mit Schlüssel = confidence_level zugeordnet.
security_result.confidence Wird basierend auf dem Wert des Felds „confidence_level“ UNKNOWN_CONFIDENCE, LOW_CONFIDENCE, MEDIUM_CONFIDENCE oder HIGH_CONFIDENCE zugeordnet.
Beschreibung security_result.description Direkt zugeordnet.
dst target.ip Direkt zugeordnet.
dst_dns_name security_result.detection_fields.value Direkt mit Schlüssel = dst_dns_name zugeordnet.
dst_machine_name security_result.detection_fields.value Direkt mit Schlüssel = dst_machine_name zugeordnet.
target.asset.hostname Direkt zugeordnet.
target.hostname Direkt zugeordnet.
dst_user_dn security_result.detection_fields.value Direkt mit Schlüssel = dst_user_dn zugeordnet.
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 ist und nicht nur aus Nullen besteht.
target.file.md5 Direkt zugeordnet, wenn der Wert ein gültiger MD5-Hash ist und nicht nur aus Nullen besteht.
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-Hashwert ist und nicht nur aus Nullen besteht.
target.file.sha1 Direkt zugeordnet, wenn der Wert ein gültiger SHA-1-Hashwert ist und nicht nur aus Nullen besteht.
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“ zu FILE_TYPE_ZIP, FILE_TYPE_DOS_EXE, FILE_TYPE_PDF oder FILE_TYPE_XLSX zugeordnet.
flags additional.fields.value.string_value Direkt mit Schlüssel = flags zugeordnet.
fw_subproduct additional.fields.value.string_value Direkt mit Schlüssel = fw_subproduct zugeordnet, wenn das Produkt leer ist.
metadata.product_name Direkt zugeordnet, wenn das Produkt leer ist.
host_type security_result.detection_fields.value Direkt mit Schlüssel = host_type zugeordnet.
ifdir network.direction Direkt zugeordnet nach der Umwandlung in Großbuchstaben.
ifname security_result.detection_fields.value Direkt mit Schlüssel = ifname zugeordnet.
installed_products security_result.detection_fields.value Direkt mit Schlüssel = installed_products zugeordnet.
is_scanned security_result.detection_fields.value Direkt mit Schlüssel = is_scanned zugeordnet.
layer_name security_result.detection_fields.value Direkt mit Schlüssel = layer_name zugeordnet.
security_result.rule_set_display_name Direkt zugeordnet.
layer_uuid security_result.detection_fields.value Direkt mit Schlüssel = layer_uuid zugeordnet.
security_result.rule_set Direkt zugeordnet.
loguid metadata.product_log_id Direkt zugeordnet.
machine_guid principal.asset.attribute.labels.value Direkt mit Schlüssel = machine_guid zugeordnet.
malware_action security_result.detection_fields.value Direkt mit Schlüssel = malware_action zugeordnet.
malware_family security_result.detection_fields.value Direkt mit Schlüssel = malware_family zugeordnet.
media_authorized security_result.detection_fields.value Direkt mit Schlüssel = media_authorized zugeordnet.
media_class_id security_result.detection_fields.value Direkt mit Schlüssel = media_class_id zugeordnet.
media_description security_result.detection_fields.value Direkt mit Schlüssel = media_description zugeordnet.
media_encrypted security_result.detection_fields.value Direkt mit Schlüssel = media_encrypted zugeordnet.
media_manufacturer security_result.detection_fields.value Direkt mit Schlüssel = media_manufacturer zugeordnet.
media_type security_result.detection_fields.value Direkt mit Schlüssel = media_type zugeordnet.
Methoden security_result.detection_fields.value Direkt mit Schlüssel = methods zugeordnet.
originsicname security_result.detection_fields.value Direkt mit Schlüssel = originsicname zugeordnet.
origin intermediary.ip Direkt zugeordnet.
os_version principal.asset.platform_software.platform_patch_level Direkt zugeordnet.
outzone security_result.detection_fields.value Direkt mit Schlüssel = outzone zugeordnet.
parent_rule security_result.detection_fields.value Direkt mit Schlüssel = parent_rule zugeordnet.
peer_gateway intermediary.ip Direkt zugeordnet.
policy_guid security_result.detection_fields.value Direkt mit Schlüssel = policy_guid zugeordnet.
policy_name security_result.detection_fields.value Direkt mit Schlüssel = policy_name zugeordnet.
policy_number security_result.detection_fields.value Direkt mit Schlüssel = policy_number zugeordnet.
policy_type security_result.detection_fields.value Direkt mit Schlüssel = policy_type zugeordnet.
Produkt additional.fields.value.string_value Direkt mit Schlüssel = product zugeordnet.
metadata.product_name Direkt zugeordnet.
product_family additional.fields.value.string_value Direkt mit Schlüssel = product_family zugeordnet.
program_name additional.fields.value.string_value Direkt mit Schlüssel = program_name zugeordnet.
protection_name security_result.detection_fields.value Direkt mit Schlüssel = protection_name zugeordnet.
protection_type security_result.detection_fields.value Direkt mit Schlüssel = protection_type zugeordnet.
reading_data_access security_result.detection_fields.value Direkt mit Schlüssel = reading_data_access zugeordnet.
rule_action security_result.detection_fields.value Direkt mit Schlüssel = rule_action zugeordnet.
rule_name security_result.rule_name Direkt zugeordnet.
rule_uid security_result.rule_id Direkt zugeordnet, wenn „ep_rule_id“ leer ist.
s_port principal.port Direkt zugeordnet.
scheme security_result.detection_fields.value Direkt mit Schlüssel = scheme zugeordnet.
sequencenum additional.fields.value.string_value Direkt mit Schlüssel = sequencenum zugeordnet.
Dienst target.port Direkt zugeordnet.
service_id security_result.detection_fields.value Direkt mit Schlüssel = service_id zugeordnet.
session_uid network.session_id Direkt zugeordnet.
src principal.ip Direkt zugeordnet.
src_dns_name security_result.detection_fields.value Direkt mit Schlüssel = src_dns_name zugeordnet.
src_machine_name security_result.detection_fields.value Direkt mit Schlüssel = src_machine_name zugeordnet.
principal.asset.hostname Direkt zugeordnet.
principal.hostname Direkt zugeordnet.
src_user_dn security_result.detection_fields.value Direkt mit Schlüssel = src_user_dn zugeordnet.
src_user_name principal.user.userid Direkt zugeordnet.
principal.user.email_addresses Die E-Mail-Adresse wird aus dem Feld „src_user_name“ extrahiert, falls vorhanden, und hat das Format userid (email).
te_verdict_determined_by security_result.detection_fields.value Direkt mit Schlüssel = te_verdict_determined_by zugeordnet.
timestamp metadata.event_timestamp Direkt zugeordnet.
trusted_domain security_result.detection_fields.value Direkt mit Schlüssel = trusted_domain zugeordnet.
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, falls vorhanden, und hat das Format userid (email).
user_name principal.user.email_addresses Wird direkt zugeordnet, wenn der Wert eine gültige E‑Mail-Adresse ist.
user_sid principal.user.windows_sid Direkt zugeordnet.
Ergebnis security_result.detection_fields.value Direkt mit Schlüssel = verdict zugeordnet.
Version additional.fields.value.string_value Direkt mit Schlüssel = version zugeordnet.
vpn_feature_name security_result.detection_fields.value Direkt mit Schlüssel = vpn_feature_name zugeordnet.
web_client_type security_result.detection_fields.value Direkt mit Schlüssel = web_client_type zugeordnet.
metadata.log_type Dieses Feld ist auf CHECKPOINT_HARMONY hartcodiert.
metadata.vendor_name Dieses Feld ist auf CHECKPOINT_HARMONY hartcodiert.
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 Wird basierend auf dem Wert des Felds „severity“ LOW, MEDIUM, HIGH oder CRITICAL zugeordnet.
metadata.event_type Dieses Feld wird auf NETWORK_CONNECTION gesetzt, wenn sowohl Hauptkonto als auch Ziel vorhanden sind, auf STATUS_UNCATEGORIZED, wenn nur das Hauptkonto vorhanden ist, und andernfalls auf GENERIC_EVENT.
label event.idm.read_only_udm.network.email.to Aus Änderungsprotokoll zugeordnet
entityLink event.idm.read_only_udm.metadata.url_back_to_product Aus Änderungsprotokoll zugeordnet
actionType event.idm.read_only_udm.security_result.action_details Aus Änderungsprotokoll zugeordnet
eventId event.idm.read_only_udm.metadata.product_log_id Aus Änderungsprotokoll zugeordnet
eventCreated event.idm.read_only_udm.metadata.event_timestamp Aus Änderungsprotokoll zugeordnet
type event.idm.read_only_udm.metadata.product_event_type Aus Änderungsprotokoll zugeordnet
act.createTime event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
act.relatedEntityId event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
customerId event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
saas event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
state event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
entityId event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
connectivity_state event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
actions.actionType event.idm.read_only_udm.security_result.action Aus Änderungsprotokoll zugeordnet
senderAddress event.idm.read_only_udm.network.email.from Aus Änderungsprotokoll zugeordnet

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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