Recolha registos de alertas do Palo Alto Cortex XDR

Compatível com:

Este documento descreve como pode recolher registos de alertas do Palo Alto Cortex XDR configurando um feed do Google Security Operations.

Para mais informações, consulte o artigo Ingestão de dados no Google Security Operations.

Uma etiqueta de carregamento identifica o analisador que normaliza os dados de registo não processados para o formato UDM estruturado. As informações neste documento aplicam-se ao analisador com a etiqueta de carregamento CORTEX_XDR.

Configure alertas do Palo Alto Cortex XDR

Para configurar alertas do Palo Alto Cortex XDR, conclua as seguintes tarefas:

Obtenha a chave da API de alertas do Palo Alto Cortex XDR

  1. Inicie sessão no portal do Cortex XDR.
  2. No menu Definições, clique em Definições.
  3. Selecione +Nova chave.
  4. Na secção Nível de segurança, selecione Avançado.
  5. Na secção Funções, selecione Visualizador.
  6. Clique em Gerar.
  7. Copie a chave da API e, de seguida, clique em Concluído. A chave da API representa a sua chave de autorização única e é apresentada apenas no momento da criação. É obrigatório quando configura o feed do Google Security Operations.

Obtenha o ID da chave da API de alertas do Palo Alto Cortex XDR

Na secção Configurações, navegue para Chaves de API > ID. Tome nota do número de ID correspondente, que representa o token x-xdr-auth-id:{key_id}.

Obtenha o FQDN

  1. Navegue para Chaves da API.
  2. Clique em Copiar URL. Guarde o URL, que é necessário quando configura o feed do Google Security Operations.

Configure feeds

Para configurar este tipo de registo, siga estes passos:

  1. Aceda a Definições do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Selecione o pacote de feeds Cortex XDR.
  4. Configure os seguintes parâmetros de entrada obrigatórios:

    • Tipo de origem: API de terceiros (recomendado)
    • Cabeçalhos HTTP de autenticação: indique a chave de autorização e o ID da chave de autorização que obteve anteriormente.
    • Nome de anfitrião da API: indique o URL que obteve anteriormente.
    • Ponto final: especifique o ponto final.

    Opções avançadas

    • Nome do feed: um valor pré-preenchido que identifica o feed.
    • Espaço de nomes do recurso: espaço de nomes associado ao feed.
    • Etiquetas de carregamento: etiquetas aplicadas a todos os eventos deste feed.
  5. Clique em Criar feed.

Para mais informações sobre a configuração de vários feeds para diferentes tipos de registos nesta família de produtos, consulte o artigo Configure feeds por produto.

Para mais informações sobre os feeds do Google Security Operations, consulte a documentação dos feeds do Google Security Operations. Para informações sobre os requisitos de cada tipo de feed, consulte o artigo Configuração do feed por tipo.

Referência de mapeamento de campos

Este analisador extrai registos de segurança do Palo Alto Networks Cortex XDR no formato JSON ou SYSLOG (chave-valor), normaliza os campos e mapeia-os para o UDM. Processa formatos JSON e de chave-valor, realiza a extração de datas, enriquece os dados com metadados e estrutura o resultado para carregamento no Google SecOps.

Ative pedidos da API REST no Cortex XDR e configure um feed do Google SecOps

Este guia fornece instruções passo a passo para ativar pedidos da API REST no Cortex XDR e configurar um feed correspondente no Google SecOps.

Parte 1: ative os pedidos da API REST no Cortex XDR

O Cortex XDR usa chaves da API para autenticação. Siga estes passos para gerar uma chave da API:

  1. Inicie sessão na consola de gestão do Cortex XDR.
  2. Aceda a Definições.
  3. Aceda a Chaves da API.
  4. Gere uma nova chave.
  5. Indique um nome da chave (por exemplo, "Integração de SecOps").
  6. Atribua à chave da API as autorizações necessárias para aceder aos dados necessários. Isto é fundamental para a segurança e garante que a chave só tem acesso ao que precisa. Consulte a documentação do Cortex XDR para ver as autorizações específicas necessárias para o seu exemplo de utilização.
  7. Armazene a chave da API de forma segura. Precisa dele para a configuração do feed do Google SecOps. Esta é a única vez que vê a chave completa, por isso, certifique-se de que a copia agora.
  8. (Opcional) Configure uma data de validade para a chave da API para maior segurança.

Parte 2: configure o feed no Google SecOps

Depois de gerar a chave da API, configure o feed no Google SecOps para receber dados do Cortex XDR:

  1. Aceda a Definições do SIEM > Feeds.
  2. Clique em Adicionar novo.
  3. Selecione API de terceiros como o Tipo de origem.
  4. Selecione o tipo de registo necessário que corresponde aos dados que quer carregar do Cortex XDR.
  5. Clicar em Seguinte.
  6. Configure os seguintes parâmetros de entrada:
    • Ponto final da API: introduza o URL base da API Cortex XDR. Pode encontrá-lo na documentação da API Cortex XDR.
    • Chave da API: cole a chave da API que gerou anteriormente.
    • Outros parâmetros: consoante a API Cortex XDR específica que estiver a usar, pode ter de fornecer parâmetros adicionais, como filtros de dados específicos ou intervalos de tempo. Consulte a documentação da API Cortex XDR para ver detalhes.
  7. Clique em Seguinte e, de seguida, em Enviar.

Considerações importantes:

  • Limitação de taxa: tenha em atenção os limites de taxa impostos pela API Cortex XDR. Configure o feed em conformidade para evitar exceder estes limites.
  • Processamento de erros: implemente o processamento de erros adequado na sua configuração do Google SecOps para gerir situações em que a API Cortex XDR não está disponível ou devolve erros.
  • Segurança: armazene a chave da API de forma segura e siga as práticas recomendadas de segurança. Rode as chaves da API regularmente para minimizar o impacto de potenciais comprometimentos.
  • Documentação: consulte a documentação oficial da API Cortex XDR para obter informações detalhadas sobre os pontos finais, os parâmetros e os formatos de dados disponíveis.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
action security_result.action Se action contiver "BLOCKED", defina como "BLOCK".
action security_result.action_details Se act não estiver vazio, for nulo ou "none", use o valor de act. Caso contrário, se action não for "BLOCKED", use o valor de action.
action_country security_result.about.location.country_or_region Mapeamento direto. Também usado no campo events aninhado.
action_file_path target.resource.attribute.labels Cria uma etiqueta com a chave "action_file_path" e o valor do campo de registo.
action_file_sha256 target.file.sha256 Converte para minúsculas.
action_local_port principal.port Converte para número inteiro.
action_remote_ip target.ip Unido na matriz target.ip.
action_remote_ip target.asset.ip Unido na matriz target.asset.ip.
action_remote_port target.port Converte para número inteiro.
act security_result.action_details Usado se não estiver vazio, for nulo ou "none".
agent_data_collection_status Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
agent_device_domain target.administrative_domain Mapeamento direto.
agent_fqdn Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
agent_install_type Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
agent_is_vdi Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
agent_os_sub_type target.platform_version Mapeamento direto.
agent_os_type target.platform Se for "Windows", defina como "WINDOWS".
agent_version Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
alert_id security_result.rule_id Mapeamento direto.
app target.application Mapeamento direto.
cat security_result.category_details Unido no campo security_result.category_details.
category security_result.category Se for "Malware", defina como "SOFTWARE_MALICIOUS".
category security_result.category_details Unido no campo security_result.category_details.
cn1 network.session_id Mapeamento direto.
cn1Label Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
contains_featured_host Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
contains_featured_ip Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
contains_featured_user Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
creation_time metadata.event_timestamp Convertido em indicação de tempo.
cs1 security_result.rule_name Concatenado com cs1Label para formar o security_result.rule_name.
cs1Label security_result.rule_name Concatenado com cs1 para formar o security_result.rule_name.
cs2 additional.fields Cria um par de chave-valor em additional.fields com a chave de cs2Label e o valor de string de cs2.
cs2Label additional.fields Usado como a chave para o valor cs2 em additional.fields.
cs3 additional.fields Cria um par de chave-valor em additional.fields com a chave de cs3Label e o valor de string de cs3.
cs3Label additional.fields Usado como a chave para o valor cs3 em additional.fields.
cs4 additional.fields Cria um par de chave-valor em additional.fields com a chave de cs4Label e o valor de string de cs4.
cs4Label additional.fields Usado como a chave para o valor cs4 em additional.fields.
cs5 additional.fields Cria um par de chave-valor em additional.fields com a chave de cs5Label e o valor de string de cs5.
cs5Label additional.fields Usado como a chave para o valor cs5 em additional.fields.
cs6 additional.fields Cria um par de chave-valor em additional.fields com a chave de cs6Label e o valor de string de cs6.
cs6Label additional.fields Usado como a chave para o valor cs6 em additional.fields.
CSPaccountname additional.fields Cria um par de chave-valor em additional.fields com a chave "CSPaccountname" e o valor de string do campo de registo.
description metadata.description Mapeamento direto. Também é usado para security_result.description se event_type não for GENERIC_EVENT.
destinationTranslatedAddress target.ip Unido na matriz target.ip.
destinationTranslatedAddress target.asset.ip Unido na matriz target.asset.ip.
destinationTranslatedPort target.port Convertido em número inteiro se não estiver vazio ou for -1.
deviceExternalId security_result.about.asset_id Com o prefixo "Device External Id: ".
dpt target.port Convertido em número inteiro se destinationTranslatedPort estiver vazio ou for -1.
dst target.ip Unido na matriz target.ip.
dst target.asset.ip Unido na matriz target.asset.ip.
dst_agent_id target.ip Convertido em endereço IP e unido à matriz target.ip se for um IP válido.
dst_agent_id target.asset.ip Convertido em endereço IP e unido à matriz target.asset.ip se for um IP válido.
dvchost principal.hostname Mapeamento direto.
dvchost principal.asset.hostname Mapeamento direto.
endpoint_id target.process.product_specific_process_id Com o prefixo "cor:".
event_id Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
event_sub_type Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
event_timestamp metadata.event_timestamp Convertido em indicação de tempo. Também usado no campo events aninhado.
event_type metadata.event_type Mapeado para um tipo de evento da UDM com base na lógica. Também usado no campo events aninhado.
event_type metadata.product_event_type Mapeamento direto.
event_type security_result.threat_name Mapeamento direto.
events Eventos aninhados Os campos na matriz events são mapeados para os campos UDM correspondentes nos objetos events aninhados. Consulte os mapeamentos de campos individuais para ver detalhes.
external_id Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fileId target.resource.attribute.labels Cria uma etiqueta com a chave "fileId" e o valor do campo de registo.
fileHash target.file.sha256 Convertido em minúsculas. Define metadata.event_type como FILE_UNCATEGORIZED.
filePath target.file.full_path Mapeamento direto. Define metadata.event_type como FILE_UNCATEGORIZED.
fw_app_category Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_app_id Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_app_subcategory Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_app_technology Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_device_name Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_email_recipient Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_email_sender Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_email_subject Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_interface_from Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_interface_to Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_is_phishing Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_misc Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_rule Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_rule_id Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_serial_number Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_url_domain Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_vsys Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
fw_xff Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
host_ip principal.ip Dividido por vírgula e unido à matriz principal.ip.
host_ip principal.asset.ip Dividido por vírgula e unido à matriz principal.asset.ip.
host_name principal.hostname Mapeamento direto.
host_name principal.asset.hostname Mapeamento direto.
hosts target.hostname Extrai o nome do anfitrião do primeiro elemento da matriz hosts.
hosts target.asset.hostname Extrai o nome do anfitrião do primeiro elemento da matriz hosts.
hosts target.user.employee_id Extrai o ID do utilizador do primeiro elemento da matriz hosts.
incident_id metadata.product_log_id Mapeamento direto.
is_whitelisted Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
local_insert_ts Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
mac principal.mac Dividido por vírgula e unido à matriz principal.mac.
matching_status Não mapeado Embora esteja presente no registo não processado, este campo não é mapeado para o objeto IDM no UDM final.
metadata.description security_result.description Usado se event_type for GENERIC_EVENT.
metadata.event_type metadata.event_type Definido com base na lógica através de event_type, host_ip e outros campos.
metadata.log_type metadata.log_type Definido como "CORTEX_XDR".
metadata.product_name metadata.product_name Defina como "Cortex".
metadata.vendor_name metadata.vendor_name Definido como "Palo Alto Networks".
msg security_result.description Mapeamento direto.
name security_result.summary Mapeamento direto.
PanOSDGHierarchyLevel1 security_result.detection_fields Cria um par de chave-valor em security_result.detection_fields com a chave "PanOSDGHierarchyLevel1" e o valor do campo de registo.
PanOSDestinationLocation target.location.country_or_region Mapeamento direto.
PanOSDynamicUserGroupName principal.group.group_display_name Mapeamento direto se não estiver vazio ou for "-".
PanOSSourceLocation principal.location.country_or_region Mapeamento direto.
PanOSThreatCategory security_result.category_details Unido no campo security_result.category_details.
PanOSThreatID security_result.threat_id Mapeamento direto.
principal.asset.attribute.labels principal.asset.attribute.labels Cria uma etiqueta com a chave "Origem" e o valor do campo source.
proto network.ip_protocol Convertido em maiúsculas. Define metadata.event_type como NETWORK_CONNECTION.
request network.http.referral_url Mapeamento direto.
rt metadata.event_timestamp Convertido em indicação de tempo.
security_result.severity security_result.severity Definido como o valor em maiúsculas de severity.
severity security_result.severity Convertido em maiúsculas.
shost principal.hostname Mapeamento direto. Define metadata.event_type como STATUS_UPDATE.
shost principal.asset.hostname Mapeamento direto. Define metadata.event_type como STATUS_UPDATE.
source principal.asset.attribute.labels Usado como o valor da etiqueta "Source" (Origem).
source security_result.summary Usado se o filtro not_json e grok corresponderem.
sourceTranslatedAddress principal.ip Unido na matriz principal.ip.
sourceTranslatedAddress principal.asset.ip Unido na matriz principal.asset.ip.
sourceTranslatedPort principal.port Convertido em número inteiro se não estiver vazio ou for -1.
spt principal.port Convertido em número inteiro.
sr_summary security_result.summary Usado se o filtro not_json e grok corresponderem.
src principal.ip Unido na matriz principal.ip.
src principal.asset.ip Unido na matriz principal.asset.ip.
suser principal.user.user_display_name Mapeamento direto.
tenantCDLid additional.fields Cria um par de chave-valor em additional.fields com a chave "tenantCDLid" e o valor de string do campo de registo.
tenantname additional.fields Cria um par de chave-valor em additional.fields com a chave "tenantname" e o valor de string do campo de registo.
users target.user.userid Usa o primeiro elemento da matriz users.
xdr_url metadata.url_back_to_product Mapeamento direto.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.