Raccogliere i log degli avvisi di Palo Alto Cortex XDR
Questo documento descrive come raccogliere i log degli avvisi di Palo Alto Cortex XDR configurando un feed Google Security Operations.
Per ulteriori informazioni, consulta Importazione dei dati in Google Security Operations.
Un'etichetta di importazione identifica il parser che normalizza i dati dei log non elaborati
in formato UDM strutturato. Le informazioni contenute in questo documento si applicano al parser
con l'etichetta di importazione CORTEX_XDR
.
Configurare gli avvisi di Palo Alto Cortex XDR
Per configurare gli avvisi di Palo Alto Cortex XDR, completa le seguenti attività:
- Recupera la chiave API di Palo Alto Cortex XDR Alerts.
- Recupera l'ID chiave API di Palo Alto Cortex XDR Alerts.
- Recupera il nome di dominio completo (FQDN).
Recuperare la chiave API di avvisi di Palo Alto Cortex XDR
- Accedi al portale Cortex XDR.
- Nel menu Impostazioni, fai clic su Impostazioni.
- Seleziona + Nuova chiave.
- Nella sezione Livello di sicurezza, seleziona Avanzato.
- Nella sezione Ruoli, seleziona Visualizzatore.
- Fai clic su Genera.
- Copia la chiave API e poi fai clic su Fine. La chiave API rappresenta la tua chiave di autorizzazione univoca e viene visualizzata solo al momento della creazione. È obbligatorio quando configuri il feed Google Security Operations.
Recuperare l'ID chiave API di avvisi di Palo Alto Cortex XDR
Nella sezione Configurazioni, vai a Chiavi API > ID. Prendi nota del tuo numero di ID corrispondente, che rappresenta il token x-xdr-auth-id:{key_id}
.
Ottieni il nome di dominio completo
- Vai a Chiavi API.
- Fai clic su Copia URL. Salva l'URL, che è obbligatorio quando configuri il feed Google Security Operations.
Configurare i feed
Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:
- Impostazioni SIEM > Feed
- Hub dei contenuti > Pacchetti di contenuti
Configurare i feed da Impostazioni SIEM > Feed
Per configurare più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configurare i feed per prodotto.
Per configurare un singolo feed:
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed, ad esempio Palo Alto Cortex XDR Alerts Logs.
- Seleziona API di terze parti come Tipo di origine.
- Seleziona Avvisi Palo Alto Cortex XDR come Tipo di log.
- Fai clic su Avanti.
- Configura i seguenti parametri di input obbligatori:
- Intestazioni HTTP di autenticazione: fornisci la chiave di autorizzazione e l'ID chiave di autorizzazione che hai ottenuto in precedenza.
- Nome host API: fornisci l'URL che hai ottenuto in precedenza.
- Endpoint: specifica l'endpoint.
- Fai clic su Avanti e poi su Invia.
Per saperne di più sui feed di Google Security Operations, consulta la documentazione sui feed di Google Security Operations. Per informazioni sui requisiti per ogni tipo di feed, vedi Configurazione dei feed per tipo.
Configurare i feed dall'hub dei contenuti
Specifica i valori per i seguenti campi:
- Intestazioni HTTP di autenticazione: fornisci la chiave di autorizzazione e l'ID chiave di autorizzazione che hai ottenuto in precedenza.
- Nome host API: fornisci l'URL che hai ottenuto in precedenza.
- Endpoint: specifica l'endpoint.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Tipo di origine: metodo utilizzato per raccogliere i log in Google SecOps.
- Spazio dei nomi dell'asset: spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
Riferimento alla mappatura dei campi
Questo parser estrae i log di sicurezza da Palo Alto Networks Cortex XDR in formato JSON o SYSLOG (coppia chiave-valore), normalizza i campi e li mappa a UDM. Gestisce i formati JSON e chiave-valore, esegue l'estrazione della data, arricchisce i dati con i metadati e struttura l'output per l'importazione in Google SecOps.
Abilita le richieste API REST su Cortex XDR e configura un feed Google SecOps
Questa guida fornisce istruzioni passo passo per attivare le richieste API REST su Cortex XDR e configurare un feed corrispondente in Google SecOps.
Parte 1: attiva le richieste API REST su Cortex XDR
Cortex XDR utilizza le chiavi API per l'autenticazione. Per generare una chiave API:
- Accedi alla console di gestione di Cortex XDR.
- Vai a Impostazioni.
- Accedi a Chiavi API.
- Genera una nuova chiave.
- Fornisci un nome della chiave (ad esempio "Integrazione SecOps").
- Assegna alla chiave API le autorizzazioni necessarie per accedere ai dati richiesti. Questo è fondamentale per la sicurezza e garantisce che la chiave abbia accesso solo a ciò che le serve. Consulta la documentazione di Cortex XDR per le autorizzazioni specifiche richieste per il tuo caso d'uso.
- Archivia in modo sicuro la chiave API. Ti servirà per la configurazione del feed Google SecOps. Questa è l'unica volta in cui vedrai la chiave completa, quindi assicurati di copiarla ora.
- (Facoltativo) Configura una data di scadenza per la chiave API per una maggiore sicurezza.
Parte 2: configura il feed in Google SecOps
Dopo aver generato la chiave API, configura il feed in Google SecOps per ricevere i dati da Cortex XDR:
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo.
- Seleziona API di terze parti come Tipo di origine.
- Seleziona il tipo di log richiesto corrispondente ai dati che vuoi importare da Cortex XDR.
- Fai clic su Avanti.
- Configura i seguenti parametri di input:
- Endpoint API: inserisci l'URL di base per l'API Cortex XDR. Puoi trovarlo nella documentazione dell'API Cortex XDR.
- Chiave API: incolla la chiave API che hai generato in precedenza.
- Altri parametri: a seconda dell'API Cortex XDR specifica che utilizzi, potresti dover fornire parametri aggiuntivi, come filtri di dati o intervalli di tempo specifici. Per informazioni dettagliate, consulta la documentazione dell'API Cortex XDR.
- Fai clic su Avanti e poi su Invia.
Considerazioni importanti:
- Limitazione della frequenza: tieni presente eventuali limiti di frequenza imposti dall'API Cortex XDR. Configura il feed di conseguenza per evitare di superare questi limiti.
- Gestione degli errori: implementa una gestione degli errori adeguata nella configurazione di Google SecOps per gestire le situazioni in cui l'API Cortex XDR non è disponibile o restituisce errori.
- Sicurezza: archivia in modo sicuro la chiave API e segui le best practice di sicurezza. Ruota regolarmente le chiavi API per ridurre al minimo l'impatto di potenziali compromissioni.
- Documentazione: consulta la documentazione ufficiale dell'API Cortex XDR per informazioni dettagliate su endpoint, parametri e formati di dati disponibili.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
action |
security_result.action |
Se action contiene "BLOCKED", imposta "BLOCK". |
action |
security_result.action_details |
Se act non è vuoto, nullo o "none", utilizza il valore di act . In caso contrario, se action non è "BLOCKED", utilizza il valore di action . |
action_country |
security_result.about.location.country_or_region |
Mappatura diretta. Utilizzato anche nel campo events nidificato. |
action_file_path |
target.resource.attribute.labels |
Crea un'etichetta con la chiave "action_file_path" e il valore del campo log. |
action_file_sha256 |
target.file.sha256 |
Converte in minuscolo. |
action_local_port |
principal.port |
Converte in numero intero. |
action_remote_ip |
target.ip |
Unito all'array target.ip . |
action_remote_ip |
target.asset.ip |
Unito all'array target.asset.ip . |
action_remote_port |
target.port |
Converte in numero intero. |
act |
security_result.action_details |
Utilizzato se non è vuoto, nullo o "nessuno". |
agent_data_collection_status |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
agent_device_domain |
target.administrative_domain |
Mappatura diretta. |
agent_fqdn |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
agent_install_type |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
agent_is_vdi |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
agent_os_sub_type |
target.platform_version |
Mappatura diretta. |
agent_os_type |
target.platform |
Se "Windows", imposta "WINDOWS". |
agent_version |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
alert_id |
security_result.rule_id |
Mappatura diretta. |
app |
target.application |
Mappatura diretta. |
cat |
security_result.category_details |
Unito al campo security_result.category_details . |
category |
security_result.category |
Se "Malware", imposta "SOFTWARE_MALICIOUS". |
category |
security_result.category_details |
Unito al campo security_result.category_details . |
cn1 |
network.session_id |
Mappatura diretta. |
cn1Label |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
contains_featured_host |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
contains_featured_ip |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
contains_featured_user |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
creation_time |
metadata.event_timestamp |
Convertito in timestamp. |
cs1 |
security_result.rule_name |
Concatenato con cs1Label per formare il security_result.rule_name . |
cs1Label |
security_result.rule_name |
Concatenato con cs1 per formare il security_result.rule_name . |
cs2 |
additional.fields |
Crea una coppia chiave-valore in additional.fields con la chiave di cs2Label e il valore stringa di cs2 . |
cs2Label |
additional.fields |
Utilizzato come chiave per il valore cs2 in additional.fields . |
cs3 |
additional.fields |
Crea una coppia chiave-valore in additional.fields con la chiave di cs3Label e il valore stringa di cs3 . |
cs3Label |
additional.fields |
Utilizzato come chiave per il valore cs3 in additional.fields . |
cs4 |
additional.fields |
Crea una coppia chiave-valore in additional.fields con la chiave di cs4Label e il valore stringa di cs4 . |
cs4Label |
additional.fields |
Utilizzato come chiave per il valore cs4 in additional.fields . |
cs5 |
additional.fields |
Crea una coppia chiave-valore in additional.fields con la chiave di cs5Label e il valore stringa di cs5 . |
cs5Label |
additional.fields |
Utilizzato come chiave per il valore cs5 in additional.fields . |
cs6 |
additional.fields |
Crea una coppia chiave-valore in additional.fields con la chiave di cs6Label e il valore stringa di cs6 . |
cs6Label |
additional.fields |
Utilizzato come chiave per il valore cs6 in additional.fields . |
CSPaccountname |
additional.fields |
Crea una coppia chiave-valore in additional.fields con la chiave "CSPaccountname" e il valore stringa dal campo log. |
description |
metadata.description |
Mappatura diretta. Utilizzato anche per security_result.description se event_type non è GENERIC_EVENT. |
destinationTranslatedAddress |
target.ip |
Unito all'array target.ip . |
destinationTranslatedAddress |
target.asset.ip |
Unito all'array target.asset.ip . |
destinationTranslatedPort |
target.port |
Convertito in numero intero se non è vuoto o -1. |
deviceExternalId |
security_result.about.asset_id |
Con il prefisso "ID esterno dispositivo: ". |
dpt |
target.port |
Convertito in numero intero se destinationTranslatedPort è vuoto o -1. |
dst |
target.ip |
Unito all'array target.ip . |
dst |
target.asset.ip |
Unito all'array target.asset.ip . |
dst_agent_id |
target.ip |
Convertito in indirizzo IP e unito all'array target.ip se l'IP è valido. |
dst_agent_id |
target.asset.ip |
Convertito in indirizzo IP e unito all'array target.asset.ip se l'IP è valido. |
dvchost |
principal.hostname |
Mappatura diretta. |
dvchost |
principal.asset.hostname |
Mappatura diretta. |
endpoint_id |
target.process.product_specific_process_id |
Prefisso "cor:". |
event_id |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
event_sub_type |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
event_timestamp |
metadata.event_timestamp |
Convertito in timestamp. Utilizzato anche nel campo events nidificato. |
event_type |
metadata.event_type |
Mappato a un tipo di evento UDM in base alla logica. Utilizzato anche nel campo events nidificato. |
event_type |
metadata.product_event_type |
Mappatura diretta. |
event_type |
security_result.threat_name |
Mappatura diretta. |
events |
Eventi nidificati | I campi all'interno dell'array events vengono mappati ai campi UDM corrispondenti all'interno degli oggetti events nidificati. Per informazioni dettagliate, consulta le singole mappature dei campi. |
external_id |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fileId |
target.resource.attribute.labels |
Crea un'etichetta con la chiave "fileId" e il valore del campo di log. |
fileHash |
target.file.sha256 |
Convertito in minuscolo. Imposta metadata.event_type su FILE_UNCATEGORIZED. |
filePath |
target.file.full_path |
Mappatura diretta. Imposta metadata.event_type su FILE_UNCATEGORIZED. |
fw_app_category |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_app_id |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_app_subcategory |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_app_technology |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_device_name |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_email_recipient |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_email_sender |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_email_subject |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_interface_from |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_interface_to |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_is_phishing |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_misc |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_rule |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_rule_id |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_serial_number |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_url_domain |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_vsys |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
fw_xff |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
host_ip |
principal.ip |
Divisi per virgola e uniti nell'array principal.ip . |
host_ip |
principal.asset.ip |
Divisi per virgola e uniti nell'array principal.asset.ip . |
host_name |
principal.hostname |
Mappatura diretta. |
host_name |
principal.asset.hostname |
Mappatura diretta. |
hosts |
target.hostname |
Estrae il nome host dal primo elemento dell'array hosts . |
hosts |
target.asset.hostname |
Estrae il nome host dal primo elemento dell'array hosts . |
hosts |
target.user.employee_id |
Estrae l'ID utente dal primo elemento dell'array hosts . |
incident_id |
metadata.product_log_id |
Mappatura diretta. |
is_whitelisted |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
local_insert_ts |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
mac |
principal.mac |
Divisi per virgola e uniti nell'array principal.mac . |
matching_status |
Nessuna mappatura | Sebbene presente nel log non elaborato, questo campo non è mappato all'oggetto IDM nell'UDM finale. |
metadata.description |
security_result.description |
Utilizzato se event_type è GENERIC_EVENT. |
metadata.event_type |
metadata.event_type |
Imposta in base alla logica utilizzando event_type , host_ip e altri campi. |
metadata.log_type |
metadata.log_type |
Imposta il valore su "CORTEX_XDR". |
metadata.product_name |
metadata.product_name |
Imposta su "Cortex". |
metadata.vendor_name |
metadata.vendor_name |
Imposta "Palo Alto Networks". |
msg |
security_result.description |
Mappatura diretta. |
name |
security_result.summary |
Mappatura diretta. |
PanOSDGHierarchyLevel1 |
security_result.detection_fields |
Crea una coppia chiave-valore in security_result.detection_fields con la chiave "PanOSDGHierarchyLevel1" e il valore del campo log. |
PanOSDestinationLocation |
target.location.country_or_region |
Mappatura diretta. |
PanOSDynamicUserGroupName |
principal.group.group_display_name |
Mappatura diretta se non è vuoto o "-". |
PanOSSourceLocation |
principal.location.country_or_region |
Mappatura diretta. |
PanOSThreatCategory |
security_result.category_details |
Unito al campo security_result.category_details . |
PanOSThreatID |
security_result.threat_id |
Mappatura diretta. |
principal.asset.attribute.labels |
principal.asset.attribute.labels |
Crea un'etichetta con la chiave "Source" e il valore del campo source . |
proto |
network.ip_protocol |
Convertito in maiuscolo. Imposta metadata.event_type su NETWORK_CONNECTION. |
request |
network.http.referral_url |
Mappatura diretta. |
rt |
metadata.event_timestamp |
Convertito in timestamp. |
security_result.severity |
security_result.severity |
Imposta il valore in maiuscolo di severity . |
severity |
security_result.severity |
Convertito in maiuscolo. |
shost |
principal.hostname |
Mappatura diretta. Imposta metadata.event_type su STATUS_UPDATE. |
shost |
principal.asset.hostname |
Mappatura diretta. Imposta metadata.event_type su STATUS_UPDATE. |
source |
principal.asset.attribute.labels |
Utilizzato come valore per l'etichetta "Origine". |
source |
security_result.summary |
Utilizzato se il filtro not_json e grok corrisponde. |
sourceTranslatedAddress |
principal.ip |
Unito all'array principal.ip . |
sourceTranslatedAddress |
principal.asset.ip |
Unito all'array principal.asset.ip . |
sourceTranslatedPort |
principal.port |
Convertito in numero intero se non è vuoto o -1. |
spt |
principal.port |
Convertito in numero intero. |
sr_summary |
security_result.summary |
Utilizzato se il filtro not_json e grok corrisponde. |
src |
principal.ip |
Unito all'array principal.ip . |
src |
principal.asset.ip |
Unito all'array principal.asset.ip . |
suser |
principal.user.user_display_name |
Mappatura diretta. |
tenantCDLid |
additional.fields |
Crea una coppia chiave-valore in additional.fields con la chiave "tenantCDLid" e il valore stringa dal campo log. |
tenantname |
additional.fields |
Crea una coppia chiave-valore in additional.fields con la chiave "tenantname" e il valore stringa dal campo log. |
users |
target.user.userid |
Utilizza il primo elemento dell'array users . |
xdr_url |
metadata.url_back_to_product |
Mappatura diretta. |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.