Recopila registros de pfSense de Netgate

Compatible con:

En este documento, se describe cómo puedes recopilar los registros de Netgate pfSense con un reenvío de Google Security Operations.

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

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

Configura Netgate pfSense

  1. Accede a la interfaz de pfSense con 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 de registro generales y haz lo siguiente:
      1. En el campo Log message format, selecciona syslog (RFC 5424, with RFC 3339 microsecond-precision timestamps).
      2. En el campo Registrar los bloqueos predeterminados del firewall, selecciona las siguientes casillas de verificación:
        • Registra los paquetes que coinciden con las reglas de bloqueo predeterminadas en el conjunto de reglas
        • Registra el paquete que coincide con las reglas de aprobación predeterminadas incluidas en el conjunto de reglas
        • Registra los paquetes bloqueados por las reglas de "Bloquear redes bogon"
        • Paquetes de registros bloqueados por las reglas de "Bloquear redes privadas"
  3. Para guardar la configuración nueva, haz clic en Guardar.

Envía los registros del firewall a Google SecOps

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

Configura el reenvío de Google SecOps para que ingiera registros de Netgate pfSense

  1. Selecciona SIEM Settings > Forwarders.
  2. Haz clic en Agregar un nuevo reenvío.
  3. En el campo Nombre del reenviador, ingresa un nombre único para el reenviador.
  4. Haz clic en Enviar y, luego, en Confirmar. Se agregará el reenvío y aparecerá la ventana Add collector configuration.
  5. En el campo Nombre del recopilador, escribe un nombre único para el recopilador.
  6. Selecciona pfSense como el Tipo de registro.
  7. En el campo Tipo de recopilador, selecciona Syslog.
  8. Configura 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 en el que 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 retransmisores de Google SecOps, consulta Administra la configuración de retransmisores a través de la IU de Google SecOps.

Si tienes problemas para crear reenvíos, comunícate con el equipo de asistencia de SecOps de Google.

Referencia de la asignación de campos

Este analizador de firewall de pfSense extrae campos de los mensajes de syslog con patrones de Grok y controla varios formatos de registro, incluidos los eventos de DHCP y de firewall. Luego, asigna estos campos extraídos al UDM, lo que 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
aplicación principal.application El valor se extrae del mensaje de registro con patrones de Grok. En el caso de los mensajes de syslog, el nombre de la aplicación suele encontrarse después del nombre de host y 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.
descripción metadata.description El campo de descripción se asigna a la descripción de los metadatos del UDM, excepto en los registros de la aplicación syslog-ng, en los que se asigna a metadata.description. En el caso de los eventos de DHCP, se antepone dhcp_type a la descripción.
dhcp_type metadata.product_event_type Tipo de mensaje DHCP (p.ej., DHCPDISCOVER, DHCPOFFER) se extrae y se asigna.
host intermediary.hostname O intermediary.ip Si el valor del 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 Cuando no hay una 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 extrae de formatos de registro específicos con un patrón de Grok.
src_mac principal.mac Se extrae de formatos de registro específicos con un patrón de Grok.
dst_mac target.mac Se extrae de formatos de registro específicos con un patrón de Grok.
timestamp metadata.event_timestamp La marca de tiempo se extrae del mensaje de registro y se convierte a un formato de marca de tiempo de UDM. Si está disponible, la información de la zona horaria (tz) se agrega 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 agrega 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.
column1 security_result.rule_id Se asigna desde la primera columna del CSV si la descripción está en formato CSV.
column6 security_result.rule_type Se asigna desde la sexta columna del CSV si la descripción está en formato CSV.
column7 security_result.action Se asigna desde la séptima columna del CSV si la descripción está en formato CSV. Se convirtió en "BLOCK" o "ALLOW".
column8 network.direction Se asigna desde la octava columna del CSV si la descripción está en formato CSV. Se convirtió en "INBOUND" o "OUTBOUND".
column13 network.ip_protocol (si es UDP o ICMP) Se asigna desde la decimotercera columna del CSV si la descripción está en formato CSV y el protocolo es UDP o ICMP. En el caso de los eventos de 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 CSV si la descripción está en formato CSV y column9 es 6. Para los eventos de TCP/UDP, se usa para la identificación del protocolo si column9 es 4.
column17 target.ip, target.asset.ip (si es IPv6 y no ip_failure) Se asigna desde la decimoséptima columna del CSV si la descripción está en formato CSV, la columna9 es 6 y el valor es una IP válida. En el caso de los eventos de TCP/UDP, se usa para la identificación del protocolo.
column18 principal.port (si es UDP) Se asigna desde la decimoctava columna del CSV si la descripción está en formato CSV y el protocolo es UDP. Para los eventos de TCP/UDP, se asigna a network.received_bytes.
column19 target.port (si es UDP) Se asigna desde la decimonovena columna del CSV si la descripción está en formato CSV y el protocolo es UDP. En el caso de los eventos de DHCP, se asigna a network.dhcp.yiaddr. Para 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 CSV si la descripción está en formato CSV y el protocolo es UDP. Para otros eventos, se asigna a target.ip, target.asset.ip.
column21 principal.port (si es TCP/UDP) Se asigna desde la vigésima primera columna del 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 veintidós del 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 veintitrés del 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 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 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 columna veintinueve del 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 agrega como un campo adicional.
desc 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.
estado security_result.detection_fields (clave: "status") Se extrae del campo de descripción y se agrega como un campo de detección dentro del 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 la lógica del analizador. Puede ser NETWORK_CONNECTION, NETWORK_DHCP, STATUS_UPDATE o GENERIC_EVENT. Está codificado como "PFSENSE". Está codificado como "PFSENSE". Está codificado como "PFSENSE". Se establece en "DHCP" para los eventos de DHCP. Se establece en "BOOTREQUEST" para DHCPDISCOVER y DHCPREQUEST, y en "BOOTREPLY" para DHCPOFFER y DHCPACK. Se establece en "DISCOVER", "REQUEST", "OFFER" o "ACK" según el campo dhcp_type.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.