Coletar registros da SD-WAN do Prisma da Palo Alto

Compatível com:

Este documento explica como ingerir registros do Palo Alto Prisma SD-WAN (antigo Cloudgenix SD-WAN) no Google Security Operations usando o Bindplane. O analisador extrai campos dos registros do syslog e de fluxo, mapeando-os para o modelo de dados unificado (UDM). Ele processa mensagens syslog estruturadas e não estruturadas, realizando a análise de chave-valor e a correspondência Grok para extrair informações relevantes, como IPs de origem/destino, nomes de host, tipos de eventos e detalhes de segurança, e preenche os campos do UDM de acordo. O analisador também processa registros de fluxo, extraindo informações de rede e mapeando-as para os esquemas de rede, principal, destino, intermediário e resultado de segurança da UDM.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Instância do Google SecOps
  • Windows 2016 ou mais recente ou um host Linux com systemd
  • Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas.
  • Acesso privilegiado à SD-WAN do Prisma da Palo Alto (antiga SD-WAN da Cloudgenix)

Receber o arquivo de autenticação de ingestão do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Agentes de coleta.
  3. Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o Bindplane será instalado.

Receber o ID do cliente do Google SecOps

  1. Faça login no console do Google SecOps.
  2. Acesse Configurações do SIEM > Perfil.
  3. Copie e salve o ID do cliente na seção Detalhes da organização.

Instalar o agente do Bindplane

Instale o agente do Bindplane no sistema operacional Windows ou Linux de acordo com as instruções a seguir.

Instalação do Windows

  1. Abra o Prompt de Comando ou o PowerShell como administrador.
  2. Execute este comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalação do Linux

  1. Abra um terminal com privilégios de root ou sudo.
  2. Execute este comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Outros recursos de instalação

Para mais opções de instalação, consulte o guia de instalação.

Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps

  1. Acesse o arquivo de configuração:
    • Localize o arquivo config.yaml. Normalmente, ele fica no diretório /etc/bindplane-agent/ no Linux ou no diretório de instalação no Windows.
    • Abra o arquivo usando um editor de texto (por exemplo, nano, vi ou Bloco de Notas).
  2. Edite o arquivo config.yaml da seguinte forma:

    ```yaml
    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            log_type: 'CLOUDGENIX_SDWAN'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    ```
    
    • Substitua a porta e o endereço IP conforme necessário na sua infraestrutura.
    • Substitua <customer_id> pelo ID do cliente real.
    • Atualize /path/to/ingestion-authentication-file.json para o caminho em que o arquivo de autenticação foi salvo na seção Receber arquivo de autenticação de ingestão do Google SecOps.

Reinicie o agente do Bindplane para aplicar as mudanças

  • Para reiniciar o agente do Bindplane em Linux, execute o seguinte comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar o agente do Bindplane no Windows, use o console Serviços ou insira o seguinte comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar o perfil Syslog do Prisma SD-WAN

  1. Faça login no Prisma SD-WAN.
  2. Acesse Gerenciar > Recursos > Perfis de configuração.
  3. Selecione Syslog.
  4. Clique em Criar perfil do Syslog.
  5. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome para o perfil.
    • Marque a caixa de seleção Ativar o registro de fluxo.
    • Gravidade: selecione o nível de gravidade entre "Crítica", "Grave" ou "Leve".
    • Protocolo: selecione o tipo de protocolo como UDP ou TCP, dependendo da configuração do agente do Bindplane.
    • Selecione o botão de opção IP do servidor.
    • Insira o endereço IP do agente do Bindplane.
    • Porta do servidor: digite o número da porta do agente do Bindplane.
  6. Clique em Salvar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
ACTION security_result.action Se ACTION_CODE for "1", defina como "ALLOW". Caso contrário, se ACTION_CODE não estiver vazio, defina como "BLOCK". Caso contrário, o padrão será "UNKNOWN_ACTION" do início do analisador.
ACTION_CODE security_result.action Usado na lógica para determinar security_result.action.
APP_NAME network.http.user_agent Mapeado diretamente.
BYTES_RECVD network.received_bytes Mapeado diretamente, convertido para número inteiro sem sinal.
BYTES_SENT network.sent_bytes Mapeado diretamente, convertido para número inteiro sem sinal.
CLOUDGENIX_HOST principal.hostname Mapeado diretamente se o campo NAME estiver vazio. Usado como nome de host intermediário se NAME estiver presente.
CODE metadata.product_event_type Concatenado com FACILITY para formar metadata.product_event_type. Também usado para determinar metadata.event_type (por exemplo, se CODE contiver "DOWN", metadata.event_type será definido como "STATUS_SHUTDOWN").
DESTINATION_ZONE_NAME about.labels Mapeado diretamente como um rótulo com a chave "DESTINATION_ZONE_NAME".
DEVICE_TIME metadata.event_timestamp Mapeado diretamente após ser analisado como uma data.
DST_INTERFACE target.hostname Mapeado diretamente.
DST_IP target.ip Mapeado diretamente.
DST_PORT target.port Mapeado diretamente, convertido em número inteiro.
ELEMENT_ID about.labels Mapeado diretamente como um rótulo com a chave "ELEMENT_ID".
EVENT_TIME metadata.event_timestamp Mapeado diretamente após ser analisado como uma data.
FACILITY metadata.product_event_type Concatenado com CODE para formar metadata.product_event_type.
FLOW_EVENT security_result.summary Usado como parte da string security_result.summary.
IDENTIFIER about.labels Mapeado diretamente como um rótulo com a chave "IDENTIFIER".
ION_HOST principal.hostname Mapeado diretamente se os campos CLOUDGENIX_HOST e NAME estiverem vazios.
MSG metadata.description Mapeado diretamente. Também usado para correspondência de regex para determinar metadata.event_type e extrair target.ip.
NAME principal.hostname Mapeado diretamente. Se presente, CLOUDGENIX_HOST se torna o intermediary.hostname.
PROCESS_NAME principal.process.file.full_path Mapeado diretamente.
PROTOCOL_NAME network.ip_protocol Mapeado diretamente e convertido em maiúsculas.
REMOTE_HOSTNAME target.hostname Mapeado diretamente.
REMOTE_IP target.ip Mapeado diretamente.
RULE_NAME security_result.rule_name Mapeado diretamente.
SEVERITY security_result.severity, security_result.severity_details Mapeado para security_result.severity_details. Também usado para determinar security_result.severity. Por exemplo, se SEVERITY for "minor", security_result.severity será definido como "LOW".
SOURCE_ZONE_NAME about.labels Mapeado diretamente como um rótulo com a chave "SOURCE_ZONE_NAME".
SRC_INTERFACE principal.hostname Mapeado diretamente.
SRC_IP principal.ip Mapeado diretamente.
SRC_PORT principal.port Mapeado diretamente, convertido em número inteiro.
VPN_LINK_ID target.resource.id Mapeado diretamente.
(Lógica do analisador) is_alert Defina como "true" se log_type for "alert" ou "alarm".
(Lógica do analisador) is_significant Defina como "true" se log_type for "alert" ou "alarm".
(Lógica do analisador) metadata.event_type Determinado por uma série de instruções condicionais com base nos valores de CODE, MSG, src_ip e dest_ip. O padrão é "GENERIC_EVENT".
(Lógica do analisador) metadata.log_type Defina como "CLOUDGENIX_SDWAN".
(Lógica do analisador) metadata.product_event_type O padrão é a concatenação de CODE e FACILITY. Defina como "cgxFlowLogV1" para registros de fluxo.
(Lógica do analisador) metadata.product_name Definido como "CloudGenix SD-WAN".
(Lógica do analisador) metadata.vendor_name Defina como "Palo Alto Networks".
(Lógica do analisador) principal.process.pid Definido como o valor de pid do registro bruto para registros de fluxo.
(Lógica do analisador) security_result.action O padrão é "UNKNOWN_ACTION".
(Lógica do analisador) security_result.severity O padrão é "UNKNOWN_SEVERITY". Definido com base no valor de SEVERITY. Defina como "INFORMATIVO" para registros de fluxo.
(Lógica do analisador) security_result.summary Definido com base no valor de CODE para mensagens do syslog. Definido como uma string descritiva, incluindo FLOW_EVENT, SRC_IP e DST_IP para registros de fluxo.

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