Palo Alto Networks Traps-Protokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Palo Alto Networks Traps-Logs mit Bindplane in Google Security Operations erfassen. Der Parser verarbeitet Logs im CSV- und Schlüssel/Wert-Format und wandelt sie in UDM um. Es werden Felder mit Grok und CSV-Parsing extrahiert, bedingte Logik basierend auf bestimmten Log-Nachrichten oder Feldwerten ausgeführt, um UDM-Felder zuzuordnen, und verschiedene Ereignistypen wie Statusaktualisierungen, Netzwerkscans und Prozesskreationen verarbeitet.

Hinweise

  • Prüfen Sie, ob Sie eine Google Security Operations-Instanz haben.
  • Achten Sie darauf, dass Sie Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn Sie einen Proxy verwenden, müssen die Firewallports geöffnet sein.
  • Prüfen Sie, ob Sie privilegierten Zugriff auf Cortex XDR haben.

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

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

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

  1. Greifen Sie auf die Konfigurationsdatei zu:

    1. Suchen Sie die Datei config.yaml. Normalerweise befindet es sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
    2. Ö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: '/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: PAN_EDR
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.

  4. Ersetzen Sie <customer_id> durch die tatsächliche Kunden-ID.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei 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
    

Palo Alto Networks Traps konfigurieren

  1. Melden Sie sich in der Cortex XDR ESM-Konsole an.
  2. Wählen Sie Einstellungen > ESM > Syslog aus.
  3. Klicken Sie das Kästchen Syslog aktivieren an.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Syslog-Server: Geben Sie die IP-Adresse des Bindplane-Agents ein.
    • Syslog-Port: Geben Sie die in BindPlane konfigurierte Portnummer ein, z. B. 514.
    • Syslog-Protokoll: Wählen Sie CEF aus.
    • Legen Sie Keep-Alive-Zeitlimit auf 0 fest.
    • Kommunikationsprotokoll: Wählen Sie UDP aus.
  5. Klicken Sie im Bereich Sicherheitsereignisse die folgenden Kästchen an:
    • Präventionsereignis
    • Benachrichtigungsereignis
    • Nach dem Erkennungsereignis
  6. Klicken Sie auf Verbindung prüfen> Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
agentId event.idm.read_only_udm.additional.fields.value.string_value Der Wert von agentId aus dem Rohlog wird dem Feld string_value in einer verschachtelten Struktur unter additional.fields zugeordnet. Der key für dieses Feld ist auf Agent ID gesetzt.
agentIp event.idm.read_only_udm.target.ip Der Wert von agentIp aus dem Rohlog wird dem Feld target.ip zugeordnet.
cat event.idm.read_only_udm.security_result.rule_name Der Wert von cat aus dem Rohlog wird dem Feld security_result.rule_name zugeordnet.
class event.idm.read_only_udm.security_result.category_details Wird in Verbindung mit subClass verwendet, um security_result.category_details im Format class: subClass auszufüllen.
cs1 event.idm.read_only_udm.principal.application, event.idm.read_only_udm.principal.user.email_addresses Wenn cs1Label gleich email ist und cs1 eine gültige E-Mail-Adresse ist, wird sie principal.user.email_addresses zugeordnet. Wenn cs1Label den Wert Initiated by hat, wird es principal.application zugeordnet.
cs2 event.idm.read_only_udm.principal.process.command_line, event.idm.read_only_udm.security_result.description Wenn cs2Label den Wert subtype hat, wird es security_result.description zugeordnet. Wenn cs2Label den Wert Initiator CMD hat, wird es principal.process.command_line zugeordnet.
cs3 event.idm.read_only_udm.security_result.action_details Wenn cs3Label den Wert result hat, wird es security_result.action_details zugeordnet.
customerId event.idm.read_only_udm.additional.fields.value.string_value Der Wert von customerId aus dem Rohlog wird dem Feld string_value in einer verschachtelten Struktur unter additional.fields zugeordnet. Der key für dieses Feld ist auf Customer ID gesetzt.
date_time event.idm.read_only_udm.metadata.event_timestamp.seconds Wird in einen Zeitstempel geparst und konvertiert und dann metadata.event_timestamp.seconds zugeordnet.
desc event.idm.read_only_udm.metadata.description Der Wert von desc aus dem Rohlog wird dem Feld metadata.description zugeordnet.
deviceName event.idm.read_only_udm.target.hostname Der Wert von deviceName aus dem Rohlog wird dem Feld target.hostname zugeordnet.
email_receiver event.idm.read_only_udm.network.email.to Wird aus dem Feld msg extrahiert, wenn es eine E-Mail-Adresse enthält, und network.email.to zugeordnet.
endpoint_desc event.idm.read_only_udm.target.resource.attribute.labels.value Abgeleitet von isEndpoint: Yes, host is an endpoint., wenn isEndpoint = 1, No, host is not an endpoint, wenn isEndpoint = 0. key ist auf Is Endpoint festgelegt.
eventType event.idm.read_only_udm.metadata.product_event_type, event.idm.read_only_udm.metadata.event_type Der Wert von eventType aus dem Rohlog wird dem Feld metadata.product_event_type zugeordnet. Wird auch verwendet, um metadata.event_type auf Grundlage seines Werts abzuleiten (z.B. Management Audit Logs führt zu EMAIL_TRANSACTION, XDR Analytics BIOC oder Behavioral Threat führt zu SCAN_NETWORK).
facility event.idm.read_only_udm.additional.fields.value.string_value Der Wert von facility aus dem Rohlog wird dem Feld string_value in einer verschachtelten Struktur unter additional.fields zugeordnet. Der key für dieses Feld ist auf Facility gesetzt.
fileHash event.idm.read_only_udm.principal.process.file.sha256 Der Wert von fileHash aus dem Rohlog, in Kleinbuchstaben umgewandelt, wird dem Feld principal.process.file.sha256 zugeordnet.
filePath event.idm.read_only_udm.principal.process.file.full_path Der Wert von filePath aus dem Rohlog wird dem Feld principal.process.file.full_path zugeordnet.
friendlyName event.idm.read_only_udm.metadata.description Der Wert von friendlyName aus dem Rohlog wird dem Feld metadata.description zugeordnet.
interm_ip event.idm.read_only_udm.intermediary.ip Der Wert von interm_ip aus dem Rohlog wird dem Feld intermediary.ip zugeordnet.
isEndpoint event.idm.read_only_udm.target.resource.attribute.labels.value Wird verwendet, um target.resource.attribute.labels.value abzuleiten.
isVdi event.idm.read_only_udm.target.resource.resource_type Wenn isVdi = 1, wird target.resource.resource_type auf VIRTUAL_MACHINE gesetzt.
msg event.idm.read_only_udm.security_result.summary Der Wert von msg aus dem Rohlog wird dem Feld security_result.summary zugeordnet. Wird auch zum Extrahieren von email_receiver verwendet.
msgTextEn event.idm.read_only_udm.security_result.description Der Wert von msgTextEn aus dem Rohlog wird dem Feld security_result.description zugeordnet.
osType event.idm.read_only_udm.target.platform, event.idm.read_only_udm.target.resource.attribute.labels.value Wenn osType = 1, wird target.platform auf WINDOWS gesetzt. Wenn osType = 2, wird target.platform auf MAC gesetzt. Wenn osType = 4, wird target.platform auf LINUX gesetzt. Wenn osType = 3 ist, wird der Wert mit der key OS auf target.resource.attribute.labels.value abgebildet.
osVersion event.idm.read_only_udm.target.platform_version Der Wert von osVersion aus dem Rohlog wird dem Feld target.platform_version zugeordnet.
product_version event.idm.read_only_udm.metadata.product_version Der Wert von product_version aus dem Rohlog wird dem Feld metadata.product_version zugeordnet.
proto event.idm.read_only_udm.network.ip_protocol Wenn proto udp ist, wird network.ip_protocol auf UDP gesetzt.
recordType event.idm.read_only_udm.additional.fields.value.string_value Der Wert von recordType aus dem Rohlog wird dem Feld string_value in einer verschachtelten Struktur unter additional.fields zugeordnet. Der key für dieses Feld ist auf Record Type gesetzt.
regionId event.idm.read_only_udm.principal.location.country_or_region Wenn regionId 10 ist, wird principal.location.country_or_region auf Americas (N. Virginia) festgelegt. Wenn regionId = 70, wird principal.location.country_or_region auf EMEA (Frankfurt) gesetzt.
request event.idm.read_only_udm.target.url Der Wert von request aus dem Rohlog wird dem Feld target.url zugeordnet.
sec_category_details event.idm.read_only_udm.security_result.category_details Der Wert von sec_category_details aus dem Rohlog wird dem Feld security_result.category_details zugeordnet.
sec_desc event.idm.read_only_udm.security_result.description Der Wert von sec_desc aus dem Rohlog wird dem Feld security_result.description zugeordnet.
serverHost event.idm.read_only_udm.principal.hostname Der Wert von serverHost aus dem Rohlog wird dem Feld principal.hostname zugeordnet.
severity event.idm.read_only_udm.security_result.severity Wird security_result.severity mit der folgenden Logik zugeordnet: 2 –> CRITICAL, 3 –> ERROR, 4 –> MEDIUM, 5 –> LOW, 6 –> INFORMATIONAL.
severity_val event.idm.read_only_udm.security_result.severity, event.idm.read_only_udm.security_result.severity_details Wenn severity_val = 0 ist, wird security_result.severity_details auf UNKNOWN_SEVERITY gesetzt. Andernfalls wird sie mit der folgenden Logik security_result.severity zugeordnet: 6 –> LOW, 8 –> MEDIUM, 9 –> HIGH.
shost event.idm.read_only_udm.principal.hostname Der Wert von shost aus dem Rohlog wird dem Feld principal.hostname zugeordnet.
src_ip event.idm.read_only_udm.principal.ip Der Wert von src_ip aus dem Rohlog wird dem Feld principal.ip zugeordnet.
subClass event.idm.read_only_udm.security_result.category_details Wird in Verbindung mit class verwendet, um security_result.category_details auszufüllen.
suser event.idm.read_only_udm.principal.user.user_display_name Der Wert von suser aus dem Rohlog, wobei Klammern, Backslashes und einfache Anführungszeichen entfernt wurden, wird dem Feld principal.user.user_display_name zugeordnet.
targetprocesscmd event.idm.read_only_udm.target.process.command_line Der Wert von targetprocesscmd aus dem Rohlog wird dem Feld target.process.command_line zugeordnet.
targetprocessname event.idm.read_only_udm.target.application Der Wert von targetprocessname aus dem Rohlog wird dem Feld target.application zugeordnet.
targetprocesssha256 event.idm.read_only_udm.target.process.file.sha256 Der Wert von targetprocesssha256 aus dem Rohlog, in Kleinbuchstaben umgewandelt, wird dem Feld target.process.file.sha256 zugeordnet.
tenantname event.idm.read_only_udm.target.resource.attribute.labels.value Der Wert von tenantname aus dem Rohlog wird dem Feld value in einer verschachtelten Struktur unter target.resource.attribute.labels zugeordnet. Der key für dieses Feld ist auf Tenant name gesetzt.
event.idm.read_only_udm.metadata.event_type Standardmäßig auf STATUS_UPDATE festgelegt. Wird auf EMAIL_TRANSACTION gesetzt, wenn eventType gleich Management Audit Logs ist. Wird in SCAN_NETWORK geändert, wenn eventType gleich XDR Analytics BIOC oder Behavioral Threat ist oder wenn desc gleich Behavioral Threat ist. Wird auf SCAN_PROCESS gesetzt, wenn desc gleich Suspicious Process Creation ist. Setze dies auf Palo Alto Networks. Setze dies auf Cortex XDR. Setze dies auf PAN_EDR. Wird auf NETWORK_SUSPICIOUS gesetzt, wenn eventType gleich XDR Analytics BIOC oder Behavioral Threat ist oder wenn desc gleich Behavioral Threat ist.

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