Recopila registros del firewall Sophos XG

Compatible con:

En este documento, se explica cómo recopilar registros del firewall de nueva generación (NG) de Sophos con Bindplane. El analizador extrae registros, normaliza los pares clave-valor y los asigna al UDM. Controla varios formatos de registro, convierte marcas de tiempo, enriquece los datos de red y clasifica los eventos en función de los IDs de registro y la actividad de red.

Antes de comenzar

  • Asegúrate de tener una instancia de Google Security Operations.
  • Asegúrate de usar Windows 2016 o una versión posterior, o un host de Linux con systemd.
  • Si se ejecuta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.
  • Asegúrate de tener acceso con privilegios al firewall Sophos XG.

Obtén el archivo de autenticación de transferencia de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recopilación.
  3. Descarga el archivo de autenticación de transferencia. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.

Obtén el ID de cliente de Google SecOps

  1. Accede a la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Perfil.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Instala el agente de Bindplane

Instalación de Windows

  1. Abre el símbolo del sistema o PowerShell como administrador.
  2. Ejecuta el siguiente comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalación de Linux

  1. Abre una terminal con privilegios de raíz o sudo.
  2. Ejecuta el siguiente comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Recursos de instalación adicionales

Configura el agente de Bindplane para transferir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    1. Ubica el archivo config.yaml. Por lo general, se encuentra en el directorio /etc/bindplane-agent/ en Linux o en el directorio de instalación en Windows.
    2. Abre el archivo con un editor de texto (por ejemplo, nano, vi o Bloc de notas).
  2. Edita el archivo config.yaml de la siguiente manera:

    receivers:
        udplog:
            # 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: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: SYSLOG
                namespace: sophos_firewall
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Reemplaza el puerto y la dirección IP según sea necesario en tu infraestructura.

  4. Reemplaza <customer_id> por el ID de cliente real.

  5. Actualiza /path/to/ingestion-authentication-file.json a la ruta de acceso en la que se guardó el archivo de autenticación en la sección Obtén el archivo de autenticación de transferencia de Google SecOps.

Reinicia el agente de Bindplane para aplicar los cambios

  • Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar el agente de Bindplane en Windows, puedes usar la consola Services o ingresar el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configura los servidores de syslog de Sophos Firewall

  1. Accede al firewall Sophos XG.
  2. Ve a Configurar > Servicios del sistema > Configuración de registro.
  3. En la sección Servidores de Syslog, haz clic en Agregar.
  4. Proporciona los siguientes detalles de configuración:
    • Nombre: Ingresa un nombre único para el recopilador de Google SecOps.
    • Dirección IP o dominio: Ingresa la dirección IP de Bindplane.
    • Puerto: Ingresa el número de puerto de Bindplane.
    • Facility: Selecciona DAEMON.
    • Nivel de gravedad: Selecciona Información.
    • Formato: Selecciona Formato estándar del dispositivo.
  5. Haz clic en Guardar.
  6. Regresa a la página Configuración de registro y selecciona los tipos de registro específicos que deseas reenviar al servidor de syslog.

Configura la configuración de registro del firewall de Sophos XG

  1. Selecciona los siguientes registros de firewall base (registro de política de seguridad):
    • Reglas de políticas
    • Tráfico no válido
    • LCA locales
    • Ataque DoS
    • Se descartó el paquete redireccionado de ICMP
    • Paquete con enrutamiento de origen descartado
    • Tráfico fragmentado abandonado
    • Filtrado de MAC
    • Filtrado de pares IP-MAC
    • Prevención de falsificación de IP
    • Túnel de VPN SSL
    • Servidor de aplicaciones protegido
    • Latidos
  2. Selecciona los siguientes registros de protección web (registro de filtrado web y registro de filtrado de aplicaciones):
    • Filtro web
    • Filtro de aplicaciones
  3. Selecciona los siguientes registros de protección de red (registro de IPS):
    • Anomalía
    • Firma
  4. Selecciona el siguiente registro del registro del sistema:
    • Eventos del sistema

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
activityname security_result.detection_fields.activityname Valor del campo activityname.
app_category security_result.detection_fields.Application Category, application_category Valor del campo app_category.
app_filter_policy_id security_result.detection_fields.app_filter_policy_id Valor del campo app_filter_policy_id.
app_is_cloud security_result.detection_fields.app_is_cloud Valor del campo app_is_cloud.
app_name principal.application Valor del campo app_name.
app_resolved_by security_result.detection_fields.app_resolved_by Valor del campo app_resolved_by.
app_risk security_result.detection_fields.Application Risk, application_risk Valor del campo app_risk.
app_technology application_technology Valor del campo app_technology.
application principal.application Valor del campo application.
application_category security_result.detection_fields.Application Category Valor del campo application_category.
application_risk security_result.detection_fields.Application Risk Valor del campo application_risk.
application_technology security_result.detection_fields.Application Technology Valor del campo application_technology.
bytes_received network.received_bytes Valor del campo bytes_received.
bytes_sent network.sent_bytes Valor del campo bytes_sent.
category application_category Valor del campo category.
category_type security_result.detection_fields.category_type Valor del campo category_type.
client_host_name network.dhcp.client_hostname Valor del campo client_host_name.
client_physical_address network.dhcp.chaddr Valor del campo client_physical_address.
con_event security_result.detection_fields.con_event Valor del campo con_event.
con_id security_result.detection_fields.con_id Valor del campo con_id.
connevent security_result.detection_fields.connevent Valor del campo connevent.
connid security_result.detection_fields.connid Valor del campo connid.
date event.timestamp Se analiza a partir de los campos date y time, y se ajusta según la zona horaria.
device_id intermediary.asset.asset_id Es el valor del campo device_id, con el prefijo ID:.
device_model intermediary.hostname Valor del campo device_model.
device_name intermediary.hostname Valor del campo device_name.
device_serial_id intermediary.asset.asset_id Es el valor del campo device_serial_id, con el prefijo ID:.
domain principal.administrative_domain, target.hostname Valor del campo domain.
dst_country target.location.country_or_region Valor del campo dst_country.
dst_country_code target.location.country_or_region Valor del campo dst_country_code.
dst_ip target.ip Valor del campo dst_ip.
dst_mac target.mac Valor del campo dst_mac.
dst_port target.port Valor del campo dst_port.
dst_trans_ip target.nat_ip Valor del campo dst_trans_ip.
dst_trans_port target.nat_port Valor del campo dst_trans_port.
dst_zone security_result.detection_fields.dst_zone Valor del campo dst_zone.
dstzone security_result.detection_fields.dstzone Valor del campo dstzone.
dstzonetype security_result.detection_fields.dstzonetype Valor del campo dstzonetype.
duration network.session_duration.seconds Valor del campo duration.
ether_type security_result.detection_fields.ether_type Valor del campo ether_type.
exceptions security_result.detection_fields.exceptions Valor del campo exceptions.
fw_rule_id security_result.rule_id Valor del campo fw_rule_id.
fw_rule_name security_result.rule_name Valor del campo fw_rule_name.
fw_rule_section security_result.rule_set Valor del campo fw_rule_section.
fw_rule_type security_result.rule_type Valor del campo fw_rule_type.
gw_id_request security_result.detection_fields.gw_id_request Valor del campo gw_id_request.
gw_name_request security_result.detection_fields.gw_name_request Valor del campo gw_name_request.
hb_health security_result.detection_fields.hb_health Valor del campo hb_health.
hb_status security_result.detection_fields.hb_status Valor del campo hb_status.
http_category security_result.detection_fields.http_category Valor del campo http_category.
http_category_type security_result.detection_fields.http_category_type Valor del campo http_category_type.
http_status network.http.response_code Valor del campo http_status.
in_display_interface security_result.detection_fields.in_display_interface Valor del campo in_display_interface.
in_interface security_result.detection_fields.in_interface Valor del campo in_interface.
ipaddress principal.ip, network.dhcp.ciaddr Valor del campo ipaddress.
log_component metadata.product_event_type, security_result.detection_fields.log_component Valor del campo log_component.
log_id metadata.product_log_id Valor del campo log_id.
log_msg metadata.description Es el valor del campo message después de quitar message=.
log_occurrence security_result.detection_fields.log_occurrence Valor del campo log_occurrence.
log_subtype security_result.detection_fields.log_subtype, security_result.action Valor del campo log_subtype.
log_type security_result.detection_fields.log_type Valor del campo log_type.
log_version security_result.detection_fields.log_version Valor del campo log_version.
message metadata.description Valor del campo message.
nat_rule_id security_result.detection_fields.nat_rule_id Valor del campo nat_rule_id.
nat_rule_name security_result.detection_fields.nat_rule_name Valor del campo nat_rule_name.
out_display_interface security_result.detection_fields.out_display_interface Valor del campo out_display_interface.
out_interface security_result.detection_fields.out_interface Valor del campo out_interface.
packets_received network.received_packets Valor del campo packets_received.
packets_sent network.sent_packets Valor del campo packets_sent.
priority security_result.severity Se asignan desde el campo priority o severity según una tabla de consulta.
protocol network.ip_protocol Se analiza desde el campo protocol con una tabla de consulta.
reason security_result.detection_fields.reason, security_result.summary Valor del campo reason.
recv_bytes network.received_bytes Valor del campo recv_bytes.
recv_pkts network.received_packets Valor del campo recv_pkts.
referer network.http.referral_url Valor del campo referer.
rule_id security_result.rule_id Valor del campo rule_id.
rule_name security_result.rule_name Valor del campo rule_name.
sent_bytes network.sent_bytes Valor del campo sent_bytes.
sent_pkts network.sent_packets Valor del campo sent_pkts.
severity priority Valor del campo severity.
src_country principal.location.country_or_region Valor del campo src_country.
src_country_code principal.location.country_or_region Valor del campo src_country_code.
src_ip principal.ip Valor del campo src_ip.
src_mac principal.mac Valor del campo src_mac.
src_port principal.port Valor del campo src_port.
src_trans_ip principal.nat_ip Valor del campo src_trans_ip.
src_trans_port principal.nat_port Valor del campo src_trans_port.
src_zone security_result.detection_fields.src_zone Valor del campo src_zone.
srczone security_result.detection_fields.srczone Valor del campo srczone.
srczonetype security_result.detection_fields.srczonetype Valor del campo srczonetype.
status security_result.action_details, security_result.action Valor del campo status.
status_code network.http.response_code Valor del campo status_code.
target.url target.url Valor del campo url.
time event.timestamp Se analiza a partir de los campos date y time, y se ajusta según la zona horaria.
timestamp event.timestamp Se analiza del campo timestamp.
tran_dst_ip target.nat_ip Valor del campo tran_dst_ip.
tran_dst_port target.nat_port Valor del campo tran_dst_port.
tran_src_ip principal.nat_ip Valor del campo tran_src_ip.
tran_src_port principal.nat_port Valor del campo tran_src_port.
url target.url Valor del campo url.
used_quota security_result.detection_fields.used_quota Valor del campo used_quota.
user_agent network.http.user_agent, network.http.parsed_user_agent Valor del campo user_agent. También se genera la versión analizada.
user_gp extensions.auth.type Si user_gp es vpn, establece extensions.auth.type en VPN.
user_name principal.user.userid, principal.user.email_addresses Valor del campo user_name. Si contiene @, también se agrega a email_addresses.
web_policy_id security_result.detection_fields.web_policy_id Valor del campo web_policy_id.
N/A event.idm.read_only_udm.metadata.event_timestamp Se copió desde event.timestamp.
N/A event.idm.read_only_udm.metadata.log_type El esquema de transferencia de Chronicle especifica el tipo de registro como SOPHOS_FIREWALL.
N/A event.idm.read_only_udm.metadata.vendor_name Valor constante SOPHOS.
N/A event.idm.read_only_udm.metadata.product_name Valor constante SOPHOS Firewall.
N/A event.idm.read_only_udm.network.application_protocol Se establece en DHCP si el campo ipaddress está presente. De lo contrario, se deriva del campo protocol.
N/A event.idm.read_only_udm.metadata.event_type Se determina mediante una lógica basada en la presencia de otros campos (p.ej., NETWORK_HTTP, NETWORK_CONNECTION, NETWORK_DHCP, STATUS_UPDATE y GENERIC_EVENT).
N/A event.idm.read_only_udm.security_result.action Se derivan de los campos status o log_subtype.

Cambios

2024-08-26

Mejora:

  • Se analizaron los registros de zona horaria=WAT.

2023-11-20

Mejora:

  • Se asignó packets_sent a network.sent_packets.
  • Se asignó packets_received a network.received_packets.
  • Se asignó src_trans_ip a principal.nat_ip.
  • Se asignó src_trans_port a principal.nat_port.
  • Se asignó dst_trans_ip a target.nat_ip.
  • Se asignó dst_trans_port a target.nat_port.
  • Se asignó bytes_sent a network.sent_bytes.
  • Se asignó bytes_received a network.received_bytes.
  • Se asignó duration a network.session_duration.
  • Se asignó referer a network.http.referer_url.
  • Se asignó ipaddress a principal.ip y network.dhcp.ciaddr.
  • Se asignó client_physical_address a network.dhcp.chaddr.
  • Se asignó client_host_name a network.dhcp.client_hostname.
  • Se asignó reason a security_result.summary.
  • Se asignó http_status a network.http.response_code.
  • Se asignó app_name a principal.application.
  • Se asignaron out_display_interface, web_policy_id, http_category, http_category_type, exceptions, con_id, used_quota, src_zone_type, src_zone, dst_zone_type, dst_zone, app_risk, app_category, nat_rule_name, gw_id_request, gw_name_request, app_filter_policy_id, app_technology, in_interface, out_interface, con_event, srczonetype, dstzonetype, connevent, connid, hb_health, category_type, activityname a security_result.detection_fields.

2023-11-10

Mejora:

  • Se asignó fw_rule_type a security_result.rule_type.
  • Se asignó severity a security_result.severity.
  • Se asignó device_serial_id a principal.asset.asset_id.
  • Se asignaron log_type, log_component, log_subtype, log_version, nat_rule_id, ether_type, hb_status, app_resolved_by, app_is_cloud, qualifier, log_occurrence, in_display_interface a security_result.detection_fields.

2023-04-03

Mejora:

  • Se modificó la asignación de device_name de principal.hostname a intermediary.hostname.
  • Se modificó la asignación de device_id de principal.asset.asset_id a intermediary.asset.asset_id.
  • Se modificó la asignación de metadata.vendor_name de SOPHOS Ltd. a SOPHOS.
  • Se asignó sent_pkts a network.sent_packets.
  • Se asignó recv_pkts a network.received_packets.
  • Se asignó tran_src_ip a principal.nat_ip.
  • Se asignó tran_src_port a principal.nat_port.
  • Se asignó tran_dst_ip a target.nat_ip.
  • Se asignó tran_dst_port a target.nat_port.

2022-12-01

Mejora:

  • Se analizaron los registros de zona horaria=IST.
  • Se asignó application_category, application_risk and application_technology a security_result.detection_fields.
  • Se asignó fw_rule_name a security_result.rule_name.
  • Se asignó fw_rule_section a security_result.rule_set.

18-8-2022

Mejora:

  • Se analizaron los registros de zona horaria=CEST.
  • Porcentaje reducido de eventos genéricos
  • Se asignó user_name a event.idm.read_only_udm.principal.user.userid
  • Se asignó device_id a event.idm.read_only_udm.principal.asset.asset_id

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