Recolha registos do Netgate pfSense

Compatível com:

Este documento descreve como pode recolher os registos do Netgate pfSense através de um encaminhador do Google Security Operations.

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

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 PFSENSE.

Configure o Netgate pfSense

  1. Inicie sessão na interface do pfSense com as credenciais de administrador.
  2. Nas definições do Registo global, faça o seguinte:
    1. Selecione Estado > Registos do sistema > Definições.
    2. No separador Definições, selecione Opções gerais de registo e faça o seguinte:
      1. No campo Formato da mensagem de registo, selecione syslog (RFC 5424, com indicações de data/hora com precisão de microssegundos RFC 3339).
      2. No campo Registar bloqueios predefinidos da firewall, selecione as seguintes caixas de verificação:
        • Registe pacotes correspondentes das regras de bloqueio predefinidas no conjunto de regras
        • Registo de pacotes com correspondência das regras de aprovação predefinidas colocadas no conjunto de regras
        • Registe pacotes bloqueados por regras "Bloquear redes bogon"
        • Registe pacotes bloqueados por regras "Bloquear redes privadas"
  3. Para guardar as novas definições, clique em Guardar.

Envie os registos da firewall para o Google SecOps

  1. Nas definições do Registo global, selecione Estado > Registos do sistema > Definições.
  2. No separador Definições, selecione Opções de registo remoto e faça o seguinte:
    • No campo Ativar registo remoto, selecione a caixa de verificação Enviar mensagens de registo para o servidor syslog remoto.
    • No campo Endereço de origem, mantenha o valor predefinido como Qualquer.
    • No campo Protocolo IP, se o endereço de origem estiver selecionado como o valor predefinido, não precisa de especificar o endereço IP. Caso contrário, introduza o endereço IP.
    • Nos Servidores de registo remoto, especifique o endereço IP do encaminhador do Google SecOps.
    • Em Conteúdos do syslog remoto, selecione a caixa de verificação Eventos de firewall.
  3. Para guardar as alterações, clique em Guardar.

Configure o encaminhador do Google SecOps para carregar registos do Netgate pfSense

  1. Selecione Definições do SIEM > Encaminhadores.
  2. Clique em Adicionar novo encaminhador.
  3. No campo Nome do encaminhador, introduza um nome exclusivo para o encaminhador.
  4. Clique em Enviar e, de seguida, em Confirmar. O encaminhador é adicionado e é apresentada a janela Adicionar configuração do coletor.
  5. No campo Nome do coletor, introduza um nome exclusivo para o coletor.
  6. Selecione pfSense como o Tipo de registo.
  7. No campo Tipo de coletor, selecione Syslog.
  8. Configure os seguintes parâmetros de entrada obrigatórios:
    • Protocolo: especifique o protocolo de ligação que o coletor usa para ouvir dados de syslog.
    • Endereço: especifique o endereço IP ou o nome de anfitrião de destino onde o coletor reside e escuta os dados syslog.
    • Porta: especifique a porta de destino onde o coletor reside e ouve os dados de syslog.
  9. Clique em Enviar.

Para mais informações sobre os encaminhadores do Google SecOps, consulte o artigo Faça a gestão das configurações de encaminhadores através da IU do Google SecOps.

Se tiver problemas ao criar encaminhadores, contacte o apoio técnico do Google SecOps.

Referência de mapeamento de campos

Este analisador do firewall pfSense extrai campos de mensagens syslog através de padrões grok, processando vários formatos de registo, incluindo eventos DHCP e de firewall. Em seguida, mapeia estes campos extraídos para o UDM, enriquecendo os dados com informações contextuais, como endereços IP, endereços MAC, nomes de utilizador e detalhes da rede.

Tabela de mapeamento do UDM

Campo de registo Mapeamento de UDM Lógica
aplicação principal.application O valor é extraído da mensagem de registo através de padrões grok. Para mensagens syslog, o nome da aplicação encontra-se normalmente após o nome de anfitrião e a data/hora.
comando principal.process.command_line Extraído do campo de descrição quando o registo indica uma execução de comando.
descrição metadata.description O campo de descrição está mapeado para a descrição dos metadados da UDM, exceto nos registos de aplicações syslog-ng, em que está mapeado para metadata.description. Para eventos DHCP, o dhcp_type é adicionado à descrição.
dhcp_type metadata.product_event_type O tipo de mensagem DHCP (por exemplo, DHCPDISCOVER, DHCPOFFER) é extraído e mapeado.
anfitrião intermediary.hostname OU intermediary.ip Se o valor do anfitrião for um endereço IP válido, é mapeado para intermediary.ip. Caso contrário, é mapeado para intermediary.hostname.
anfitrião principal.hostname, principal.asset.hostname Quando não existe nenhum IP principal, o anfitrião é tratado como o nome de anfitrião principal.
mac principal.mac, network.dhcp.chaddr O endereço MAC associado a um pedido DHCP é extraído e mapeado.
src_ip principal.ip, principal.asset.ip Extraídos de formatos de registo específicos através de um padrão grok.
src_mac principal.mac Extraídos de formatos de registo específicos através de um padrão grok.
dst_mac target.mac Extraídos de formatos de registo específicos através de um padrão grok.
timestamp metadata.event_timestamp A data/hora é extraída da mensagem de registo e convertida num formato de data/hora da UDM. As informações do fuso horário (tz) são anexadas à data/hora antes da conversão, se estiverem disponíveis.
timestamp_no_year metadata.event_timestamp Se estiver presente uma data/hora sem um ano, esta é analisada e o ano atual é adicionado durante o processo de análise.
utilizador principal.user.userid O nome de utilizador associado a um evento é extraído e mapeado.
coluna1 security_result.rule_id Mapeado a partir da primeira coluna CSV se a descrição estiver no formato CSV.
column6 security_result.rule_type Mapeado a partir da sexta coluna CSV se a descrição estiver no formato CSV.
column7 security_result.action Mapeado a partir da sétima coluna do CSV se a descrição estiver no formato CSV. Convertido para "BLOQUEAR" ou "PERMITIR".
column8 network.direction Mapeado a partir da oitava coluna do CSV se a descrição estiver no formato CSV. Convertido para "INBOUND" ou "OUTBOUND".
column13 network.ip_protocol (se UDP ou ICMP) Mapeado a partir da décima terceira coluna CSV se a descrição estiver no formato CSV e o protocolo for UDP ou ICMP. Para eventos TCP/UDP, é usado para criar um campo adicional com a chave "Id".
column16 principal.ip, principal.asset.ip (se IPv6 e column9 for 6) Mapeado a partir da décima sexta coluna do CSV se a descrição estiver no formato CSV e a coluna9 for 6. Para eventos TCP/UDP, é usado para identificação de protocolos se a coluna 9 for 4.
column17 target.ip, target.asset.ip (se IPv6 e não ip_failure) Mapeado a partir da décima sétima coluna do CSV se a descrição estiver no formato CSV, a coluna9 for 6 e o valor for um IP válido. Para eventos TCP/UDP, é usado para identificação de protocolos.
column18 principal.port (se UDP) Mapeado a partir da décima oitava coluna CSV se a descrição estiver no formato CSV e o protocolo for UDP. Para eventos TCP/UDP, é mapeado para network.received_bytes.
column19 target.port (se UDP) Mapeado a partir da décima nona coluna CSV se a descrição estiver no formato CSV e o protocolo for UDP. Para eventos DHCP, é mapeado para network.dhcp.yiaddr. Para outros eventos, é mapeado para principal.ip, principal.asset.ip.
column20 additional.fields (key: "data_length") (se for UDP) Mapeado a partir da vigésima coluna CSV se a descrição estiver no formato CSV e o protocolo for UDP. Para outros eventos, é mapeado para target.ip, target.asset.ip.
column21 principal.port (se for TCP/UDP) Mapeado a partir da vigésima primeira coluna CSV se a descrição estiver no formato CSV e o protocolo for TCP ou UDP.
column22 target.port (se for TCP/UDP) Mapeado a partir da vigésima segunda coluna CSV se a descrição estiver no formato CSV e o protocolo for TCP ou UDP.
column23 additional.fields (key: "data_length") (se for TCP/UDP) Mapeado a partir da 23.ª coluna CSV se a descrição estiver no formato CSV e o protocolo for TCP ou UDP.
column24 additional.fields (key: "tcp_flags") (se for TCP) Mapeado a partir da vigésima quarta coluna do CSV se a descrição estiver no formato CSV e o protocolo for TCP.
column25 additional.fields (key: "sequence_number") (se for TCP/UDP) Mapeado a partir da vigésima quinta coluna CSV se a descrição estiver no formato CSV e o protocolo for TCP ou UDP.
column29 additional.fields (key: "tcp_options") (se for TCP) Mapeado a partir da vigésima nona coluna CSV se a descrição estiver no formato CSV e o protocolo for TCP.
compression_algo additional.fields (key: "Compression Algorithm") Extraído do campo de descrição e adicionado como um campo adicional.
desc metadata.description Extraído do campo de mensagem e usado como descrição.
principal_ip principal.ip, principal.asset.ip Extraído do campo de descrição e representa o endereço IP principal.
principal_username principal.user.userid Extraído do campo de descrição e representa o nome de utilizador principal.
estado security_result.detection_fields (chave: "status") Extraído do campo de descrição e adicionado como um campo de deteção no resultado de segurança.
target_host target.hostname, target.asset.hostname Extraído do campo de descrição e representa o nome do anfitrião de destino.
src_port principal.port Extraído do campo de descrição e representa a porta de origem. Determinado com base em vários campos de registo e na lógica do analisador. Pode ser NETWORK_CONNECTION, NETWORK_DHCP, STATUS_UPDATE ou GENERIC_EVENT. Codificado de forma rígida para "PFSENSE". Codificado de forma rígida para "PFSENSE". Codificado de forma rígida para "PFSENSE". Definido como "DHCP" para eventos DHCP. Definido como "BOOTREQUEST" para DHCPDISCOVER e DHCPREQUEST, e "BOOTREPLY" para DHCPOFFER e DHCPACK. Definido como "DISCOVER", "REQUEST", "OFFER" ou "ACK" com base no campo dhcp_type.

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