Recoger registros de Netgate pfSense

Disponible en:

En este documento se describe cómo puede recoger los registros de Netgate pfSense mediante un reenviador de Google Security Operations.

Para obtener más información, consulta Ingestión de datos en Google SecOps.

Una etiqueta de ingestión identifica el analizador que normaliza los datos de registro sin procesar en formato UDM estructurado. La información de este documento se aplica al analizador con la etiqueta de ingestión PFSENSE.

Configurar Netgate pfSense

  1. Inicia sesión en la interfaz de pfSense con las credenciales de administrador.
  2. En la configuración de Registro global, haz lo siguiente:
    1. Selecciona Estado > Registros del sistema > Configuración.
    2. En la pestaña Configuración, selecciona Opciones generales de registro y haz lo siguiente:
      1. En el campo Formato de mensaje de registro, selecciona syslog (RFC 5424, con marcas de tiempo de precisión de microsegundos RFC 3339).
      2. En el campo Registrar bloqueos predeterminados del cortafuegos, marque las siguientes casillas:
        • Paquetes de registro que coinciden con las reglas de bloqueo predeterminadas del conjunto de reglas
        • Paquete de registro que coincide con las reglas de aprobación predeterminadas incluidas en el conjunto de reglas
        • Registrar paquetes bloqueados por reglas de "Bloquear redes bogon"
        • Registrar paquetes bloqueados por reglas de "Bloquear redes privadas"
  3. Para guardar la nueva configuración, haga clic en Guardar.

Enviar los registros del cortafuegos a Google SecOps

  1. En los ajustes de Registro global, selecciona Estado > Registros del sistema > Ajustes.
  2. En la pestaña Configuración, selecciona Opciones de registro remoto y haz lo siguiente:
    • En el campo Habilitar registro remoto, selecciona la casilla Enviar mensajes de registro al servidor syslog remoto.
    • En el campo Dirección de origen, deja el valor predeterminado Cualquiera.
    • En el campo Protocolo IP, si la dirección de origen está seleccionada como valor predeterminado, no tienes que especificar la dirección IP. De lo contrario, introduce la dirección IP.
    • En Servidores de registro remotos, especifica la dirección IP del reenviador de Google SecOps.
    • En Contenido de syslog remoto, selecciona la casilla Eventos de firewall.
  3. Para guardar los cambios, haz clic en Guardar.

Configurar el reenviador de Google SecOps para ingerir registros de Netgate pfSense

  1. Seleccione Configuración de SIEM > Reenviadores.
  2. Haz clic en Añadir nuevo remitente.
  3. En el campo Nombre del reenviador, introduce un nombre único para el reenviador.
  4. Haz clic en Enviar y, a continuación, en Confirmar. Se añade el reenviador y se muestra la ventana Añadir configuración de recopilador.
  5. En el campo Nombre del recolector, escriba un nombre único para el recolector.
  6. Seleccione pfSense como Tipo de registro.
  7. En el campo Tipo de recopilador, selecciona Syslog.
  8. Configure los siguientes parámetros de entrada obligatorios:
    • Protocolo: especifica el protocolo de conexión que usa el recopilador para escuchar los datos de syslog.
    • Dirección: especifica la dirección IP o el nombre de host de destino donde reside el recopilador y escucha los datos de syslog.
    • Puerto: especifica el puerto de destino en el que reside el recopilador y escucha los datos de syslog.
  9. Haz clic en Enviar.

Para obtener más información sobre los reenviadores de Google SecOps, consulta Gestionar configuraciones de reenviadores a través de la interfaz de usuario de Google SecOps.

Si tienes problemas al crear reenviadores, ponte en contacto con el equipo de Asistencia de SecOps de Google.

Referencia de asignación de campos

Este analizador de cortafuegos pfSense extrae campos de mensajes syslog mediante patrones grok y gestiona varios formatos de registro, incluidos los eventos de DHCP y de cortafuegos. Después, asigna estos campos extraídos al UDM y enriquece los datos con información contextual, como direcciones IP, direcciones MAC, nombres de usuario y detalles de la red.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
página principal.application El valor se extrae del mensaje de registro mediante patrones grok. En el caso de los mensajes syslog, el nombre de la aplicación suele encontrarse después del nombre de host y de la marca de tiempo.
comando principal.process.command_line Se extrae del campo de descripción cuando el registro indica la ejecución de un comando.
description metadata.description El campo de descripción se asigna a la descripción de los metadatos de UDM, excepto en los registros de aplicaciones syslog-ng, donde se asigna a metadata.description. En el caso de los eventos DHCP, se añade el prefijo dhcp_type a la descripción.
dhcp_type metadata.product_event_type El tipo de mensaje DHCP (por ejemplo, DHCPDISCOVER y DHCPOFFER) se extraen y se asignan.
host intermediary.hostname O intermediary.ip Si el valor de host es una dirección IP válida, se asigna a intermediary.ip. De lo contrario, se asigna a intermediary.hostname.
host principal.hostname, principal.asset.hostname Si no hay ninguna IP principal, el host se trata como el nombre de host principal.
mac principal.mac, network.dhcp.chaddr Se extrae y se asigna la dirección MAC asociada a una solicitud de DHCP.
src_ip principal.ip, principal.asset.ip Se extraen de formatos de registro específicos mediante un patrón grok.
src_mac principal.mac Se extraen de formatos de registro específicos mediante un patrón grok.
dst_mac target.mac Se extraen de formatos de registro específicos mediante un patrón grok.
timestamp metadata.event_timestamp La marca de tiempo se extrae del mensaje de registro y se convierte al formato de marca de tiempo de UDM. Si está disponible, la información de la zona horaria (tz) se añade a la marca de tiempo antes de la conversión.
timestamp_no_year metadata.event_timestamp Si hay una marca de tiempo sin año, se analiza y se añade el año actual durante el proceso de análisis.
usuario principal.user.userid Se extrae y se asigna el nombre de usuario asociado a un evento.
columna1 security_result.rule_id Se asigna desde la primera columna del archivo CSV si la descripción está en formato CSV.
column6 security_result.rule_type Se asigna desde la sexta columna del archivo CSV si la descripción está en formato CSV.
column7 security_result.action Se asigna desde la séptima columna del archivo CSV si la descripción está en formato CSV. Se ha convertido en "BLOCK" o "ALLOW".
column8 network.direction Se asigna a partir de la octava columna del archivo CSV si la descripción está en formato CSV. Se ha convertido en "INBOUND" u "OUTBOUND".
column13 network.ip_protocol (si es UDP o ICMP) Se asigna desde la decimotercera columna del archivo CSV si la descripción está en formato CSV y el protocolo es UDP o ICMP. En el caso de los eventos TCP/UDP, se usa para crear un campo adicional con la clave "Id".
column16 principal.ip, principal.asset.ip (si IPv6 y column9 es 6) Se asigna desde la decimosexta columna del archivo CSV si la descripción está en formato CSV y la columna 9 es 6. En el caso de los eventos TCP/UDP, se usa para identificar el protocolo si la columna 9 es 4.
column17 target.ip, target.asset.ip (si IPv6 y no ip_failure) Se asigna desde la decimoséptima columna del archivo CSV si la descripción está en formato CSV, la columna 9 es 6 y el valor es una IP válida. En el caso de los eventos TCP/UDP, se usa para identificar el protocolo.
column18 principal.port (si es UDP) Se asigna desde la decimoctava columna del archivo CSV si la descripción está en formato CSV y el protocolo es UDP. En el caso de los eventos TCP/UDP, se asigna a network.received_bytes.
column19 target.port (si es UDP) Se asigna desde la decimonovena columna del archivo CSV si la descripción está en formato CSV y el protocolo es UDP. En el caso de los eventos DHCP, se asigna a network.dhcp.yiaddr. En el caso de otros eventos, se asigna a principal.ip, principal.asset.ip.
column20 additional.fields (clave: "data_length") (si es UDP) Se asigna desde la vigésima columna del archivo CSV si la descripción está en formato CSV y el protocolo es UDP. En el caso de otros eventos, se asigna a target.ip, target.asset.ip.
column21 principal.port (si es TCP/UDP) Se asigna desde la vigésimo primera columna del archivo CSV si la descripción está en formato CSV y el protocolo es TCP o UDP.
column22 target.port (si es TCP/UDP) Se asigna desde la columna 22 del archivo CSV si la descripción está en formato CSV y el protocolo es TCP o UDP.
column23 additional.fields (clave: "data_length") (si es TCP/UDP) Se asigna desde la columna 23 del archivo CSV si la descripción está en formato CSV y el protocolo es TCP o UDP.
column24 additional.fields (clave: "tcp_flags") (si es TCP) Se asigna desde la vigésimo cuarta columna del archivo CSV si la descripción está en formato CSV y el protocolo es TCP.
column25 additional.fields (clave: "sequence_number") (si es TCP/UDP) Se asigna desde la vigésimo quinta columna del archivo CSV si la descripción está en formato CSV y el protocolo es TCP o UDP.
column29 additional.fields (clave: "tcp_options") (si es TCP) Se asigna desde la vigésimo novena columna del archivo CSV si la descripción está en formato CSV y el protocolo es TCP.
compression_algo additional.fields (clave: "Compression Algorithm") Se extrae del campo de descripción y se añade como campo adicional.
descendente metadata.description Se extrae del campo de mensaje y se usa como descripción.
principal_ip principal.ip, principal.asset.ip Se extrae del campo de descripción y representa la dirección IP principal.
principal_username principal.user.userid Se extrae del campo de descripción y representa el nombre de usuario principal.
status security_result.detection_fields (clave: "status") Se extrae del campo de descripción y se añade como campo de detección en el resultado de seguridad.
target_host target.hostname, target.asset.hostname Se extrae del campo de descripción y representa el nombre de host de destino.
src_port principal.port Se extrae del campo de descripción y representa el puerto de origen. Se determina en función de varios campos de registro y de la lógica del analizador. Puede ser NETWORK_CONNECTION, NETWORK_DHCP, STATUS_UPDATE o GENERIC_EVENT. Codificado como "PFSENSE". Codificado como "PFSENSE". Codificado como "PFSENSE". Se establece en "DHCP" para los eventos de DHCP. Se define como "BOOTREQUEST" para DHCPDISCOVER y DHCPREQUEST, y como "BOOTREPLY" para DHCPOFFER y DHCPACK. Asigna el valor "DISCOVER", "REQUEST", "OFFER" o "ACK" en función del campo dhcp_type.

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.