收集 Omnissa Workspace ONE UEM(以前称为 VMware Workspace ONE)日志
本文档介绍了如何使用 Bindplane 将 Omnissa Workspace ONE UEM(以前称为 VMware Workspace ONE)日志注入 Google Security Operations。
Omnissa Workspace ONE UEM 是一个统一的端点管理平台,组织可以使用该平台来管理和保护移动设备、桌面设备、加固型设备和 IoT 端点上的设备、应用和数据。解析器会对来自 Workspace ONE UEM 的 Syslog 消息进行标准化处理,提取设备合规性事件、应用管理操作、注册状态更改和控制台管理活动等字段,并将这些字段映射到 Unified Data Model (UDM)。
准备工作
确保您满足以下前提条件: * Google SecOps 实例 * Windows Server 2016 或更高版本,或具有 systemd 的 Linux 主机 * Bindplane 代理与 Omnissa Workspace ONE UEM 控制台之间的网络连接 * 如果在代理后运行,请确保防火墙端口根据 Bindplane 代理要求处于打开状态 * 对 Omnissa Workspace ONE UEM 控制台的管理员访问权限
获取 Bindplane 代理的 Google SecOps 凭据
如需向 Google SecOps 验证 Bindplane 代理的身份,请选择以下方法之一:
- 新部署:使用 Chronicle API(方法 1)。
- 旧版部署:继续使用注入身份验证文件(方法 2),直到注入 API 于 2027 年 7 月 20 日停用为止。
方法 1:为 Chronicle API 创建服务帐号(推荐)
- 登录 Google Cloud 控制台,然后选择与您的 Google SecOps 实例关联的 Google Cloud 项目。
- 依次前往 IAM 和管理 > 服务账号。
- 点击创建服务账号 。
- 提供以下配置详细信息:
- 服务账号名称:输入账号的名称(例如
bindplane-ingest)。 - 服务账号说明:输入说明(例如
Bindplane agent log ingestion)。
- 服务账号名称:输入账号的名称(例如
- 点击创建并继续 。
- 在向此服务帐号授予对项目的访问权限 部分,点击选择角色 ,然后选择 Chronicle Editor 。
- 点击继续 ,然后点击完成 。
- 点击您创建的服务帐号,然后前往密钥 标签页。
- 依次点击添加密钥 > 创建新密钥。
- 选择 JSON ,然后点击创建 。密钥文件会下载到您的计算机上。
- 将密钥文件另存为 Bindplane 收集器目录中的
ingestion-auth.json(在 Linux 上为/opt/observiq-otel-collector/ingestion-auth.json,在 Windows 上为C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json),或者更新creds_file_path在config.yaml中以与您保存该文件的路径匹配。 - 依次前往 IAM 和管理 > 设置 ,然后复制项目编号 。您需要此编号进行导出器配置。
方法 2:下载注入身份验证文件(旧版)
- 登录 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](https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi)" /quiet等待安装完成。
运行以下命令,验证安装是否成功:
sc query observiq-otel-collector
该服务应显示为 RUNNING 。
Linux 安装
- 使用 root 或 sudo 权限打开终端。
运行以下命令:
sudo sh -c "$(curl -fsSlL [https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh](https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh))" install_unix.sh等待安装完成。
运行以下命令,验证安装是否成功:
sudo systemctl status observiq-otel-collector
该服务应显示为 active (running) 。
其他安装资源
如需了解其他安装选项和问题排查信息,请参阅 Bindplane 代理安装指南。
配置 Bindplane 代理以注入 Syslog 并发送到 Google SecOps
找到配置文件
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
修改配置文件
将
config.yaml的全部内容替换为以下配置:receivers: tcplog: listen_address: "0.0.0.0:514" exporters: chronicle/workspace_one: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: '<customer_id>' endpoint: chronicle.googleapis.com log_type: VMWARE_WORKSPACE_ONE raw_log_field: body service: pipelines: logs/workspace_one_to_chronicle: receivers: - tcplog exporters: - chronicle/workspace_one
配置参数
替换以下占位符:
接收器配置:
listen_address:要监听的 IP 地址和端口:0.0.0.0以监听所有接口(推荐)- 端口
514是标准 Syslog 端口(在 Linux 上需要 root;对于非 root 用户,请使用1514)
导出器配置:
creds_file_path:服务帐号 JSON 密钥文件的完整路径(方法 1):- Linux:
/opt/observiq-otel-collector/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id:从 Google SecOps 控制台复制的客户 IDlocation:将<LOCATION>替换为 Google SecOps 实例的区域(例如us、europe或asia-southeast1)。导出器会使用此值为chronicle.googleapis.com添加前缀。如需查看完整列表,请参阅区域级端点。project:将<PROJECT_NUMBER>替换为 IAM 和管理 > 设置 中的项目编号。endpoint:保持设置为chronicle.googleapis.com。
旧版注入 API 导出器
如果您使用方法 2 中的注入身份验证文件,请将
exporters块替换为以下内容。将creds_file_path设置为注入身份验证文件的路径,如果您的实例位于美国境外,请将malachiteingestion-pa.googleapis.com替换为您的 区域级端点(例如europe-malachiteingestion-pa.googleapis.com)。exporters: chronicle/workspace_one: compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: VMWARE_WORKSPACE_ONE raw_log_field: body
保存配置文件
- 修改后,保存文件:
- Linux:按
Ctrl+O,然后按Enter,再按Ctrl+X - Windows:依次点击文件 > 保存
- Linux:按
重启 Bindplane 代理以应用更改
如需在 Linux 中重启 Bindplane 代理,请执行以下操作:
运行以下命令:
sudo systemctl restart observiq-otel-collector验证服务是否正在运行:
sudo systemctl status observiq-otel-collector检查日志中的错误:
sudo journalctl -u observiq-otel-collector -f
如需在 Windows 中重启 Bindplane 代理,请选择以下选项之一:
以管理员身份运行命令提示符或 PowerShell:
net stop observiq-otel-collector && net start observiq-otel-collector“服务”控制台:
- 按
Win+R,输入services.msc,然后按 Enter 键。 - 找到 observIQ OpenTelemetry Collector 。
右键点击并选择重启 。
验证服务是否正在运行:
sc query observiq-otel-collector检查日志中的错误:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- 按
在 Omnissa Workspace ONE UEM 中配置 Syslog 转发
- 登录 Omnissa Workspace ONE UEM 控制台。
- 依次前往设置 > 系统 > 企业集成 > Syslog。
- 选择已启用 以开启 Syslog 集成。
提供以下配置详细信息:
- 主机名:输入 Bindplane 代理主机(例如
192.168.1.100)的 IP 地址或主机名。 - 端口:输入
514。 - 协议:选择 TCP。
- Syslog Facility:选择 Local0 或适合您环境的其他 Facility。
- 消息标记:输入描述性标记(例如
WorkspaceONE)。
- 主机名:输入 Bindplane 代理主机(例如
在事件类别 部分,选择要转发的事件类型:
- 设备事件 - 注册、合规性和设备状态更改
- 控制台事件 - 管理员操作和配置更改
- 应用事件 - 应用安装、移除和管理操作
- 合规性事件 - 违反合规性政策和补救措施
点击保存 以应用 Syslog 配置。
通过检查 Bindplane 代理日志,验证日志是否正在发送。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
AdminAccount |
principal.user.userid |
原始日志中的 AdminAccount 会映射到 principal.user.userid 字段。 |
Application |
target.application |
原始日志中的 Application 字段会映射到 target.application 字段。 |
ApplicationUUID |
additional.fields |
原始日志中的 ApplicationUUID 字段会作为键值对添加到 UDM 中的 additional.fields 数组。键为“ApplicationUUID”。 |
BytesReceived |
network.received_bytes |
原始日志中的 BytesReceived 字段会映射到 network.received_bytes 字段。 |
Device |
target.hostname |
原始日志中的 Device 字段会映射到 target.hostname 字段。 |
FriendlyName |
target.hostname |
当 Device 不可用时,原始日志中的 FriendlyName 字段会映射到 target.hostname 字段。 |
GroupManagementData |
security_result.description |
原始日志中的 GroupManagementData 字段会映射到 security_result.description 字段。 |
Hmac |
additional.fields |
原始日志中的 Hmac 字段会作为键值对添加到 UDM 中的 additional.fields 数组。键为“Hmac”。 |
LoginSessionID |
network.session_id |
原始日志中的 LoginSessionID 字段会映射到 network.session_id 字段。 |
LogDescription |
metadata.description |
原始日志中的 LogDescription 字段会映射到 metadata.description 字段。 |
MessageText |
metadata.description |
原始日志中的 MessageText 字段会映射到 metadata.description 字段。 |
OriginatingOrganizationGroup |
principal.user.group_identifiers |
原始日志中的 OriginatingOrganizationGroup 字段会映射到 principal.user.group_identifiers 字段。 |
OwnershipType |
additional.fields |
原始日志中的 OwnershipType 字段会作为键值对添加到 UDM 中的 additional.fields 数组。键为“OwnershipType”。 |
Profile |
target.resource.name |
当 ProfileName 不可用时,原始日志中的 Profile 字段会映射到 target.resource.name 字段。 |
ProfileName |
target.resource.name |
原始日志中的 ProfileName 字段会映射到 target.resource.name 字段。 |
Request Url |
target.url |
原始日志中的 Request Url 字段会映射到 target.url 字段。 |
SmartGroupName |
target.group.group_display_name |
原始日志中的 SmartGroupName 字段会映射到 target.group.group_display_name 字段。 |
Tags |
additional.fields |
原始日志中的 Tags 字段会作为键值对添加到 UDM 中的 additional.fields 数组。键为“Tags”。 |
User |
target.user.userid |
原始日志中的 User 字段会映射到 target.user.userid 字段。原始日志中的 Event Category 会作为键值对添加到 UDM 中的 additional.fields 数组。键为“Event Category”。原始日志中的 Event Module 会作为键值对添加到 UDM 中的 additional.fields 数组。键为“Event Module”。原始日志中的 Event Source 会作为键值对添加到 UDM 中的 additional.fields 数组。键为“Event Source”。由解析器针对特定事件设置为“SSO”。派生自原始日志的时间戳。 解析器会从原始日志中提取日期和时间,并将其转换为 UDM 时间戳。由解析器根据 event_name 和其他字段确定。 如需了解映射逻辑,请参阅解析器代码。由解析器设置为“AIRWATCH”。原始日志中的 event_name 会映射到 metadata.product_event_type 字段。由解析器设置为“AirWatch”。由解析器设置为“VMWare”。原始日志中的 domain 会映射到 principal.administrative_domain 字段。hostname 从原始日志中的 device_name 字段提取,或从 Device 或 FriendlyName 字段映射。原始日志中的 sys_ip 会映射到 principal.ip 字段。针对某些事件类型从原始日志中提取。针对某些事件类型从原始日志中提取。原始日志中的 user_name 会映射到 principal.user.userid 字段。针对某些事件类型从原始日志中提取。由解析器针对特定事件设置。由解析器针对特定事件设置。原始日志中的 event_category 会映射到 security_result.category_details 字段。针对某些事件类型从原始日志中提取。针对某些事件类型从原始日志中提取。原始日志中的 domain 会映射到 target.administrative_domain 字段。通过组合原始日志中的 DeviceSerialNumber 和 DeviceUdid 为“DeleteDeviceRequested”事件构建。针对某些事件类型从原始日志中提取。针对某些事件类型从原始日志中提取。原始日志中的 sys_ip 或其他 IP 地址会映射到 target.ip 字段。针对某些事件类型从原始日志中提取。针对某些事件类型从原始日志中提取。由解析器针对特定事件设置。针对某些事件类型从原始日志中提取。针对某些事件类型从原始日志中提取。针对某些事件类型从原始日志中提取。 |
更新日志
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。