Palo Alto Networks Traps-Protokolle erfassen

Unterstützt in:

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

Hinweise

  • Sie benötigen eine Google Security Operations-Instanz.
  • Sie müssen Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
  • Sie benötigen Lese- und Schreibzugriff auf Cortex XDR.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
  3. Lade die Datei zur Authentifizierung der Datenaufnahme 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 Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Profil.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.

Bindplane-Agent installieren

Windows-Installation

  1. Öffnen Sie die Eingabeaufforderung oder die 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
    

Weitere Installationsressourcen

Bindplane-Agent so konfigurieren, dass er Syslog-Daten aufnimmt und an Google SecOps sendet

  1. Rufen Sie die Konfigurationsdatei auf:

    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 Kundennummer.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json im Abschnitt Authentifizierungsdatei für die Datenaufnahme von Google SecOps abrufen auf den Pfad, unter dem die Authentifizierungsdatei gespeichert wurde.

Starten Sie den Bindplane-Agent neu, um die Änderungen anzuwenden

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

    sudo systemctl restart bindplane-agent
    
  • Sie können den Bindplane-Agenten unter Windows entweder über die Dienste-Konsole oder mit dem folgenden Befehl neu starten:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Palo Alto Networks-Fallen 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 für das Keep-alive-Zeitlimit den Wert „0“ fest.
    • Kommunikationsprotokoll: Wählen Sie UDP aus.
  5. Klicken Sie im Bereich Sicherheitsereignisse auf die folgenden Kästchen:
    • Präventionsereignis
    • Benachrichtigungsereignis
    • Ereignis nach der Erkennung
  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 Rohprotokoll wird dem Feld string_value in einer verschachtelten Struktur unter additional.fields zugeordnet. Die key für dieses Feld ist auf Agent ID gesetzt.
agentIp event.idm.read_only_udm.target.ip Der Wert von agentIp aus dem Rohprotokoll wird dem Feld target.ip zugeordnet.
cat event.idm.read_only_udm.security_result.rule_name Der Wert von cat aus dem Rohprotokoll 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 mit dem Format class: subClass zu füllen.
cs1 event.idm.read_only_udm.principal.application, event.idm.read_only_udm.principal.user.email_addresses Wenn cs1Label email ist und cs1 eine gültige E-Mail-Adresse ist, wird sie principal.user.email_addresses zugeordnet. Wenn cs1Label = Initiated by ist, 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 = subtype ist, wird es security_result.description zugeordnet. Wenn cs2Label = Initiator CMD ist, wird es principal.process.command_line zugeordnet.
cs3 event.idm.read_only_udm.security_result.action_details Wenn cs3Label = result ist, wird es security_result.action_details zugeordnet.
customerId event.idm.read_only_udm.additional.fields.value.string_value Der Wert von customerId aus dem Rohprotokoll wird dem Feld string_value in einer verschachtelten Struktur unter additional.fields zugeordnet. Die key für dieses Feld ist auf Customer ID gesetzt.
date_time event.idm.read_only_udm.metadata.event_timestamp.seconds Geparst und in einen Zeitstempel umgewandelt, dann metadata.event_timestamp.seconds zugeordnet.
desc event.idm.read_only_udm.metadata.description Der Wert von desc aus dem Rohprotokoll wird dem Feld metadata.description zugeordnet.
deviceName event.idm.read_only_udm.target.hostname Der Wert von deviceName aus dem Rohprotokoll 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 auf network.email.to zugeordnet ist.
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 Rohprotokoll wird dem Feld metadata.product_event_type zugeordnet. Wird auch verwendet, um metadata.event_type anhand des Werts abzuleiten (z.B. Management Audit Logs ergibt EMAIL_TRANSACTION, XDR Analytics BIOC oder Behavioral Threat ergibt SCAN_NETWORK).
facility event.idm.read_only_udm.additional.fields.value.string_value Der Wert von facility aus dem Rohprotokoll wird dem Feld string_value in einer verschachtelten Struktur unter additional.fields zugeordnet. Die 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 Rohprotokoll wird in Kleinbuchstaben umgewandelt und dem Feld principal.process.file.sha256 zugeordnet.
filePath event.idm.read_only_udm.principal.process.file.full_path Der Wert von filePath aus dem Rohprotokoll wird dem Feld principal.process.file.full_path zugeordnet.
friendlyName event.idm.read_only_udm.metadata.description Der Wert von friendlyName aus dem Rohprotokoll wird dem Feld metadata.description zugeordnet.
interm_ip event.idm.read_only_udm.intermediary.ip Der Wert von interm_ip aus dem Rohprotokoll 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 ist, wird target.resource.resource_type auf VIRTUAL_MACHINE gesetzt.
msg event.idm.read_only_udm.security_result.summary Der Wert von msg aus dem Rohprotokoll 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 Rohprotokoll 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 ist, wird target.platform auf WINDOWS gesetzt. Wenn osType = 2 ist, wird target.platform auf MAC gesetzt. Wenn osType = 4 ist, wird target.platform auf LINUX gesetzt. Wenn osType 3 ist, wird der Wert mit dem key OS auf target.resource.attribute.labels.value zugeordnet.
osVersion event.idm.read_only_udm.target.platform_version Der Wert von osVersion aus dem Rohprotokoll wird dem Feld target.platform_version zugeordnet.
product_version event.idm.read_only_udm.metadata.product_version Der Wert von product_version aus dem Rohprotokoll 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 Rohprotokoll wird dem Feld string_value in einer verschachtelten Struktur unter additional.fields zugeordnet. Die 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) gesetzt. Wenn regionId = 70 ist, wird principal.location.country_or_region auf EMEA (Frankfurt) gesetzt.
request event.idm.read_only_udm.target.url Der Wert von request aus dem Rohprotokoll 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 Rohprotokoll 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 Rohprotokoll wird dem Feld security_result.description zugeordnet.
serverHost event.idm.read_only_udm.principal.hostname Der Wert von serverHost aus dem Rohprotokoll wird dem Feld principal.hostname zugeordnet.
severity event.idm.read_only_udm.security_result.severity Sie werden security_result.severity mit der folgenden Logik zugeordnet: 2 -> KRITISCH, 3 -> FEHLER, 4 -> MITTEL, 5 -> NIEDRIG, 6 -> INFORMATIONSMELDUNG.
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 es security_result.severity mit der folgenden Logik zugeordnet: 6 -> NIEDRIG, 8 -> MITTEL, 9 -> HOCH.
shost event.idm.read_only_udm.principal.hostname Der Wert von shost aus dem Rohprotokoll wird dem Feld principal.hostname zugeordnet.
src_ip event.idm.read_only_udm.principal.ip Der Wert von src_ip aus dem Rohprotokoll 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 Rohprotokoll, bei dem Klammern, umgekehrte Schrägstriche 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 Rohprotokoll wird dem Feld target.process.command_line zugeordnet.
targetprocessname event.idm.read_only_udm.target.application Der Wert von targetprocessname aus dem Rohprotokoll wird dem Feld target.application zugeordnet.
targetprocesssha256 event.idm.read_only_udm.target.process.file.sha256 Der Wert von targetprocesssha256 aus dem Rohprotokoll wird in Kleinbuchstaben umgewandelt und dem Feld target.process.file.sha256 zugeordnet.
tenantname event.idm.read_only_udm.target.resource.attribute.labels.value Der Wert von tenantname aus dem Rohprotokoll wird dem Feld value in einer verschachtelten Struktur unter target.resource.attribute.labels zugeordnet. Die 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 zu EMAIL_TRANSACTION geändert, wenn eventType gleich Management Audit Logs ist. Wird in SCAN_NETWORK geändert, wenn eventType XDR Analytics BIOC oder Behavioral Threat ist oder desc Behavioral Threat ist. Wird zu SCAN_PROCESS geändert, wenn desc gleich Suspicious Process Creation ist. Legen Sie Palo Alto Networks fest. Legen Sie Cortex XDR fest. Legen Sie PAN_EDR fest. Wird auf NETWORK_SUSPICIOUS gesetzt, wenn eventType gleich XDR Analytics BIOC oder Behavioral Threat ist oder desc gleich Behavioral Threat ist.

Änderungen

2022-08-22

Optimierung:

  • Der Parser wurde von SDM-Zuordnungen auf UDM-Zuordnungen umgestellt.
  • Alle neu aufgenommenen Protokolle wurden verarbeitet.
  • Gehandelte Protokolle mit dem Datentyp „Logweiterleitung“
  • Auch andere syslog-, config- und bedrohungsbezogene Meldungen wurden bearbeitet.
  • Falsch formatierte Protokolle werden verworfen.

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