Protokolle für Palo Alto Cortex XDR-Ereignisse erfassen
In diesem Dokument wird beschrieben, wie Sie Palo Alto Cortex XDR-Ereignislogs mit Google Cloud Storage in Google Security Operations aufnehmen. Der Parser extrahiert Sicherheitsereignisdaten aus JSON-Protokollen von Palo Alto Networks Cortex XDR. Die Daten werden normalisiert, indem Felder zugeordnet, Datentypen konvertiert und Ereignisse mit Metadaten wie Anbieter, Produkt und Ereignistypen angereichert werden. Dies erfolgt auf Grundlage der bedingten Logik, die mit den Feldern event_type
und event_sub_type
verknüpft ist. Außerdem werden Netzwerkverbindungen, Datei- und Registrierungsvorgänge, Prozessinformationen und Nutzeraktivitäten verarbeitet.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Google Cloud Speicher 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
- Melden Sie sich in der Google Cloud -Konsole an.
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-googlesecops). * 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.
Note: You can't enable hierarchical namespace in an existing bucket. * To add a bucket label, click the expander arrow to expand the **Labels** section. * Click **Add label** and specify a key and a value for your label.
Gehen Sie im Bereich Speicherort für Daten auswählen so vor: * Wählen Sie einen Standorttyp aus. * Wählen Sie im Menü des Standorttyps einen Speicherort aus, an dem die Objektdaten in Ihrem Bucket dauerhaft gespeichert werden sollen.
Note: If you select the **dual-region** location type, you can also choose to enable **turbo replication** by selecting the relevant checkbox. * To set up cross-bucket replication, expand the **Set up cross-bucket replication** section.
Wählen Sie im Abschnitt Speicherklasse für Ihre Daten auswählen entweder eine Standardspeicherklasse für den Bucket oder Autoclass für die automatische Verwaltung der Speicherklassen Ihrer Bucket-Daten aus.
Wählen Sie im Abschnitt Zugriff auf Objekte steuern die Option nicht aus, um die Verhinderung des öffentlichen Zugriffs zu erzwingen, 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 eine der Optionen unter Datenschutz aus, die Sie für Ihren Bucket festlegen möchten. * Wenn Sie auswählen möchten, 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.
Cortex XDR-Ereignisweiterleitung konfigurieren
- Melden Sie sich in der Cortex XDR-Web-UI an.
- Rufen Sie die Einstellungen > Konfigurationen > Datenverwaltung > Ereignisweiterleitung auf.
- Aktivieren Sie die Lizenzen im Abschnitt Aktivierung.
- Aktivieren Sie GB Event Forwarding (Weiterleitung von Ereignissen pro GB), um geparste Logs für Cortex XDR Pro pro GB zur Speicherung in ein externes SIEM zu exportieren.
- Aktivieren Sie Endpoints Event Forwarding (Weiterleitung von Endpunkt-Ereignissen), 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 herunterladen Sie das JSON-Webtoken des Dienstkontos, 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 das 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 JSON-Datei xdr_sa_key.json, die Sie heruntergeladen haben, als Wert des Secrets.
Feeds einrichten
Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:
- SIEM-Einstellungen > Feeds
- Content Hub> Content-Pakete
Feeds über „SIEM-Einstellungen“ > „Feeds“ einrichten
So konfigurieren Sie einen Feed:
- Rufen Sie die SIEM-Einstellungen> Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
- Geben Sie im Feld Feed name (Feedname) einen Namen für den Feed ein, z. B. PANW Cortex XDR Event Logs (PANW Cortex XDR-Ereignisprotokolle).
- Wählen Sie Google Cloud Storage als Quelltyp aus.
- Wählen Sie Palo Alto Cortex XDR-Ereignisse als Logtyp aus.
- Klicken Sie auf Dienstkonto abrufen als Chronicle-Dienstkonto.
- 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-chronicle
). - URI Is A (URI ist ein): Wählen Sie Directory which includes subdirectories (Verzeichnis mit Unterverzeichnissen) aus.
- Optionen zum Löschen von Quellen: Wählen Sie eine Löschoption aus.
- 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 neben der Zeile auf das Dreipunkt-Menü.
Wählen Sie Feed deaktivieren aus.
Feeds über den Content Hub einrichten
Geben Sie Werte für die folgenden Felder an:
- Storage-Bucket-URI: Google Cloud Storage-Bucket-URL (z. B.
gs://cortex-xdr-events-chronicle
). - URI Is A (URI ist ein): Wählen Sie Directory which includes subdirectories (Verzeichnis mit Unterverzeichnissen) aus.
Optionen zum Löschen von Quellen: Wählen Sie eine Löschoption aus.
Erweiterte Optionen
- Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
- Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
- Asset-Namespace: Der Namespace, der dem Feed zugeordnet ist.
- Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
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.
- Rufen Sie den Tab Berechtigungen auf.
- Gewähren Sie dem zuvor erstellten Bucket cortex-xdr-events-chronicle die Rollen Storage-Objekt-Administrator und Leser alter Storage-Buckets.
Google SecOps-Berechtigungen für Cloud Storage konfigurieren
- Rufen Sie IAM & Verwaltung > IAM auf.
- Suchen Sie das Chronicle-Dienstkonto.
- Gewähren Sie der Rolle Storage-Objekt-Betrachter (roles/storage.objectViewer) Zugriff auf den zuvor erstellten Bucket cortex-xdr-events-chronicle.
Erfassung von PANW Cortex XDR-Ereignisprotokollen in Project Cloud Storage konfigurieren
- Rufen Sie in Google CloudAPIs und Dienste > Bibliothek auf.
- Aktivieren Sie die Cloud Run und Artifact Registry APIs.
- Öffnen Sie Cloud Shell, indem Sie in der oberen Navigationsleiste auf das Symbol klicken.
Laden Sie benutzerdefinierten Code mit dem folgenden Befehl herunter:
git clone https://github.com/PaloAltoNetworks/google-cloud-cortex-chronicle.git
Wechseln Sie mit dem folgenden Befehl in das Verzeichnis:
cd google-cloud-cortex-chronicle/
Öffnen Sie die Datei
env.properties
mit 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-chronicle # 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=30
Erteilen Sie dem
deploy.sh
-Skript die erforderlichen Berechtigungen:chmod 744 deploy.sh
Führen Sie das Skript
deploy.sh
aus:./deploy.sh
Ermitteln Sie das verwendete Cloud Job-Dienstkonto aus der Skriptausgabe.
Erteilen Sie dem Cloud Job-Dienstkonto die Berechtigung Secret Manager Secret Ancestor für den Zugriff auf das Secret, das Sie zuvor erstellt haben (im Beispiel EVENT_FRWD_CRTX_KEY).
Gehen Sie zu Secret Manager > EVENT_FRWD_CRTX_KEY (Secret) > Berechtigungen.
Rufen Sie in der Google SecOps-Plattform SIEM-Einstellungen> Feeds > XDR-Ereignisfeedname > 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 eine 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 , mit parse_ip_protocol.include geparst und network.ip_protocol zugeordnet |
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, 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 eine 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 und zugeordnet |
agent_ip_addresses |
observer.ip |
Als JSON geparst, in einzelne IPs 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 „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, 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 |
Fest codiert auf „PAN_CORTEX_XDR_EVENTS“ |
metadata.product_name |
metadata.product_name |
Fest codiert auf „Cortex XDR“ |
metadata.vendor_name |
metadata.vendor_name |
Fest codiert auf „PAN“ |
target.platform |
target.platform |
Auf „WINDOWS“ festgelegt, wenn agent_os_sub_type „Windows“ enthält |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten