Palo Alto Cortex XDR-Ereignisprotokolle erfassen
In diesem Dokument wird beschrieben, wie Sie Palo Alto Cortex XDR-Ereignisprotokolle mit Google Cloud Storage in Google Security Operations aufnehmen. Der Parser extrahiert Sicherheitsereignisdaten aus Palo Alto Networks Cortex XDR-JSON-Logs. Die Daten werden in das Unified Data Model (UDM) normalisiert. Dazu werden Felder zugeordnet, Datentypen konvertiert und Ereignisse mit Metadaten wie Anbieter, Produkt und Ereignistypen angereichert. Dies geschieht auf Grundlage einer bedingten Logik, die an die Felder event_type und event_sub_type gebunden ist. Außerdem werden Netzwerkverbindungen, Datei- und Registrierungsvorgänge, Prozessinformationen und Nutzeraktivitäten verarbeitet.
Hinweis
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Google Cloud Storage ist in Ihrer Google Cloud Umgebung eingerichtet und aktiv
- Privilegierter Zugriff auf Google Cloud und entsprechende Berechtigungen
- Privilegierter Zugriff auf Palo Alto Cortex XDR
Google Cloud -Storage-Bucket erstellen
- In der Google Cloud Console anmelden
Rufen Sie die Seite Cloud Storage-Buckets auf.
Klicken Sie auf Erstellen.
Geben Sie auf der Seite Bucket erstellen die Bucket-Informationen ein. Klicken Sie nach jedem der folgenden Schritte auf Weiter, um mit dem nächsten Schritt fortzufahren:
Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:
- Geben Sie einen eindeutigen Namen ein, der den Anforderungen für Bucket-Namen entspricht (z. B. cortex-xdr-events-secops).
Wenn Sie den hierarchischen Namespace aktivieren möchten, klicken Sie auf den Maximierungspfeil, um den Bereich Für dateiorientierte und datenintensive Arbeitslasten optimieren zu maximieren, und wählen Sie dann Hierarchischen Namespace für diesen Bucket aktivieren aus.
Wenn Sie ein Bucket-Label hinzufügen möchten, klicken Sie auf den Erweiterungspfeil, um den Abschnitt Labels zu maximieren.
Klicken Sie auf Label hinzufügen und geben Sie einen Schlüssel und einen Wert für das Label an.
Gehen Sie im Bereich Speicherort für Daten auswählen so vor:
- Standorttyp auswählen.
Wählen Sie im Menü für den Standorttyp einen Speicherort aus, an dem die Objektdaten in Ihrem Bucket dauerhaft gespeichert werden sollen.
Wenn Sie die Bucket-übergreifende Replikation einrichten möchten, maximieren Sie den Bereich Bucket-übergreifende Replikation einrichten.
Im Abschnitt Speicherklasse für Ihre Daten auswählen wählen Sie entweder Standardspeicherklasse für den Bucket oder Autoclass zur automatischen Verwaltung der Speicherklassen Ihrer Bucket-Daten aus.
Wählen Sie im Abschnitt Zugriff auf Objekte steuern aus, dass die Verhinderung des öffentlichen Zugriffs nicht erzwungen werden soll, und wählen Sie ein Zugriffssteuerungsmodell für die Objekte Ihres Buckets aus.
Gehen Sie im Bereich Auswählen, wie Objektdaten geschützt werden so vor:
- Wählen Sie unter Datenschutz die Optionen aus, die Sie für Ihren Bucket festlegen möchten.
- Um auszuwählen, wie Ihre Objektdaten verschlüsselt werden, klicken Sie auf den Erweiterungspfeil Datenverschlüsselung und wählen Sie eine Methode für die Datenverschlüsselung aus.
Klicken Sie auf Erstellen.
Konfigurieren Sie eine Regel für die Verwaltung des Objektlebenszyklus für den neu erstellten Ziel-Bucket, um Objekte nach 7 Tagen zu löschen:
- Klicken Sie in der Liste Cloud Storage-Buckets auf den Namen Ihres Buckets.
- Wählen Sie den Tab Lebenszyklus aus und klicken Sie dann auf Regel hinzufügen.
- Wählen Sie im Bereich Aktion auswählen die Option Objekt löschen aus.
- Wählen Sie im Abschnitt Objektbedingungen auswählen die Option Alter aus und legen Sie den Wert auf
7Tage fest. - Klicken Sie auf Speichern.
Cortex XDR-Ereignisweiterleitung konfigurieren
- Melden Sie sich in der Web-UI von Cortex XDR an.
- Rufen Sie Einstellungen > Konfigurationen > Datenverwaltung > Ereignisweiterleitung auf.
- Aktivieren Sie die Lizenzen im Bereich Aktivierung.
- Aktivieren Sie GB Event Forwarding, um geparste Logs für Cortex XDR Pro pro GB zur Speicherung in ein externes SIEM zu exportieren.
- Aktivieren Sie die Endpoints-Ereignisweiterleitung, um Rohdaten von Endpunkten für Cortex XDR Pro EP und Cloud Endpoints zu exportieren.
- Speichern Sie die Auswahl.
- Kopieren Sie den angezeigten Speicherpfad.
- Generieren und laden Sie das JSON Web Token für das Dienstkonto herunter, das den Zugriffsschlüssel enthält.
- Speichern Sie sie an einem sicheren Ort.
Google Cloud Secret Manager konfigurieren
- Melden Sie sich in der GCP an.
- Rufen Sie die Seite Secret Manager auf.
- Wenn Sie dies zum ersten Mal tun, werden Sie aufgefordert, die Secret Manager API zu aktivieren.
- Erstellen Sie ein Secret mit dem Namen EVENT_FRWD_CRTX_KEY und kopieren Sie den Inhalt der heruntergeladenen JSON-Datei xdr_sa_key.json als Wert des Secrets.
Feeds einrichten
So konfigurieren Sie einen Feed:
- Rufen Sie die Einstellungen > Datenverwaltung > Feeds auf. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einzelnen Feed konfigurieren.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. PANW Cortex XDR-Ereignisprotokolle.
- Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
- Wählen Sie Palo Alto Cortex XDR-Ereignisse als Logtyp aus.
- Klicken Sie auf Dienstkonto abrufen, um das Chronicle-Dienstkonto abzurufen.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
- Storage-Bucket-URI: Google Cloud Storage-Bucket-URL (z. B.
gs://cortex-xdr-events-secops/). Diese URL muss mit einem Schrägstrich (/) enden. Optionen zum Löschen der Quelle: Wählen Sie Übertragene Dateien nicht löschen aus.
Maximales Dateialter: Es werden Dateien berücksichtigt, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.
- Storage-Bucket-URI: Google Cloud Storage-Bucket-URL (z. B.
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
Nachdem der Feed erstellt wurde, suchen Sie ihn in der Liste Feeds und klicken Sie rechts in der Zeile auf das Dreipunkt-Menü.
Wählen Sie Feed deaktivieren aus.
Secret-JSON-Zugriff auf Cloud Storage konfigurieren
- Melden Sie sich in der GCP an.
- Rufen Sie die Seite Secret Manager auf.
- Wählen Sie das Secret EVENT_FRWD_CRTX_KEY aus.
- Wechseln Sie zum Tab Berechtigungen.
- Gewähren Sie den Zugriff Storage-Objekt-Administrator und Storage-Legacy-Bucket-Leser auf den zuvor erstellten Bucket cortex-xdr-events-secops.
Google SecOps-Berechtigungen für Cloud Storage konfigurieren
- Rufen Sie IAM & Verwaltung > IAM auf.
- Suchen Sie das Chronicle-Dienstkonto.
- Gewähren Sie dem Storage Object Viewer (roles/storage.objectViewer) Zugriff auf den zuvor erstellten Bucket cortex-xdr-events-secops.
Aufnahme von PANW Cortex XDR-Ereignisprotokollen in Project Cloud Storage konfigurieren
- Rufen Sie in Google CloudAPIs und Dienste > Bibliothek auf.
- Aktivieren Sie die Cloud Run API und die Artifact Registry API.
- Öffnen Sie Cloud Shell, indem Sie in der oberen Navigationsleiste auf das entsprechende Symbol klicken.
Laden Sie mit dem folgenden Befehl einen benutzerdefinierten Code herunter:
git clone https://github.com/PaloAltoNetworks/google-cloud-cortex-chronicle.gitWechseln Sie mit dem folgenden Befehl in das Verzeichnis:
cd google-cloud-cortex-chronicle/Öffnen Sie die Datei
env.propertiesmit einem Editor wievi.Geben Sie die folgenden Konfigurationsdetails an:
REGION=us-central1 # Update according to your project region REPO_NAME=panw-chronicle IMAGE_NAME=sync_cortex_bucket GCP_PROJECT_ID=chrxxxxxxxxx # Update according to your project ID JOB_NAME=cloud-run-job-cortex-data-sync # The Cloud Job name ROJECT_NUMBER=80xxxxx9 # Update according to your project number # JOB ENV VARIABLES SRC_BUCKET=xdr-us-xxxxx-event-forwarding # Update with the Cortex XDR GCS bucket name DEST_BUCKET=cortex-xdr-events-secops # Update with the GCS name of the bucket you created SECRET_NAME=EVENT_FRWD_CRTX_KEY # Need to match the secret you created JOB_SCHEDULE_MINS=30Stellen Sie dem Skript
deploy.shdie erforderlichen Berechtigungen bereit:chmod 744 deploy.shFühren Sie das Skript
deploy.shaus:./deploy.shErmitteln Sie das verwendete Cloud Job-Dienstkonto aus der Skriptausgabe.
Gewähren Sie dem Dienstkonto Cloud Job die Berechtigung Secret Manager Secret Ancestor, um auf das zuvor erstellte Secret zuzugreifen (in unserem Beispiel EVENT_FRWD_CRTX_KEY).
Gehen Sie zu Secret Manager > EVENT_FRWD_CRTX_KEY (Secret) > Berechtigungen.
Rufen Sie in der Google SecOps-Plattform Einstellungen > Datenverwaltung > Feeds > Name des XDR-Ereignisfeeds > Feed aktivieren auf.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
action_file_path |
target.file.full_path |
Direkt zugeordnet |
action_file_size |
target.file.size |
Direkt zugeordnet und in eine vorzeichenlose Ganzzahl konvertiert |
action_local_ip |
principal.ip |
Direkt zugeordnet und mit anderen IP-Adressen zusammengeführt |
action_local_port |
principal.port |
Direkt zugeordnet und in Ganzzahl konvertiert |
action_module_path |
target.process.file.full_path |
Direkt zugeordnet |
action_network_connection_id |
network.session_id |
Direkt zugeordnet |
action_network_protocol |
network.ip_protocol |
Umbenannt in protocol_number_src, geparst mit parse_ip_protocol.include und zugeordnet zu network.ip_protocol |
action_process_image_command_line |
target.process.command_line |
Direkt zugeordnet |
action_process_image_md5 |
target.process.file.md5 |
Direkt zugeordnet |
action_process_image_path |
target.process.file.full_path |
Direkt zugeordnet |
action_process_image_sha256 |
target.process.file.sha256 |
Direkt zugeordnet |
action_process_os_pid |
target.process.pid |
Direkt zugeordnet und in String konvertiert |
action_process_user_sid |
target.user.windows_sid |
Direkt zugeordnet |
action_process_username |
target.user.userid, target.administrative_domain |
In Kleinbuchstaben umgewandelt, nach Domain und Nutzer geparst und entsprechend zugeordnet |
action_registry_data |
target.registry.registry_value_data |
Direkt zugeordnet |
action_registry_key_name |
target.registry.registry_key |
Direkt zugeordnet |
action_registry_value_name |
target.registry.registry_value_name |
Direkt zugeordnet |
action_remote_ip |
target.ip |
Direkt zugeordnet und mit anderen IP-Adressen zusammengeführt |
action_remote_port |
target.port |
Direkt zugeordnet und in Ganzzahl konvertiert |
action_total_download |
network.received_bytes |
Direkt zugeordnet und in eine vorzeichenlose Ganzzahl konvertiert |
action_total_upload |
network.sent_bytes |
Direkt zugeordnet und in eine vorzeichenlose Ganzzahl konvertiert |
agent_hostname |
principal.hostname, observer.hostname |
In Kleinbuchstaben umgewandelt und zugeordnet |
agent_ip_addresses |
observer.ip |
Als JSON geparst, in einzelne IP-Adressen aufgeteilt und zusammengeführt |
agent_os_sub_type |
target.platform_version |
Direkt zugeordnet |
event_id |
metadata.product_log_id |
Direkt zugeordnet |
event_sub_type |
metadata.product_event_type |
In String konvertiert und für die bedingte Zuordnung von metadata.event_type und metadata.product_event_type verwendet |
event_timestamp |
metadata.event_timestamp, timestamp |
In String konvertiert, als UNIX_MS-Zeitstempel geparst und zugeordnet |
event_type |
metadata.event_type |
In String konvertiert und für die bedingte Zuordnung von metadata.event_type und metadata.product_event_type verwendet |
os_actor_process_command_line |
principal.process.command_line |
Direkt zugeordnet |
os_actor_process_image_md5 |
principal.process.file.md5 |
Direkt zugeordnet |
os_actor_process_image_path |
principal.process.file.full_path |
Direkt zugeordnet |
os_actor_process_image_sha256 |
principal.process.file.sha256 |
Direkt zugeordnet |
os_actor_process_instance_id |
principal.process.product_specific_process_id |
Mit dem Präfix „PAN:“ versehen und zugeordnet |
os_actor_process_os_pid |
principal.process.pid |
In String konvertiert und zugeordnet |
os_actor_primary_user_sid |
principal.user.windows_sid |
Wird zugeordnet, wenn sie mit „S-“ oder „s-“ beginnt |
os_actor_primary_username |
principal.user.userid, principal.administrative_domain |
In Kleinbuchstaben umgewandelt, nach Domain und Nutzer geparst und entsprechend zugeordnet |
_action |
security_result.action |
Mit _security_result zusammengeführt und dann zugeordnet |
metadata.log_type |
metadata.log_type |
Hartcodiert auf „PAN_CORTEX_XDR_EVENTS“ |
metadata.product_name |
metadata.product_name |
Hartcodiert auf „Cortex XDR“ |
metadata.vendor_name |
metadata.vendor_name |
Hartcodiert auf „PAN“ |
target.platform |
target.platform |
Auf „WINDOWS“ festgelegt, wenn agent_os_sub_type „Windows“ enthält |
action_user_session_id |
event.idm.read_only_udm.network.session_id |
Aus Änderungsprotokoll zugeordnet |
action_username |
event.idm.read_only_udm.principal.user.user_display_name |
Aus Änderungsprotokoll zugeordnet |
agent_ip_addresses |
event.idm.read_only_udm.principal.ip und event.idm.read_only_udm.principal.asset.ip |
Aus Änderungsprotokoll zugeordnet |
agent_os_sub_type |
event.idm.read_only_udm.principal.platform_version |
Aus Änderungsprotokoll zugeordnet |
agent_id |
event.idm.read_only_udm.principal.asset.asset_id und event.idm.read_only_udm.principal.asset_id |
Aus Änderungsprotokoll zugeordnet |
agent_os_type |
event.idm.read_only_udm.principal.platform |
Aus Änderungsprotokoll zugeordnet |
action_process_token |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
action_process_fds |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
action_process_termination_date |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
action_process_termination_code |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
action_network_stats_is_last |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
action_user_is_local_session |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
action_user_status |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
event_version |
event.idm.read_only_udm.metadata.product_version |
Aus Änderungsprotokoll zugeordnet |
action_file_previous_file_path |
event.idm.read_only_udm.principal.file.full_path |
Aus Änderungsprotokoll zugeordnet |
agent_interface_map.ipv4 |
event.idm.read_only_udm.observer.ip |
Aus Änderungsprotokoll zugeordnet |
agent_interface_map.mac |
event.idm.read_only_udm.observer.mac |
Aus Änderungsprotokoll zugeordnet |
action_file_last_writer_actor |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
action_file_device_type |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
action_file_previous_file_name |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
action_file_name |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
agent_id |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
agent_version |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
agent_os_type |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
os_actor_thread_thread_id |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
action_file_type |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
action_file_prev_type |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
os_actor_process_signature_status |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
os_actor_process_logon_id |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
agent_content_version |
event.idm.read_only_udm.additional.fields |
Aus Änderungsprotokoll zugeordnet |
action_module_image_size |
event.idm.read_only_udm.target.file.size |
Aus Änderungsprotokoll zugeordnet |
action_file_md5 |
event.idm.read_only_udm.target.file.md5 |
Aus Änderungsprotokoll zugeordnet |
action_file_sha256 |
event.idm.read_only_udm.target.file.sha256 |
Aus Änderungsprotokoll zugeordnet |
action_module_md5 |
target.process.file.md5 |
Aus Änderungsprotokoll zugeordnet |
action_module_sha256 |
target.process.file.sha256 |
Aus Änderungsprotokoll zugeordnet |
metadata.event_type |
GENERIC_EVENT. |
Aus Änderungsprotokoll zugeordnet |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten