Coletar registros de alertas do Palo Alto Cortex XDR

Compatível com:

Neste documento, descrevemos como coletar registros de alertas do Palo Alto Cortex XDR configurando um feed do Google Security Operations.

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

Um rótulo de ingestão identifica o analisador que normaliza dados de registro brutos para o formato UDM estruturado. As informações neste documento se aplicam ao analisador com o rótulo de ingestão CORTEX_XDR.

Configurar alertas do Palo Alto Cortex XDR

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

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

  1. Faça login no portal do Cortex XDR.
  2. No menu Configurações, clique em Configurações.
  3. Selecione +Nova chave.
  4. Na seção Nível de segurança, selecione Avançado.
  5. Na seção Papéis, selecione Leitor.
  6. Clique em Gerar.
  7. Copie a chave de API e clique em Concluído. A chave de API representa sua chave de autorização exclusiva e é mostrada apenas no momento da criação. É necessário ao configurar o feed do Google Security Operations.

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

Na seção Configurações, navegue até Chaves de API > ID. Anote o número de ID correspondente, que representa o token x-xdr-auth-id:{key_id}.

Receber FQDN

  1. Navegue até Chaves de API.
  2. Clique em Copiar URL. Salve o URL, que é necessário ao configurar o feed do Google Security Operations.

Configurar feeds

Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:

  • Configurações do SIEM > Feeds
  • Central de conteúdo > Pacotes de conteúdo

Configure feeds em Configurações do SIEM > Feeds

Para configurar vários feeds para diferentes tipos de registros nessa família de produtos, consulte Configurar feeds por produto.

Para configurar um único feed, siga estas etapas:

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na próxima página, clique em Configurar um único feed.
  4. No campo Nome do feed, insira um nome para o feed, por exemplo, Registros de alertas do Palo Alto Cortex XDR.
  5. Selecione API de terceiros como o Tipo de origem.
  6. Selecione Alertas do Palo Alto Cortex XDR como o Tipo de registro.
  7. Clique em Próxima.
  8. Configure os seguintes parâmetros de entrada obrigatórios:
    • Cabeçalhos HTTP de autenticação: forneça a chave de autorização e o ID da chave de autorização que você recebeu anteriormente.
    • Nome do host da API: forneça o URL que você recebeu anteriormente.
    • Endpoint: especifique o endpoint.
  9. Clique em Próxima e em Enviar.

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 Configuração de feed por tipo.

Configurar feeds na Central de conteúdo

Especifique valores para os seguintes campos:

  • Cabeçalhos HTTP de autenticação: forneça a chave de autorização e o ID da chave de autorização que você recebeu anteriormente.
  • Nome do host da API: forneça o URL que você recebeu anteriormente.
  • Endpoint: especifique o endpoint.

Opções avançadas

  • Nome do feed: um valor pré-preenchido que identifica o feed.
  • Tipo de origem: método usado para coletar registros no Google SecOps.
  • Namespace do recurso: namespace associado ao feed.
  • Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.

Referência de mapeamento de campos

Esse analisador extrai registros de segurança do Palo Alto Networks Cortex XDR no formato JSON ou SYSLOG (chave-valor), normaliza campos e os mapeia para o UDM. Ele processa formatos JSON e de chave-valor, realiza extração de datas, enriquece os dados com metadados e estrutura a saída para ingestão no Google SecOps.

Ativar solicitações da API REST no Cortex XDR e configurar um feed do Google SecOps

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

Parte 1: ativar solicitações da API REST no Cortex XDR

O Cortex XDR usa chaves de API para autenticação. Siga estas etapas para gerar uma chave de API:

  1. Faça login no console de gerenciamento do Cortex XDR.
  2. Acesse Configurações.
  3. Acesse Chaves de API.
  4. Gere uma nova chave.
  5. Forneça um nome de chave (por exemplo, "Integração do SecOps").
  6. Atribua à chave de API as permissões necessárias para acessar os dados obrigatórios. Isso é essencial para a segurança e garante que a chave só tenha acesso ao que precisa. Consulte a documentação do Cortex XDR para saber as permissões específicas necessárias para seu caso de uso.
  7. Armazene a chave de API com segurança. Você vai precisar dele para a configuração do feed do Google SecOps. Esta é a única vez que a chave completa será mostrada. Portanto, copie-a agora.
  8. (Opcional) Configure uma data de validade para a chave de API e aumente a segurança.

Parte 2: configurar o feed no Google SecOps

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

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo.
  3. Selecione API de terceiros como o Tipo de origem.
  4. Selecione o tipo de registro necessário que corresponde aos dados que você quer ingerir do Cortex XDR.
  5. Clique em Próxima.
  6. Configure os seguintes parâmetros de entrada:
    • Endpoint da API: insira o URL base da API do Cortex XDR. Isso pode ser encontrado na documentação da API do Cortex XDR.
    • Chave de API: cole a chave de API que você gerou anteriormente.
    • Outros parâmetros: dependendo da API específica do Cortex XDR que você está usando, talvez seja necessário fornecer outros parâmetros, como filtros de dados ou períodos específicos. Consulte a documentação da API do Cortex XDR para mais detalhes.
  7. Clique em Próxima e em Enviar.

Considerações importantes:

  • Limitação de taxa: fique atento a qualquer limitação de taxa imposta pela API Cortex XDR. Configure o feed de acordo para não exceder esses limites.
  • Tratamento de erros: implemente o tratamento de erros adequado na sua configuração do Google SecOps para gerenciar situações em que a API Cortex XDR está indisponível ou retorna erros.
  • Segurança: armazene a chave de API com segurança e siga as práticas recomendadas de segurança. Alterne as chaves de API regularmente para minimizar o impacto de possíveis comprometimentos.
  • Documentação: consulte a documentação oficial da API Cortex XDR para informações detalhadas sobre endpoints, parâmetros e formatos de dados disponíveis.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do 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, 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 aninhado events.
action_file_path target.resource.attribute.labels Cria um rótulo com a chave "action_file_path" e o valor do campo de registro.
action_file_sha256 target.file.sha256 Converte para minúsculas.
action_local_port principal.port Converte em número inteiro.
action_remote_ip target.ip Unidos à matriz target.ip.
action_remote_ip target.asset.ip Unidos à matriz target.asset.ip.
action_remote_port target.port Converte em número inteiro.
act security_result.action_details Usado se não estiver vazio, nulo ou "none".
agent_data_collection_status Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
agent_device_domain target.administrative_domain Mapeamento direto.
agent_fqdn Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
agent_install_type Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
agent_is_vdi Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na 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 registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
alert_id security_result.rule_id Mapeamento direto.
app target.application Mapeamento direto.
cat security_result.category_details Unido ao campo security_result.category_details.
category security_result.category Se for "Malware", defina como "SOFTWARE_MALICIOUS".
category security_result.category_details Unido ao campo security_result.category_details.
cn1 network.session_id Mapeamento direto.
cn1Label Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
contains_featured_host Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
contains_featured_ip Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
contains_featured_user Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
creation_time metadata.event_timestamp Convertido para carimbo de data/hora.
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 do 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 do 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 do 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 do 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 do 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 registro.
description metadata.description Mapeamento direto. Também usado para security_result.description se event_type não for GENERIC_EVENT.
destinationTranslatedAddress target.ip Unidos à matriz target.ip.
destinationTranslatedAddress target.asset.ip Unidos à matriz target.asset.ip.
destinationTranslatedPort target.port Convertido para número inteiro se não estiver vazio ou for -1.
deviceExternalId security_result.about.asset_id Prefixo "Device External Id: ".
dpt target.port Convertido para número inteiro se destinationTranslatedPort estiver vazio ou for -1.
dst target.ip Unidos à matriz target.ip.
dst target.asset.ip Unidos à matriz target.asset.ip.
dst_agent_id target.ip Convertido para endereço IP e mesclado na matriz target.ip se for um IP válido.
dst_agent_id target.asset.ip Convertido para endereço IP e mesclado na 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 registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
event_sub_type Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
event_timestamp metadata.event_timestamp Convertido para carimbo de data/hora. Também usado no campo aninhado events.
event_type metadata.event_type Mapeado para um tipo de evento da UDM com base na lógica. Também usado no campo aninhado events.
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 correspondentes do UDM em objetos events aninhados. Consulte os mapeamentos de campo individuais para mais detalhes.
external_id Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fileId target.resource.attribute.labels Cria um marcador com a chave "fileId" e o valor do campo de registro.
fileHash target.file.sha256 Convertido para 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 registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_app_id Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_app_subcategory Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_app_technology Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_device_name Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_email_recipient Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_email_sender Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_email_subject Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_interface_from Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_interface_to Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_is_phishing Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_misc Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_rule Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_rule_id Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_serial_number Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_url_domain Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_vsys Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
fw_xff Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
host_ip principal.ip Dividido por vírgula e mesclado na matriz principal.ip.
host_ip principal.asset.ip Dividido por vírgula e mesclado na matriz principal.asset.ip.
host_name principal.hostname Mapeamento direto.
host_name principal.asset.hostname Mapeamento direto.
hosts target.hostname Extrai o nome do host do primeiro elemento da matriz hosts.
hosts target.asset.hostname Extrai o nome do host do primeiro elemento da matriz hosts.
hosts target.user.employee_id Extrai o ID do usuário do primeiro elemento da matriz hosts.
incident_id metadata.product_log_id Mapeamento direto.
is_whitelisted Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
local_insert_ts Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na UDM final.
mac principal.mac Dividido por vírgula e mesclado na matriz principal.mac.
matching_status Não mapeado Embora esteja presente no registro bruto, esse campo não é mapeado para o objeto IDM na 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 usando event_type, host_ip e outros campos.
metadata.log_type metadata.log_type Defina como "CORTEX_XDR".
metadata.product_name metadata.product_name Defina como "Cortex".
metadata.vendor_name metadata.vendor_name Defina 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 registro.
PanOSDestinationLocation target.location.country_or_region Mapeamento direto.
PanOSDynamicUserGroupName principal.group.group_display_name Mapeamento direto se não estiver vazio ou "-".
PanOSSourceLocation principal.location.country_or_region Mapeamento direto.
PanOSThreatCategory security_result.category_details Unido ao campo security_result.category_details.
PanOSThreatID security_result.threat_id Mapeamento direto.
principal.asset.attribute.labels principal.asset.attribute.labels Cria um marcador com a chave "Source" e o valor do campo source.
proto network.ip_protocol Convertido para maiúsculas. Define metadata.event_type como NETWORK_CONNECTION.
request network.http.referral_url Mapeamento direto.
rt metadata.event_timestamp Convertido para carimbo de data/hora.
security_result.severity security_result.severity Definido como o valor em maiúsculas de severity.
severity security_result.severity Convertido para 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 do rótulo "Origem".
source security_result.summary Usado se os filtros not_json e grok forem correspondentes.
sourceTranslatedAddress principal.ip Unidos à matriz principal.ip.
sourceTranslatedAddress principal.asset.ip Unidos à matriz principal.asset.ip.
sourceTranslatedPort principal.port Convertido para 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 os filtros not_json e grok forem correspondentes.
src principal.ip Unidos à matriz principal.ip.
src principal.asset.ip Unidos à 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 registro.
tenantname additional.fields Cria um par de chave-valor em additional.fields com a chave "tenantname" e o valor de string do campo de registro.
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 do Google SecOps.