Coletar registros do NGFW do Forcepoint
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
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- 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
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
- 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
- Abra o Prompt de Comando ou o PowerShell como administrador.
Execute este comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Instalação do Linux
- Abra um terminal com privilégios de root ou sudo.
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 este guia de instalação.
Configurar o agente do Bindplane para ingerir o Syslog e enviar ao Google SecOps
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,viou Bloco de Notas).
- Localize o arquivo
Edite o arquivo
config.yamlda 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.jsonpara 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-agentPara 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
- Faça login no Forcepoint Security Management Center (SMC).
- Acesse Configuração > Servidor de registros > Propriedades.
- Navegue até a seção Encaminhamento de registros.
- Clique em Adicionar para criar uma regra de encaminhamento.
- 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.
- Nome: insira um nome descritivo, por exemplo,
- 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.
- Acesse a seção Eventos e selecione todos.
- Salve a configuração.
- 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.