收集 Sophos DHCP 日志
支持的平台:
Google SecOps
SIEM
本文档介绍了如何使用 Bindplane 将 Sophos 动态主机配置协议 (DHCP) 日志注入到 Google Security Operations。解析器首先将 Sophos DHCP syslog 消息标准化为键值结构,然后将提取的字段映射到统一数据模型 (UDM) 架构。它可处理不同的 DHCP 消息类型(DHCPREQUEST、DHCPACK、DHCPOFFER、DHCPNAK),并提取相关信息,例如 IP 地址、MAC 地址和 DHCP 选项。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例。
- 搭载
systemd
的 Windows 2016 或更高版本或 Linux 主机。 - 如果通过代理运行,请确保防火墙端口已根据 Bindplane 代理要求打开。
- 对 Sophos UTM 管理控制台或 Sophos Firewall (SFOS) Web 管理控制台的特权访问权限。
获取 Google SecOps 注入身份验证文件
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 收集代理。
- 下载注入身份验证文件。
- 将文件安全地保存在将要安装 Bindplane 的系统上。
获取 Google SecOps 客户 ID
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 个人资料。
- 复制并保存组织详细信息部分中的客户 ID。
安装 Bindplane 代理
按照以下说明在 Windows 或 Linux 操作系统上安装 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_file_path: '/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 log_type: 'SOPHOS_DHCP' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
- 根据基础架构的需要替换端口和 IP 地址。
- 将
<CUSTOMER_ID>
替换为实际的客户 ID。 - 将
/path/to/ingestion-authentication-file.json
更新为 获取 Google SecOps 提取身份验证文件部分中保存身份验证文件的路径。
重启 Bindplane 代理以应用更改
如需在 Linux 中重启 BindPlane 代理,请运行以下命令:
sudo systemctl restart observiq-otel-collector
如需在 Windows 中重启 BindPlane 代理,您可以使用服务控制台,也可以输入以下命令:
sc stop observiq-otel-collector && sc start observiq-otel-collector
方法 2:在 Sophos 防火墙上配置 Syslog 转发
- 登录 Sophos 防火墙 Web 管理控制台。
- 依次前往配置 > 系统服务 > 日志设置。
- 点击添加以配置 Syslog 服务器。
- 提供以下配置详细信息:
- 名称:为 Google SecOps 收集器输入一个唯一名称(例如
Google SecOps BindPlane DHCP
)。 - IP 地址/网域:输入 BindPlane IP 地址。
- 端口:输入 BindPlane 端口号(例如
514
)。 - 设备:选择 DAEMON。
- 严重程度:选择信息。
- 格式:选择设备标准格式。
- 名称:为 Google SecOps 收集器输入一个唯一名称(例如
- 点击保存。
- 返回到日志设置页面,然后选择要转发到 syslog 服务器的特定日志类型。
- 选择包含 DHCP 事件的相应日志类别。DHCP 日志由 dhcpd 服务生成,属于网络或系统日志的一部分,在启用相应日志类别后会转发。
- 点击应用以保存配置。
方法 1:在 Sophos UTM 上配置 Syslog 转发
- 登录 Sophos UTM 管理控制台。
- 依次前往日志记录和报告 > 日志设置 > 远程 Syslog 服务器。
- 点击切换按钮以启用远程 syslog。“远程 Syslog 设置”区域变为可修改状态。
- 在 Syslog 服务器字段中,点击 + 添加 Syslog 服务器。
- 在添加 syslog 服务器对话框中,提供以下配置详细信息:
- 名称:输入一个描述性名称(例如
Google SecOps BindPlane DHCP
)。 - 服务器:点击“服务器”字段旁边的 +(加号)图标。从网络定义中创建或选择一个具有 BindPlane 代理 IP 地址的主机,然后点击保存。
- 端口:点击端口字段旁边的 +(加号)图标。创建或选择具有相应协议和端口(例如 UDP/514)的服务定义,然后点击保存。
- 名称:输入一个描述性名称(例如
- 在添加 Syslog 服务器对话框中,点击保存。
- 在远程 Syslog 设置部分中,点击应用。
- 可选:调整远程 Syslog 缓冲区设置(默认值为 1000 行),然后点击应用。
- 在 Remote Syslog Log Selection 部分,选择 DHCP Server 和所需的日志类别。
- 点击应用以保存日志选择设置。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
操作 | event.idm.read_only_udm.security_result.action_details | |
attr_address | event.idm.read_only_udm.target.ip | |
attr_addresses | event.idm.read_only_udm.target.ip | |
call | event.idm.read_only_udm.security_result.summary | |
客户端 | event.idm.read_only_udm.principal.hostname | |
客户端 | event1.idm.read_only_udm.principal.hostname | |
数据 | ||
dstip | event.idm.read_only_udm.target.ip | |
dstmac | event.idm.read_only_udm.target.mac | |
dstport | event.idm.read_only_udm.target.port | |
fwrule | event.idm.read_only_udm.security_result.rule_id | |
id | event.idm.read_only_udm.metadata.product_event_type | 与 ulogd - 串联 |
id | event1.idm.read_only_udm.metadata.product_event_type | 与 ID - 串联 |
信息 | event.idm.read_only_udm.security_result.description | |
initf | event.idm.read_only_udm.security_result.about.labels.value | 密钥硬编码为 In Interface |
msg | event.idm.read_only_udm.metadata.description | 当 process_type 不是 confd 或 ulogd 时 |
name | event.idm.read_only_udm.security_result.description | |
objname | event.idm.read_only_udm.principal.resource.name | |
oldattr_address | event.idm.read_only_udm.principal.ip | |
oldattr_addresses | event.idm.read_only_udm.principal.ip | |
outitf | event.idm.read_only_udm.security_result.about.labels.value | 密钥硬编码为 Out Interface |
pid | event.idm.read_only_udm.principal.process.pid | |
proto | event.idm.read_only_udm.network.ip_protocol | |
和程度上减少 | event.idm.read_only_udm.security_result.severity | 如果严重程度为 info 或 debug ,则 security_result.severity 为 INFORMATIONAL 。如果严重程度为 warn ,则 security_result.severity 为 MEDIUM |
和程度上减少 | event1.idm.read_only_udm.security_result.severity | 如果严重程度为 info 或 debug ,则 security_result.severity 为 INFORMATIONAL 。如果严重程度为 warn ,则 security_result.severity 为 MEDIUM |
sid | event.idm.read_only_udm.security_result.about.labels.value | 密钥硬编码为 sid |
src_host | event.idm.read_only_udm.principal.hostname | 当 process_type 为 dhcpd 且 dhcp_type 为 DHCPREQUEST 或 DHCPACK 或 DHCPOFFER 时 |
src_host | event.idm.read_only_udm.observer.hostname | 当 process_type 为 dhcpd 且 dhcp_type 为 DHCPREQUEST 时 |
src_host | event.idm.read_only_udm.network.dhcp.client_hostname | 当 process_type 为 dhcpd 且 dhcp_type 为 DHCPACK 或 DHCPOFFER 时 |
src_ip | event.idm.read_only_udm.network.dhcp.ciaddr | 当 process_type 为 dhcpd 且 dhcp_type 为 DHCPREQUEST 时 |
src_ip | event.idm.read_only_udm.network.dhcp.yiaddr | 当 process_type 为 dhcpd 且 dhcp_type 为 DHCPACK 或 DHCPOFFER 或 DHCPNAK 时 |
src_ip | event.idm.read_only_udm.principal.ip | 当 process_type 为 dhcpd 且 dhcp_type 为 DHCPREQUEST 或 DHCPACK 或 DHCPOFFER 或 DHCPNAK 时 |
src_ip | event.idm.read_only_udm.observer.ip | 当 process_type 为 dhcpd 且 dhcp_type 为 DHCPREQUEST 或 DHCPACK 或 DHCPOFFER 时 |
src_mac | event.idm.read_only_udm.network.dhcp.chaddr | 当 process_type 为 dhcpd 且 dhcp_type 为 DHCPREQUEST 或 DHCPACK 或 DHCPOFFER 或 DHCPNAK 时 |
src_mac | event.idm.read_only_udm.principal.mac | 当 process_type 为 dhcpd 且 dhcp_type 为 DHCPREQUEST 或 DHCPACK 或 DHCPOFFER 或 DHCPNAK 时 |
srcip | event.idm.read_only_udm.principal.ip | |
srcip | event1.idm.read_only_udm.principal.ip | |
srcmac | event.idm.read_only_udm.principal.mac | |
srcport | event.idm.read_only_udm.principal.port | |
sub | event.idm.read_only_udm.metadata.description | |
sub | event1.idm.read_only_udm.metadata.description | |
tcpflags | event.idm.read_only_udm.security_result.about.labels.value | 密钥硬编码为 TCP Flags |
用户 | event.idm.read_only_udm.principal.user.userid | |
用户 | event1.idm.read_only_udm.principal.user.userid | |
event.idm.read_only_udm.metadata.event_type | 如果未设置其他 event_type,则为 GENERIC_EVENT 。如果 srcip 和 dstip 不为空,则为 NETWORK_CONNECTION 。如果名称为 object changed ,则为 RESOURCE_WRITTEN 。如果 process_type 为 dhcpd ,则为 NETWORK_DHCP |
|
event.idm.read_only_udm.metadata.log_type | 硬编码为 SOPHOS_DHCP |
|
event.idm.read_only_udm.metadata.product_name | 硬编码为 SOPHOS_DHCP |
|
event.idm.read_only_udm.metadata.vendor_name | 硬编码为 SOPHOS |
|
event.idm.read_only_udm.network.application_protocol | 当 process_type 为 dhcpd 时,硬编码为 DHCP |
|
event.idm.read_only_udm.network.dhcp.opcode | 当 process_type 为 dhcpd 且 dhcp_type 为 DHCPREQUEST 时,硬编码为 BOOTREQUEST 。当 process_type 为 dhcpd 且 dhcp_type 为 DHCPACK 或 DHCPOFFER 或 DHCPNAK 时,硬编码为 BOOTREPLY |
|
event.idm.read_only_udm.network.dhcp.type | 当 process_type 为 dhcpd 且 dhcp_type 为 DHCPREQUEST 时,值为 REQUEST 。当 process_type 为 dhcpd 且 dhcp_type 为 DHCPACK 时,值为 ACK 。当 process_type 为 dhcpd 且 dhcp_type 为 DHCPOFFER 时,值为 OFFER 。当 process_type 为 dhcpd 且 dhcp_type 为 DHCPNAK 时,值为 NAK |
|
event1.idm.read_only_udm.metadata.event_type | 硬编码为 GENERIC_EVENT |
|
event1.idm.read_only_udm.metadata.log_type | 硬编码为 SOPHOS_DHCP |
|
event1.idm.read_only_udm.metadata.product_name | 硬编码为 SOPHOS_DHCP |
|
event1.idm.read_only_udm.metadata.vendor_name | 硬编码为 SOPHOS |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。