Recolha registos de alertas do Palo Alto Cortex XDR
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.
- Obtenha o ID da chave da API de alertas do Palo Alto Cortex XDR.
- Obtenha o nome do domínio totalmente qualificado (FQDN).
Obtenha a chave da API de alertas do Palo Alto Cortex XDR
- Inicie sessão no portal do Cortex XDR.
- No menu Definições, clique em Definições.
- Selecione +Nova chave.
- Na secção Nível de segurança, selecione Avançado.
- Na secção Funções, selecione Visualizador.
- Clique em Gerar.
- 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
- Navegue para Chaves da API.
- 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:
- Aceda a Definições do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Selecione o pacote de feeds Cortex XDR.
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.
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:
- Inicie sessão na consola de gestão do Cortex XDR.
- Aceda a Definições.
- Aceda a Chaves da API.
- Gere uma nova chave.
- Indique um nome da chave (por exemplo, "Integração de SecOps").
- 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.
- 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.
- (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:
- Aceda a Definições do SIEM > Feeds.
- Clique em Adicionar novo.
- Selecione API de terceiros como o Tipo de origem.
- Selecione o tipo de registo necessário que corresponde aos dados que quer carregar do Cortex XDR.
- Clicar em Seguinte.
- 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.
- 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.