Recolha registos do Netgate pfSense
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
- Inicie sessão na interface do pfSense com as credenciais de administrador.
- Nas definições do Registo global, faça o seguinte:
- Selecione Estado > Registos do sistema > Definições.
- No separador Definições, selecione Opções gerais de registo e faça o seguinte:
- No campo Formato da mensagem de registo, selecione syslog (RFC 5424, com indicações de data/hora com precisão de microssegundos RFC 3339).
- 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"
- Para guardar as novas definições, clique em Guardar.
Envie os registos da firewall para o Google SecOps
- Nas definições do Registo global, selecione Estado > Registos do sistema > Definições.
- 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.
- Para guardar as alterações, clique em Guardar.
Configure o encaminhador do Google SecOps para carregar registos do Netgate pfSense
- Selecione Definições do SIEM > Encaminhadores.
- Clique em Adicionar novo encaminhador.
- No campo Nome do encaminhador, introduza um nome exclusivo para o encaminhador.
- Clique em Enviar e, de seguida, em Confirmar. O encaminhador é adicionado e é apresentada a janela Adicionar configuração do coletor.
- No campo Nome do coletor, introduza um nome exclusivo para o coletor.
- Selecione pfSense como o Tipo de registo.
- No campo Tipo de coletor, selecione Syslog.
- 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.
- 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.