Raccogli i log eventi di Palo Alto Cortex XDR

Supportata in:

Questo documento spiega come importare i log eventi di Palo Alto Cortex XDR in Google Security Operations utilizzando Google Cloud Storage. Il parser estrae i dati degli eventi di sicurezza dai log JSON di Palo Alto Networks Cortex XDR. Normalizza i dati nel formato Unified Data Model (UDM) mappando i campi, convertendo i tipi di dati e arricchendo gli eventi con metadati come fornitore, prodotto e tipi di eventi in base alla logica condizionale legata ai campi event_type e event_sub_type. Gestisce anche le connessioni di rete, le operazioni su file e registro, le informazioni sui processi e l'attività utente.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google SecOps
  • Google Cloud Lo spazio di archiviazione è configurato e attivo nel tuo ambiente Google Cloud
  • Accesso privilegiato a Google Cloud e autorizzazioni appropriate
  • Accesso con privilegi a Palo Alto Cortex XDR

Crea un bucket di archiviazione Google Cloud

  1. Accedi alla console Google Cloud .
  2. Vai alla pagina Bucket Cloud Storage.

    Vai a Bucket

  3. Fai clic su Crea.

  4. Nella pagina Crea un bucket, inserisci le informazioni del bucket. Dopo ciascuno dei seguenti passaggi, fai clic su Continua per procedere con il passaggio successivo:

  5. Nella sezione Inizia, segui questi passaggi:

    1. Inserisci un nome univoco che soddisfi i requisiti per i nomi dei bucket (ad esempio, cortex-xdr-events-secops).
    2. Per abilitare lo spazio dei nomi gerarchico, fai clic sulla freccia di espansione per espandere la sezione Ottimizza per workload orientati ai file e con uso intensivo dei dati, quindi seleziona Abilita uno spazio dei nomi gerarchico in questo bucket.

    3. Per aggiungere un'etichetta del bucket, fai clic sulla freccia di espansione per espandere la sezione Etichette.

    4. Fai clic su Aggiungi etichetta e specifica una chiave e un valore per l'etichetta.

  6. Nella sezione Scegli dove archiviare i tuoi dati, segui questi passaggi:

    1. Seleziona un Tipo di località.
    2. Utilizza il menu del tipo di località per selezionare una località in cui i dati degli oggetti all'interno del bucket verranno archiviati in modo permanente.

    3. Per configurare la replica tra bucket, espandi la sezione Configura la replica tra bucket.

  7. Nella sezione Scegli una classe di archiviazione per i tuoi dati, seleziona una classe di archiviazione predefinita per il bucket o seleziona Autoclass per la gestione automatica della classe di archiviazione dei dati del bucket.

  8. Nella sezione Scegli come controllare l'accesso agli oggetti, seleziona non per applicare la prevenzione dell'accesso pubblico e seleziona un modello di controllo degli accessi per gli oggetti del bucket.

  9. Nella sezione Scegli come proteggere i dati degli oggetti, segui questi passaggi:

    1. Seleziona una delle opzioni in Protezione dei dati che vuoi impostare per il bucket.
    2. Per scegliere come criptare i dati degli oggetti, fai clic sulla freccia di espansione Crittografia dei dati e seleziona un Metodo di crittografia dei dati.
  10. Fai clic su Crea.

  11. Configura una regola di Gestione del ciclo di vita degli oggetti sul bucket di destinazione appena creato per eliminare gli oggetti dopo 7 giorni:

    1. Nell'elenco Bucket Cloud Storage, fai clic sul nome del tuo bucket.
    2. Seleziona la scheda Ciclo di vita, quindi fai clic su Aggiungi una regola.
    3. Nella sezione Seleziona un'azione, seleziona Elimina oggetto.
    4. Nella sezione Seleziona le condizioni dell'oggetto, seleziona Età e imposta il valore su 7 giorni.
    5. Fai clic su Salva.

Configura l'inoltro degli eventi Cortex XDR

  1. Accedi alla UI web di Cortex XDR.
  2. Vai a Impostazioni > Configurazioni > Gestione dei dati > Event Forwarding.
  3. Attiva le licenze nella sezione Attivazione.
  4. Attiva GB Event Forwarding per esportare i log analizzati per Cortex XDR Pro per GB in un SIEM esterno per l'archiviazione.
  5. Attiva Endpoints Event Forwarding (Inoltro di eventi degli endpoint) per esportare i dati non elaborati degli endpoint per Cortex XDR Pro EP e Cloud Endpoints.
  6. Salva la selezione.
  7. Copia il percorso di archiviazione visualizzato.
  8. Genera e scarica il JSON WEB TOKEN del service account, che contiene la chiave di accesso.
  9. Salvalo in un luogo sicuro.

Configura Google Cloud Secret Manager

  1. Accedi a GCP.
  2. Vai alla pagina Secret Manager.
  3. Se è la prima volta, ti verrà chiesto di abilitare l'API Secret Manager.
  4. Crea un secret denominato EVENT_FRWD_CRTX_KEY e copia i contenuti del file JSON xdr_sa_key.json che hai scaricato come valore del secret.

Configura i feed

Per configurare un feed:

  1. Vai a Impostazioni > Gestione dei dati > Feed. Se utilizzi una piattaforma solo SIEM, vai a Impostazioni > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed (ad esempio, PANW Cortex XDR log eventi).
  5. Seleziona Google Cloud Storage V2 come Tipo di origine.
  6. Seleziona Palo Alto Cortex XDR Events come Tipo di log.
  7. Fai clic su Ottieni service account come Service account Chronicle.
  8. Fai clic su Avanti.
  9. Specifica i valori per i seguenti parametri di input:

    • URI bucket di archiviazione: Google Cloud URL del bucket di archiviazione (ad esempio, gs://cortex-xdr-events-secops/). Questo URL deve terminare con una barra (/).
    • Opzioni di eliminazione dell'origine: seleziona Non eliminare i file trasferiti.

    • Età massima dei file: include i file modificati negli ultimi giorni. Il valore predefinito è 180 giorni.

  10. Fai clic su Avanti.

  11. Controlla la nuova configurazione del feed di notizie nella schermata Finalizza e poi fai clic su Invia.

  12. Dopo aver creato il feed, trovalo nell'elenco Feed e fai clic sui tre puntini delle azioni sul lato destro della riga.

  13. Seleziona Disattiva feed.

Configura l'accesso JSON ai secret per Cloud Storage

  1. Accedi a GCP.
  2. Vai alla pagina Secret Manager.
  3. Seleziona il secret EVENT_FRWD_CRTX_KEY.
  4. Vai alla scheda Autorizzazioni.
  5. Fornisci l'accesso Storage Object Admin e Storage Legacy Bucket Reader al bucket cortex-xdr-events-secops creato in precedenza.

Configura le autorizzazioni di Google SecOps per Cloud Storage

  1. Vai a IAM e amministrazione > IAM.
  2. Individua il service account Chronicle.
  3. Concedi l'accesso Storage Object Viewer (roles/storage.objectViewer) al bucket cortex-xdr-events-secops creato in precedenza.

Configura l'importazione dei log degli eventi PANW Cortex XDR in Cloud Storage del progetto

  1. In Google Cloud, vai ad API e servizi > Libreria.
  2. Abilita le API Cloud Run e Artifact Registry.
  3. Apri Cloud Shell facendo clic sull'icona nella barra di navigazione in alto.
  4. Scarica un codice personalizzato utilizzando il seguente comando:

    git clone https://github.com/PaloAltoNetworks/google-cloud-cortex-chronicle.git
    
  5. Vai alla directory eseguendo questo comando:

    cd google-cloud-cortex-chronicle/
    
  6. Apri il file env.properties con un editor come vi.

  7. Fornisci i seguenti dettagli di configurazione:

    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=30
    
  8. Fornisci le autorizzazioni necessarie allo script deploy.sh:

    chmod 744 deploy.sh
    
  9. Esegui lo script deploy.sh:

    ./deploy.sh
    
  10. Identifica il account di servizio Cloud Job utilizzato dall'output dello script.

  11. Concedi al account di servizio Cloud Job l'autorizzazione Secret Manager Secret Ancestor per accedere al secret creato in precedenza (come nel nostro esempio, EVENT_FRWD_CRTX_KEY).

  12. Vai a Secret Manager > EVENT_FRWD_CRTX_KEY (secret) > Autorizzazioni.

  13. Nella piattaforma Google SecOps, vai a Impostazioni > Gestione dei dati > Feed > Nome feed eventi XDR > Attiva feed.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
action_file_path target.file.full_path Mappatura diretta
action_file_size target.file.size Mappato e convertito direttamente in un numero intero senza segno
action_local_ip principal.ip Mappati direttamente e uniti ad altri indirizzi IP
action_local_port principal.port Mappato direttamente e convertito in numero intero
action_module_path target.process.file.full_path Mappatura diretta
action_network_connection_id network.session_id Mappatura diretta
action_network_protocol network.ip_protocol Rinominato in protocol_number_src, analizzato utilizzando parse_ip_protocol.include e mappato a network.ip_protocol
action_process_image_command_line target.process.command_line Mappatura diretta
action_process_image_md5 target.process.file.md5 Mappatura diretta
action_process_image_path target.process.file.full_path Mappatura diretta
action_process_image_sha256 target.process.file.sha256 Mappatura diretta
action_process_os_pid target.process.pid Mappato direttamente e convertito in stringa
action_process_user_sid target.user.windows_sid Mappatura diretta
action_process_username target.user.userid, target.administrative_domain Convertito in minuscolo, analizzato per dominio e utente e mappato di conseguenza
action_registry_data target.registry.registry_value_data Mappatura diretta
action_registry_key_name target.registry.registry_key Mappatura diretta
action_registry_value_name target.registry.registry_value_name Mappatura diretta
action_remote_ip target.ip Mappati direttamente e uniti ad altri indirizzi IP
action_remote_port target.port Mappato direttamente e convertito in numero intero
action_total_download network.received_bytes Mappato e convertito direttamente in un numero intero senza segno
action_total_upload network.sent_bytes Mappato e convertito direttamente in un numero intero senza segno
agent_hostname principal.hostname, observer.hostname Convertito in minuscolo e mappato
agent_ip_addresses observer.ip Analizzato come JSON, suddiviso in singoli IP e unito
agent_os_sub_type target.platform_version Mappatura diretta
event_id metadata.product_log_id Mappatura diretta
event_sub_type metadata.product_event_type Convertito in stringa e utilizzato per la mappatura condizionale di metadata.event_type e metadata.product_event_type
event_timestamp metadata.event_timestamp, timestamp Convertito in stringa, analizzato come timestamp UNIX_MS e mappato
event_type metadata.event_type Convertito in stringa e utilizzato per la mappatura condizionale di metadata.event_type e metadata.product_event_type
os_actor_process_command_line principal.process.command_line Mappatura diretta
os_actor_process_image_md5 principal.process.file.md5 Mappatura diretta
os_actor_process_image_path principal.process.file.full_path Mappatura diretta
os_actor_process_image_sha256 principal.process.file.sha256 Mappatura diretta
os_actor_process_instance_id principal.process.product_specific_process_id Con prefisso "PAN:" e mappato
os_actor_process_os_pid principal.process.pid Convertito in stringa e mappato
os_actor_primary_user_sid principal.user.windows_sid Mappato se inizia con "S-" o "s-"
os_actor_primary_username principal.user.userid, principal.administrative_domain Convertito in minuscolo, analizzato per dominio e utente e mappato di conseguenza
_action security_result.action Unito a _security_result e poi mappato
metadata.log_type metadata.log_type Impostato come hardcoded su "PAN_CORTEX_XDR_EVENTS"
metadata.product_name metadata.product_name Impostato come hardcoded su "Cortex XDR"
metadata.vendor_name metadata.vendor_name Impostato come hardcoded su "PAN"
target.platform target.platform Impostato su "WINDOWS" se agent_os_sub_type contiene "Windows"
action_user_session_id event.idm.read_only_udm.network.session_id Mappato dal log delle modifiche
action_username event.idm.read_only_udm.principal.user.user_display_name Mappato dal log delle modifiche
agent_ip_addresses event.idm.read_only_udm.principal.ip e event.idm.read_only_udm.principal.asset.ip Mappato dal log delle modifiche
agent_os_sub_type event.idm.read_only_udm.principal.platform_version Mappato dal log delle modifiche
agent_id event.idm.read_only_udm.principal.asset.asset_id e event.idm.read_only_udm.principal.asset_id Mappato dal log delle modifiche
agent_os_type event.idm.read_only_udm.principal.platform Mappato dal log delle modifiche
action_process_token event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
action_process_fds event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
action_process_termination_date event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
action_process_termination_code event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
action_network_stats_is_last event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
action_user_is_local_session event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
action_user_status event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
event_version event.idm.read_only_udm.metadata.product_version Mappato dal log delle modifiche
action_file_previous_file_path event.idm.read_only_udm.principal.file.full_path Mappato dal log delle modifiche
agent_interface_map.ipv4 event.idm.read_only_udm.observer.ip Mappato dal log delle modifiche
agent_interface_map.mac event.idm.read_only_udm.observer.mac Mappato dal log delle modifiche
action_file_last_writer_actor event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
action_file_device_type event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
action_file_previous_file_name event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
action_file_name event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
agent_id event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
agent_version event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
agent_os_type event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
os_actor_thread_thread_id event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
action_file_type event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
action_file_prev_type event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
os_actor_process_signature_status event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
os_actor_process_logon_id event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
agent_content_version event.idm.read_only_udm.additional.fields Mappato dal log delle modifiche
action_module_image_size event.idm.read_only_udm.target.file.size Mappato dal log delle modifiche
action_file_md5 event.idm.read_only_udm.target.file.md5 Mappato dal log delle modifiche
action_file_sha256 event.idm.read_only_udm.target.file.sha256 Mappato dal log delle modifiche
action_module_md5 target.process.file.md5 Mappato dal log delle modifiche
action_module_sha256 target.process.file.sha256 Mappato dal log delle modifiche
metadata.event_type GENERIC_EVENT. Mappato dal log delle modifiche

Log delle modifiche

Visualizza il log delle modifiche per questo parser

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.