Coletar registros do NGFW do Forcepoint

Compatível com:

Este documento explica como ingerir registros do NGFW da Forcepoint no Google Security Operations usando o Bindplane. O analisador extrai campos dos registros JSON ou mensagens formatadas em CEF, normaliza-os no modelo de dados unificado (UDM) e enriquece os dados com metadados de fornecedor e produto. Ele processa registros formatados em JSON e CEF, usando padrões grok e lógica condicional para mapear campos de registro brutos em campos UDM, incluindo detalhes de conexão de rede, resultados de segurança e metadados.

Antes de começar

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

  • Uma instância do Google SecOps
  • Um host Windows 2016 ou mais recente ou Linux com systemd
  • Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente do Bindplane.
  • Acesso privilegiado ao Forcepoint Security Management Center (SMC).

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 de 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 seu 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

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

  1. Acesse o arquivo de configuração:

    1. 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.
    2. 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:

    receivers:
      tcplog:
        # 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: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'FORCEPOINT_FIREWALL'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - tcplog
          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 no 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 encaminhamento de syslog no NGFW da Forcepoint

  1. Faça login no Forcepoint Security Management Center (SMC).
  2. Acesse Configuração > Servidor de registros > Propriedades.
  3. Navegue até a seção Encaminhamento de registros.
  4. Clique em Adicionar para criar uma regra de encaminhamento.
  5. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome descritivo, por exemplo, Google SecOps BindPlane Syslog.
    • Host: insira o endereço IP do agente do Bindplane.
    • Porta: insira o número da porta do agente Bindplane (por exemplo, 514).
    • Protocolo: selecione TCP ou UDP, dependendo da configuração real do agente do Bindplane.
    • Formato: selecione JSON.
  6. Configure os campos de registro a serem encaminhados:
    • Clique em Selecionar campos ou acesse a configuração de seleção de campos.
    • Selecione os campos de registro relevantes de acordo com seus requisitos. Os campos a seguir são geralmente obrigatórios para a análise de segurança:
      • TIMESTAMP (Horário da criação)
      • LOG_ID (identificador de dados)
      • EVENT (evento)
      • EVENT_ID (ID do evento)
      • SRC (endereço de origem)
      • DST (endereço de destino)
      • Sport (porta de origem)
      • Dport (porta de destino)
      • PROTOCOL (Protocolo)
      • SERVICE (serviço)
      • RULE_ID (tag de regra)
      • ACTION (ação)
      • NAT_SRC, NAT_DST, NAT_SPORT, NAT_DPORT (campos de NAT)
      • ACC_RX_BYTES, ACC_TX_BYTES, ACC_ELAPSED (campos de contabilidade)
      • NODE_ID (remetente)
      • COMP_ID (ID do componente)
      • FACILITY (unidade)
      • INFO_MSG (mensagem informativa)
      • SITUATION (Situação)
      • APPLICATION (aplicativo)
    • Para uma lista completa de campos exportáveis, consulte a documentação Campos de entrada de registro de firewall e firewall de camada 2 exportáveis do NGFW da Forcepoint.
  7. Acesse a seção Eventos e selecione todos.
  8. Salve a configuração.
  9. Aplique as mudanças ao servidor de registros.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
AccElapsed network.session_duration.seconds Mapeado diretamente de AccElapsed se não estiver vazio ou for 0. Convertido para número inteiro.
AccRxBytes network.received_bytes Mapeado diretamente de AccRxBytes. Convertido para número inteiro sem sinal.
AccTxBytes network.sent_bytes Mapeado diretamente de AccTxBytes. Convertido para número inteiro sem sinal.
Action security_result.action_details Mapeado diretamente de Action.
Action security_result.action Se Action for "Permitir", defina como "ALLOW". Se Action for "Discard", defina como "BLOCK".
CompId target.hostname Mapeado diretamente de CompId.
Dport target.port Mapeado diretamente de Dport se não for 0. Convertido para número inteiro.
Dst target.ip Mapeado diretamente de Dst.
Event metadata.product_event_type Mapeado diretamente de Event.
Facility metadata.description Mapeado diretamente de Facility.
InfoMsg security_result.description Mapeado diretamente de InfoMsg.
LogId metadata.product_log_id Mapeado diretamente de LogId.
NatDport target.nat_port Mapeado diretamente de NatDport se não for 0. Convertido para número inteiro.
NatDst target.nat_ip Mapeado diretamente de NatDst.
NatSport principal.nat_port Mapeado diretamente de NatSport se não for 0. Convertido para número inteiro.
NatSrc principal.nat_ip Mapeado diretamente de NatSrc.
NodeId intermediary.ip Mapeado diretamente de NodeId se Src ou Dst e NodeId estiverem presentes.
NodeId principal.ip Mapeado diretamente de NodeId se NodeId estiver presente, mas Src e Dst não.
Protocol network.ip_protocol Mapeado de Protocol depois de convertê-lo em um número inteiro e usar uma pesquisa para converter o número no nome do protocolo (por exemplo, 6 se torna TCP).
RuleId security_result.rule_id Mapeado diretamente de RuleId.
Service principal.application Mapeado diretamente de Service se não for "Dest. Inacessível (porta inacessível)".
Service network.application_protocol Se Service for "HTTP" ou "HTTPS", defina como o valor de Service. Se Service contiver "DNS", defina como "DNS".
Service metadata.event_type Se Service for "HTTP" ou "HTTPS", defina metadata.event_type como "NETWORK_HTTP".
Situation security_result.summary Mapeado diretamente de Situation.
Sport principal.port Mapeado diretamente de Sport se não for 0. Convertido para número inteiro.
Src principal.ip Mapeado diretamente de Src.
Timestamp metadata.event_timestamp Mapeado diretamente de Timestamp depois de analisado como uma data.
Type security_result.severity_details Mapeado diretamente de Type.
Type security_result.severity Se Type for "Notification", defina como "LOW". Se Src ou NodeId e Dst ou CompId estiverem presentes, defina como "NETWORK_CONNECTION". Se apenas principal.ip estiver presente, defina como "STATUS_UPDATE". Caso contrário, defina como "GENERIC_EVENT". Defina como "FORCEPOINT_FIREWALL". Defina como "FORCEPOINT FIREWALL". Defina como "FORCEPOINT".
rt metadata.event_timestamp Mapeado diretamente de rt depois de analisado como uma data no bloco CEF.
act security_result.action_details Mapeado diretamente de act no bloco CEF.
app principal.application Mapeado diretamente de app no bloco CEF.
deviceFacility metadata.description Mapeado diretamente de deviceFacility no bloco CEF.
destinationTranslatedAddress target.nat_ip Mapeado diretamente de destinationTranslatedAddress no bloco CEF.
destinationTranslatedPort target.nat_port Mapeado diretamente de destinationTranslatedPort no bloco CEF.
dst target.ip Mapeado diretamente de dst no bloco CEF.
dpt target.port Mapeado diretamente de dpt no bloco CEF.
dvchost intermediary.ip Mapeado diretamente de dvchost no bloco CEF.
event_name metadata.product_event_type Mapeado diretamente de event_name no bloco CEF.
msg security_result.description Mapeado diretamente de msg no bloco CEF.
proto network.ip_protocol Mapeado de proto depois de convertê-lo em um número inteiro e usar uma pesquisa para converter o número no nome do protocolo (por exemplo, 6 se torna TCP) no bloco CEF.
sourceTranslatedAddress principal.nat_ip Mapeado diretamente de sourceTranslatedAddress no bloco CEF.
sourceTranslatedPort principal.nat_port Mapeado diretamente de sourceTranslatedPort no bloco CEF.
spt principal.port Mapeado diretamente de spt no bloco CEF.
src principal.ip Mapeado diretamente de src no bloco CEF.

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