收集 Sophos XG Firewall 日志
支持的平台:
Google SecOps
SIEM
本文档介绍了如何使用 Bindplane 收集 Sophos Next Gen (XG) 防火墙日志。解析器会提取日志、对键值对进行标准化,并将其映射到 UDM。它可处理各种日志格式、转换时间戳、丰富网络数据,以及根据日志 ID 和网络活动对事件进行分类。
准备工作
- 确保您有一个 Google Security Operations 实例。
- 确保您使用的是 Windows 2016 或更高版本,或者使用了
systemd
的 Linux 主机。 - 如果在代理后面运行,请确保防火墙端口处于打开状态。
- 确保您拥有对 Sophos XG Firewall 的超级用户访问权限。
获取 Google SecOps 提取身份验证文件
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 收集代理。
- 下载提取身份验证文件。将该文件安全地保存在将安装 BindPlane 的系统上。
获取 Google SecOps 客户 ID
- 登录 Google SecOps 控制台。
- 依次选择 SIEM 设置 > 配置文件。
- 复制并保存组织详细信息部分中的客户 ID。
安装 Bindplane 代理
Windows 安装
- 以管理员身份打开命令提示符或 PowerShell。
运行以下命令:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux 安装
- 打开具有 root 或 sudo 权限的终端。
运行以下命令:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
其他安装资源
- 如需了解其他安装选项,请参阅此安装指南。
配置 Bindplane 代理以提取 Syslog 并将其发送到 Google SecOps
访问配置文件:
- 找到
config.yaml
文件。通常,在 Linux 上,该目录位于/etc/bindplane-agent/
目录中;在 Windows 上,该目录位于安装目录中。 - 使用文本编辑器(例如
nano
、vi
或记事本)打开该文件。
- 找到
按如下方式修改
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
根据基础架构中的需要替换端口和 IP 地址。
将
<customer_id>
替换为实际的客户 ID。在获取 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 服务器
- 登录 Sophos XG Firewall。
- 依次前往配置 > 系统服务 > 日志设置。
- 在 Syslog 服务器部分,点击添加。
- 提供以下配置详细信息:
- 名称:为 Google SecOps 收集器输入一个唯一名称。
- IP 地址/网域:输入 Bindplane IP 地址。
- 端口:输入 Bindplane 端口号。
- 设施:选择 DAEMON。
- 严重级别:选择信息。
- 格式:选择设备标准格式。
- 点击保存。
- 返回日志设置页面,然后选择要转发到 syslog 服务器的具体日志类型。
配置 Sophos XG 防火墙日志设置
- 选择以下基本防火墙(安全政策日志)日志:
- 政策规则
- 无效流量
- 本地 ACL
- DoS 攻击
- 丢弃了 ICMP 重定向数据包
- 丢弃了源路由数据包
- 丢弃了碎片化流量
- MAC 过滤
- IP-MAC 对过滤
- 防范 IP 欺骗
- SSL VPN 隧道
- 受保护的应用服务器
- Heartbeat
- 选择以下网络保护(网站过滤日志和应用过滤日志)日志:
- 网络过滤器
- 应用过滤条件
- 选择以下网络保护 (IPS 日志) 日志:
- 异常
- 签名
- 选择以下系统日志:
- 系统事件
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
activityname |
security_result.detection_fields.activityname |
activityname 字段中的值。 |
app_category |
security_result.detection_fields.Application Category ,application_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 Risk ,application_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 |
从 date 和 time 字段解析,并根据时区进行调整。 |
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_domain ,target.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.ip ,network.dhcp.ciaddr |
ipaddress 字段中的值。 |
log_component |
metadata.product_event_type ,security_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_subtype ,security_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 |
根据对照表从 priority 或 severity 字段映射而来。 |
protocol |
network.ip_protocol |
使用查找表从 protocol 字段解析。 |
reason |
security_result.detection_fields.reason ,security_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_details ,security_result.action |
status 字段中的值。 |
status_code |
network.http.response_code |
status_code 字段中的值。 |
target.url |
target.url |
url 字段中的值。 |
time |
event.timestamp |
从 date 和 time 字段解析,并根据时区进行调整。 |
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_agent ,network.http.parsed_user_agent |
user_agent 字段中的值。还会生成解析后的版本。 |
user_gp |
extensions.auth.type |
如果 user_gp 为 vpn ,则将 extensions.auth.type 设置为 VPN 。 |
user_name |
principal.user.userid ,principal.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_HTTP 、NETWORK_CONNECTION 、NETWORK_DHCP 、STATUS_UPDATE 、GENERIC_EVENT )。 |
不适用 | event.idm.read_only_udm.security_result.action |
派生自 status 或 log_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.ip
和network.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_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
映射到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_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
映射到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 专业人士寻求解答。