收集 Sophos XG Firewall 日志

支持的平台:

本文档介绍了如何使用 Bindplane 收集 Sophos Next Gen (XG) 防火墙日志。解析器会提取日志、对键值对进行标准化,并将其映射到 UDM。它可处理各种日志格式、转换时间戳、丰富网络数据,以及根据日志 ID 和网络活动对事件进行分类。

准备工作

  • 确保您有一个 Google Security Operations 实例。
  • 确保您使用的是 Windows 2016 或更高版本,或者使用了 systemd 的 Linux 主机。
  • 如果在代理后面运行,请确保防火墙端口处于打开状态。
  • 确保您拥有对 Sophos XG Firewall 的超级用户访问权限。

获取 Google SecOps 提取身份验证文件

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 收集代理
  3. 下载提取身份验证文件。将该文件安全地保存在将安装 BindPlane 的系统上。

获取 Google SecOps 客户 ID

  1. 登录 Google SecOps 控制台。
  2. 依次选择 SIEM 设置 > 配置文件
  3. 复制并保存组织详细信息部分中的客户 ID

安装 Bindplane 代理

Windows 安装

  1. 以管理员身份打开命令提示符PowerShell
  2. 运行以下命令:

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

Linux 安装

  1. 打开具有 root 或 sudo 权限的终端。
  2. 运行以下命令:

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

其他安装资源

  • 如需了解其他安装选项,请参阅此安装指南

配置 Bindplane 代理以提取 Syslog 并将其发送到 Google SecOps

  1. 访问配置文件:

    1. 找到 config.yaml 文件。通常,在 Linux 上,该目录位于 /etc/bindplane-agent/ 目录中;在 Windows 上,该目录位于安装目录中。
    2. 使用文本编辑器(例如 nanovi 或记事本)打开该文件。
  2. 按如下方式修改 config.yaml 文件:

    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. 根据基础架构中的需要替换端口和 IP 地址。

  4. <customer_id> 替换为实际的客户 ID。

  5. 获取 Google SecOps 提取身份验证文件部分,将 /path/to/ingestion-authentication-file.json 更新为身份验证文件的保存路径。

重启 Bindplane 代理以应用更改

  • 如需在 Linux 中重启 Bindplane 代理,请运行以下命令:

    sudo systemctl restart bindplane-agent
    
  • 如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

配置 Sophos Firewall syslog 服务器

  1. 登录 Sophos XG Firewall。
  2. 依次前往配置 > 系统服务 > 日志设置
  3. Syslog 服务器部分,点击添加
  4. 提供以下配置详细信息:
    • 名称:为 Google SecOps 收集器输入一个唯一名称。
    • IP 地址/网域:输入 Bindplane IP 地址。
    • 端口:输入 Bindplane 端口号。
    • 设施:选择 DAEMON
    • 严重级别:选择信息
    • 格式:选择设备标准格式
  5. 点击保存
  6. 返回日志设置页面,然后选择要转发到 syslog 服务器的具体日志类型。

配置 Sophos XG 防火墙日志设置

  1. 选择以下基本防火墙(安全政策日志)日志:
    • 政策规则
    • 无效流量
    • 本地 ACL
    • DoS 攻击
    • 丢弃了 ICMP 重定向数据包
    • 丢弃了源路由数据包
    • 丢弃了碎片化流量
    • MAC 过滤
    • IP-MAC 对过滤
    • 防范 IP 欺骗
    • SSL VPN 隧道
    • 受保护的应用服务器
    • Heartbeat
  2. 选择以下网络保护(网站过滤日志和应用过滤日志)日志:
    • 网络过滤器
    • 应用过滤条件
  3. 选择以下网络保护 (IPS 日志) 日志:
    • 异常
    • 签名
  4. 选择以下系统日志
    • 系统事件

UDM 映射表

日志字段 UDM 映射 逻辑
activityname security_result.detection_fields.activityname activityname 字段中的值。
app_category security_result.detection_fields.Application Categoryapplication_category app_category 字段中的值。
app_filter_policy_id security_result.detection_fields.app_filter_policy_id app_filter_policy_id 字段中的值。
app_is_cloud security_result.detection_fields.app_is_cloud app_is_cloud 字段中的值。
app_name principal.application app_name 字段中的值。
app_resolved_by security_result.detection_fields.app_resolved_by app_resolved_by 字段中的值。
app_risk security_result.detection_fields.Application Riskapplication_risk app_risk 字段中的值。
app_technology application_technology app_technology 字段中的值。
application principal.application application 字段中的值。
application_category security_result.detection_fields.Application Category application_category 字段中的值。
application_risk security_result.detection_fields.Application Risk application_risk 字段中的值。
application_technology security_result.detection_fields.Application Technology application_technology 字段中的值。
bytes_received network.received_bytes bytes_received 字段中的值。
bytes_sent network.sent_bytes bytes_sent 字段中的值。
category application_category category 字段中的值。
category_type security_result.detection_fields.category_type category_type 字段中的值。
client_host_name network.dhcp.client_hostname client_host_name 字段中的值。
client_physical_address network.dhcp.chaddr client_physical_address 字段中的值。
con_event security_result.detection_fields.con_event con_event 字段中的值。
con_id security_result.detection_fields.con_id con_id 字段中的值。
connevent security_result.detection_fields.connevent connevent 字段中的值。
connid security_result.detection_fields.connid connid 字段中的值。
date event.timestamp datetime 字段解析,并根据时区进行调整。
device_id intermediary.asset.asset_id device_id 字段中的值,前缀为 ID:
device_model intermediary.hostname device_model 字段中的值。
device_name intermediary.hostname device_name 字段中的值。
device_serial_id intermediary.asset.asset_id device_serial_id 字段中的值,前缀为 ID:
domain principal.administrative_domaintarget.hostname domain 字段中的值。
dst_country target.location.country_or_region dst_country 字段中的值。
dst_country_code target.location.country_or_region dst_country_code 字段中的值。
dst_ip target.ip dst_ip 字段中的值。
dst_mac target.mac dst_mac 字段中的值。
dst_port target.port dst_port 字段中的值。
dst_trans_ip target.nat_ip dst_trans_ip 字段中的值。
dst_trans_port target.nat_port dst_trans_port 字段中的值。
dst_zone security_result.detection_fields.dst_zone dst_zone 字段中的值。
dstzone security_result.detection_fields.dstzone dstzone 字段中的值。
dstzonetype security_result.detection_fields.dstzonetype dstzonetype 字段中的值。
duration network.session_duration.seconds duration 字段中的值。
ether_type security_result.detection_fields.ether_type ether_type 字段中的值。
exceptions security_result.detection_fields.exceptions exceptions 字段中的值。
fw_rule_id security_result.rule_id fw_rule_id 字段中的值。
fw_rule_name security_result.rule_name fw_rule_name 字段中的值。
fw_rule_section security_result.rule_set fw_rule_section 字段中的值。
fw_rule_type security_result.rule_type fw_rule_type 字段中的值。
gw_id_request security_result.detection_fields.gw_id_request gw_id_request 字段中的值。
gw_name_request security_result.detection_fields.gw_name_request gw_name_request 字段中的值。
hb_health security_result.detection_fields.hb_health hb_health 字段中的值。
hb_status security_result.detection_fields.hb_status hb_status 字段中的值。
http_category security_result.detection_fields.http_category http_category 字段中的值。
http_category_type security_result.detection_fields.http_category_type http_category_type 字段中的值。
http_status network.http.response_code http_status 字段中的值。
in_display_interface security_result.detection_fields.in_display_interface in_display_interface 字段中的值。
in_interface security_result.detection_fields.in_interface in_interface 字段中的值。
ipaddress principal.ipnetwork.dhcp.ciaddr ipaddress 字段中的值。
log_component metadata.product_event_typesecurity_result.detection_fields.log_component log_component 字段中的值。
log_id metadata.product_log_id log_id 字段中的值。
log_msg metadata.description 移除 message=message 字段中的值。
log_occurrence security_result.detection_fields.log_occurrence log_occurrence 字段中的值。
log_subtype security_result.detection_fields.log_subtypesecurity_result.action log_subtype 字段中的值。
log_type security_result.detection_fields.log_type log_type 字段中的值。
log_version security_result.detection_fields.log_version log_version 字段中的值。
message metadata.description message 字段中的值。
nat_rule_id security_result.detection_fields.nat_rule_id nat_rule_id 字段中的值。
nat_rule_name security_result.detection_fields.nat_rule_name nat_rule_name 字段中的值。
out_display_interface security_result.detection_fields.out_display_interface out_display_interface 字段中的值。
out_interface security_result.detection_fields.out_interface out_interface 字段中的值。
packets_received network.received_packets packets_received 字段中的值。
packets_sent network.sent_packets packets_sent 字段中的值。
priority security_result.severity 根据对照表从 priorityseverity 字段映射而来。
protocol network.ip_protocol 使用查找表从 protocol 字段解析。
reason security_result.detection_fields.reasonsecurity_result.summary reason 字段中的值。
recv_bytes network.received_bytes recv_bytes 字段中的值。
recv_pkts network.received_packets recv_pkts 字段中的值。
referer network.http.referral_url referer 字段中的值。
rule_id security_result.rule_id rule_id 字段中的值。
rule_name security_result.rule_name rule_name 字段中的值。
sent_bytes network.sent_bytes sent_bytes 字段中的值。
sent_pkts network.sent_packets sent_pkts 字段中的值。
severity priority severity 字段中的值。
src_country principal.location.country_or_region src_country 字段中的值。
src_country_code principal.location.country_or_region src_country_code 字段中的值。
src_ip principal.ip src_ip 字段中的值。
src_mac principal.mac src_mac 字段中的值。
src_port principal.port src_port 字段中的值。
src_trans_ip principal.nat_ip src_trans_ip 字段中的值。
src_trans_port principal.nat_port src_trans_port 字段中的值。
src_zone security_result.detection_fields.src_zone src_zone 字段中的值。
srczone security_result.detection_fields.srczone srczone 字段中的值。
srczonetype security_result.detection_fields.srczonetype srczonetype 字段中的值。
status security_result.action_detailssecurity_result.action status 字段中的值。
status_code network.http.response_code status_code 字段中的值。
target.url target.url url 字段中的值。
time event.timestamp datetime 字段解析,并根据时区进行调整。
timestamp event.timestamp timestamp 字段解析。
tran_dst_ip target.nat_ip tran_dst_ip 字段中的值。
tran_dst_port target.nat_port tran_dst_port 字段中的值。
tran_src_ip principal.nat_ip tran_src_ip 字段中的值。
tran_src_port principal.nat_port tran_src_port 字段中的值。
url target.url url 字段中的值。
used_quota security_result.detection_fields.used_quota used_quota 字段中的值。
user_agent network.http.user_agentnetwork.http.parsed_user_agent user_agent 字段中的值。还会生成解析后的版本。
user_gp extensions.auth.type 如果 user_gpvpn,则将 extensions.auth.type 设置为 VPN
user_name principal.user.useridprincipal.user.email_addresses user_name 字段中的值。如果它包含 @,还会添加到 email_addresses
web_policy_id security_result.detection_fields.web_policy_id web_policy_id 字段中的值。
不适用 event.idm.read_only_udm.metadata.event_timestamp event.timestamp 复制。
不适用 event.idm.read_only_udm.metadata.log_type Chronicle 提取架构将日志类型指定为 SOPHOS_FIREWALL
不适用 event.idm.read_only_udm.metadata.vendor_name 常量值 SOPHOS
不适用 event.idm.read_only_udm.metadata.product_name 常量值 SOPHOS Firewall
不适用 event.idm.read_only_udm.network.application_protocol 如果存在 ipaddress 字段,则设置为 DHCP。否则,从 protocol 字段派生。
不适用 event.idm.read_only_udm.metadata.event_type 由逻辑确定,基于其他字段(例如NETWORK_HTTPNETWORK_CONNECTIONNETWORK_DHCPSTATUS_UPDATEGENERIC_EVENT)。
不适用 event.idm.read_only_udm.security_result.action 派生自 statuslog_subtype 字段。

变化

2024-08-26

增强功能

  • 解析了时区为 WAT 的日志。

2023-11-20

增强功能

  • packets_sent 映射到 network.sent_packets
  • packets_received 映射到 network.received_packets
  • src_trans_ip 映射到 principal.nat_ip
  • src_trans_port 映射到 principal.nat_port
  • dst_trans_ip 映射到 target.nat_ip
  • dst_trans_port 映射到 target.nat_port
  • bytes_sent 映射到 network.sent_bytes
  • bytes_received 映射到 network.received_bytes
  • duration 映射到 network.session_duration
  • referer 映射到 network.http.referer_url
  • ipaddress 映射到 principal.ipnetwork.dhcp.ciaddr
  • client_physical_address 映射到 network.dhcp.chaddr
  • client_host_name 映射到 network.dhcp.client_hostname
  • reason 映射到 security_result.summary
  • http_status 映射到 network.http.response_code
  • app_name 映射到 principal.application
  • out_display_interfaceweb_policy_idhttp_categoryhttp_category_typeexceptionscon_idused_quotasrc_zone_typesrc_zonedst_zone_typedst_zoneapp_riskapp_categorynat_rule_namegw_id_requestgw_name_requestapp_filter_policy_idapp_technologyin_interfaceout_interfacecon_eventsrczonetypedstzonetypeconneventconnidhb_healthcategory_typeactivityname 映射到 security_result.detection_fields

2023-11-10

增强功能

  • fw_rule_type 映射到 security_result.rule_type
  • severity 映射到 security_result.severity
  • device_serial_id 映射到 principal.asset.asset_id
  • log_typelog_componentlog_subtypelog_versionnat_rule_idether_typehb_statusapp_resolved_byapp_is_cloudqualifierlog_occurrencein_display_interface 映射到 security_result.detection_fields

2023-04-03

增强功能

  • device_name 的映射从 principal.hostname 更改为了 intermediary.hostname
  • device_id 的映射从 principal.asset.asset_id 更改为了 intermediary.asset.asset_id
  • metadata.vendor_name 的映射从 SOPHOS Ltd. 更改为了 SOPHOS
  • sent_pkts 映射到 network.sent_packets
  • recv_pkts 映射到 network.received_packets
  • tran_src_ip 映射到 principal.nat_ip
  • tran_src_port 映射到 principal.nat_port
  • tran_dst_ip 映射到 target.nat_ip
  • tran_dst_port 映射到 target.nat_port

2022-12-01

增强功能

  • 解析了时区为 IST 的日志。
  • application_category, application_risk and application_technology 映射到 security_result.detection_fields
  • fw_rule_name 映射到 security_result.rule_name
  • fw_rule_section 映射到 security_result.rule_set

2022-08-18

增强功能

  • 解析了时区为 CEST 的日志。
  • 降低了通用事件百分比
  • user_name 映射到 event.idm.read_only_udm.principal.user.userid
  • device_id 映射到 event.idm.read_only_udm.principal.asset.asset_id

需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。