收集 VMware 网络和安全虚拟化 (NSX) 管理器日志
支持的语言:
Google SecOps
SIEM
本文档介绍了如何收集 VMware 网络和安全虚拟化 (NSX) 管理器日志。解析器会根据消息格式使用各种 grok 模式提取字段。然后,它会执行键值解析、JSON 解析和条件逻辑,将提取的字段映射到 UDM,处理不同的日志格式,并使用其他上下文来丰富数据。
准备工作
- 确保您拥有 Google Security Operations 实例。
- 确保您使用的是 Windows 2016 或更高版本,或者具有
systemd
的 Linux 主机。 - 如果通过代理运行,请确保防火墙端口处于开放状态。
- 确保您拥有对 VMWare NSX 的管理员权限。
获取 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 below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: vmware_nsx raw_log_field: body 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 bindplane-agent
在 Windows 中,如需重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:
net stop BindPlaneAgent && net start BindPlaneAgent
NSX Edge 的 Syslog 配置
- 登录 vSphere Web 客户端。
- 依次前往网络和安全性 > NSX Edge。
- 选择要配置的特定 NSX Edge 实例。
- 前往 Syslog 设置:
- 对于 NSX 6.4.4 及更高版本:
- 依次前往管理 > 设置 > 设备设置。
- 依次点击设置 > 更改 Syslog 配置。
- 对于 NSX 6.4.3 及更低版本:
- 依次前往管理 > 设置 > 配置。
- 在详细信息对话框中,点击更改。
- 对于 NSX 6.4.4 及更高版本:
- 配置 Syslog 服务器详细信息:
- 服务器:输入 Syslog 服务器 (Bindplane) 的 IP 地址或主机名。
- 协议:选择 UDP 或 TCP(取决于您的 Bindplane 配置)。
- 端口:输入端口号(取决于您的 Bindplane 配置)。
- 点击确定以保存设置。
NSX Manager 的 Syslog 配置
- 使用管理员凭据登录 NSX Manager 网页界面,如下所示:
https://<NSX-Manager-IP>
或https://<NSX-Manager-Hostname>
。
- 依次前往管理设备设置 > 常规。
- 点击修改以配置 Syslog 服务器设置。
- 输入 Syslog 服务器详细信息:
- 服务器:输入 Syslog 服务器 (Bindplane) 的 IP 地址或主机名。
- 协议:选择 UDP 或 TCP(取决于您的 Bindplane 配置)。
- 端口:输入端口号(取决于您的 Bindplane 配置)。
- 点击确定以保存设置。
NSX 控制器的 Syslog 配置
- 登录 vSphere Web 客户端。
- 依次前往网络和安全性 > 安装和升级 > 管理 > NSX 控制器节点。
- 选择管理控制器节点的 NSX Manager。
- 点击 Common Controller Attributes Edit。
- 在 Syslog 服务器对话框中,点击添加:
- 输入 Syslog 服务器名称或 IP 地址。
- 选择 UDP 协议(具体取决于您的 Bindplane 配置)。
- 设置日志级别(例如
INFO
)。
- 点击确定以保存设置。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
DST |
event.idm.read_only_udm.target.ip |
目标 IP 地址是从原始日志的 DST 字段中提取的。 |
ID |
event.idm.read_only_udm.metadata.product_log_id |
商品日志 ID 从原始日志的 ID 字段中提取。 |
MAC |
event.idm.read_only_udm.principal.mac |
MAC 地址是从原始日志的 MAC 字段中提取的。 |
ModuleName |
event.idm.read_only_udm.metadata.product_event_type |
商品事件类型是从原始日志的 ModuleName 字段中提取的。 |
Operation |
event.idm.read_only_udm.principal.resource.attribute.labels.value |
该操作从原始日志的 Operation 字段中提取,并添加为键为“Operation”的标签。 |
PROTO |
event.idm.read_only_udm.network.ip_protocol |
IP 协议是从原始日志的 PROTO 字段中提取的。 |
RES |
event.idm.read_only_udm.target.resource.name |
目标资源名称提取自原始日志中的 RES 字段。 |
SRC |
event.idm.read_only_udm.principal.ip |
来源 IP 地址是从原始日志的 SRC 字段中提取的。 |
SPT |
event.idm.read_only_udm.principal.port |
源端口是从原始日志的 SPT 字段中提取的。 |
UserName |
event.idm.read_only_udm.principal.user.userid |
用户 ID 从原始日志的 UserName 字段中提取。 |
app_type |
event.idm.read_only_udm.principal.application |
主要应用是从原始日志的 app_type 字段中提取的。 |
application |
event.idm.read_only_udm.target.application |
目标应用是从原始日志的 application 字段中提取的。 |
audit |
event.idm.read_only_udm.principal.resource.attribute.labels.value |
审核值从原始日志的 audit 字段中提取,并作为标签(键为“audit”)添加。 |
cancelTimeUTC |
event.idm.read_only_udm.principal.resource.attribute.last_update_time |
上次更新时间是从原始日志中的 cancelTimeUTC 字段派生出来的。 |
client |
event.idm.read_only_udm.principal.ip 或 event.idm.read_only_udm.principal.administrative_domain |
如果 client 字段是 IP 地址,则会映射到正文 IP。否则,它会映射到主管理网域。 |
comp |
event.idm.read_only_udm.principal.resource.attribute.labels.value |
组件值从原始日志的 comp 字段中提取,并作为键为“Comp”的标签添加。 |
datetime |
event.idm.read_only_udm.metadata.event_timestamp |
事件时间戳是从原始日志的 datetime 字段中提取的。 |
description |
event.idm.read_only_udm.metadata.description |
说明是从原始日志的 description 字段中提取的。 |
details |
event.idm.read_only_udm.principal.resource.attribute.labels |
详细信息会从原始日志的 details 字段中提取,并添加为标签。 |
direction |
event.idm.read_only_udm.network.direction |
如果 direction 字段为“OUT”,则映射到“OUTBOUND”。 |
dst_ip |
event.idm.read_only_udm.target.ip |
目标 IP 地址是从原始日志的 dst_ip 字段中提取的。 |
DPT |
event.idm.read_only_udm.target.port |
目标端口是从原始日志的 DPT 字段中提取的。 |
errorCode |
event.idm.read_only_udm.security_result.detection_fields |
从原始日志的 errorCode 字段中提取错误代码,并将其添加为检测字段。 |
eventType |
event.idm.read_only_udm.metadata.product_event_type |
商品事件类型是从原始日志的 eventType 字段中提取的。 |
filepath |
event.idm.read_only_udm.principal.process.file.full_path |
文件路径是从原始日志的 filepath 字段中提取的。 |
hostname |
event.idm.read_only_udm.principal.ip |
主机名是从原始日志的 hostname 字段中提取的,如果它是 IP 地址,则会映射到正文 IP。 |
kv_data |
各种 UDM 字段 | kv_data 中的键值对会根据其键映射到各种 UDM 字段。 |
kv_data1 |
各种 UDM 字段 | kv_data1 中的键值对会根据其键映射到各种 UDM 字段。 |
kv_data2 |
各种 UDM 字段 | kv_data2 中的键值对会根据其键映射到各种 UDM 字段。 |
kv_data3 |
各种 UDM 字段 | kv_data3 中的键值对会根据其键映射到各种 UDM 字段。 |
kv_data4 |
各种 UDM 字段 | kv_data4 中的键值对会根据其键映射到各种 UDM 字段。 |
level |
event.idm.read_only_udm.security_result.severity |
如果 level 字段为“INFO”,则映射到“INFORMATIONAL”。如果为“ERROR”,则映射到“ERROR”。 |
managedExternally |
event.idm.read_only_udm.principal.resource.attribute.labels.value |
系统会从原始日志中的 managedExternally 字段提取 managedExternally 值,并将其添加为键为“managedExternally”的标签。 |
message |
各种 UDM 字段 | 系统会解析消息字段以提取各种 UDM 字段。 |
message_data |
event.idm.read_only_udm.principal.resource.attribute.labels.value |
从原始日志的 message_data 字段中提取消息数据,并以键为“message”的标签形式添加。 |
network_status |
event.idm.read_only_udm.additional.fields |
网络状态从原始日志的 network_status 字段中提取,并作为附加字段添加到日志中,键为“Network_Connection_Status”。 |
new_value |
各种 event.idm.read_only_udm.target 字段 |
新值是从原始日志的 new_value 字段中提取的,用于填充各种目标字段。 |
node |
event.idm.read_only_udm.principal.resource.attribute.labels.value |
节点值从原始日志的 node 字段中提取,并添加为键为“node”的标签。 |
old_value |
各种 UDM 字段 | 旧值从原始日志的 old_value 字段中提取,并用于填充各种 UDM 字段。 |
payload |
各种 UDM 字段 | 载荷从原始日志的 payload 字段中提取,并用于填充各种 UDM 字段。 |
pid |
event.idm.read_only_udm.target.process.pid |
进程 ID 从原始日志的 pid 字段中提取。 |
reqId |
event.idm.read_only_udm.metadata.product_log_id |
商品日志 ID 从原始日志的 reqId 字段中提取。 |
resourceId |
event.idm.read_only_udm.principal.resource.product_object_id |
商品对象 ID 是从原始日志的 resourceId 字段中提取的。 |
s2comp |
event.idm.read_only_udm.principal.resource.attribute.labels.value |
系统会从原始日志的 s2comp 字段中提取 s2comp 值,并将其添加为键为“s2comp”的标签。 |
ses |
event.idm.read_only_udm.network.session_id |
会话 ID 从原始日志的 ses 字段中提取。 |
src_host |
event.idm.read_only_udm.principal.hostname |
系统会从原始日志的 src_host 字段中提取主主机名。 |
src_ip |
event.idm.read_only_udm.principal.ip |
来源 IP 地址是从原始日志的 src_ip 字段中提取的。 |
src_ip1 |
event.idm.read_only_udm.principal.ip |
来源 IP 地址是从原始日志的 src_ip1 字段中提取的。 |
src_port |
event.idm.read_only_udm.principal.port |
源端口是从原始日志的 src_port 字段中提取的。 |
startTimeUTC |
event.idm.read_only_udm.principal.resource.attribute.creation_time |
创建时间是从原始日志中的 startTimeUTC 字段派生出来的。 |
subcomp |
event.idm.read_only_udm.network.application_protocol 或 event.idm.read_only_udm.principal.resource.attribute.labels.value |
如果 subcomp 字段为“http”,则映射到“HTTP”。否则,会将其添加为键为“Sub Comp”的标签。 |
tname |
event.idm.read_only_udm.principal.resource.attribute.labels.value |
系统会从原始日志的 tname 字段中提取 tname 值,并将其添加为键为“tname”的标签。 |
type |
event.idm.read_only_udm.metadata.product_event_type |
商品事件类型是从原始日志的 type 字段中提取的。 |
uid |
event.idm.read_only_udm.principal.user.userid |
用户 ID 从原始日志的 uid 字段中提取。 |
update |
event.idm.read_only_udm.principal.resource.attribute.labels.value |
更新值从原始日志的 update 字段中提取,并作为键为“update”的标签添加。 |
user |
event.idm.read_only_udm.principal.user.user_display_name |
用户显示名称是从原始日志的 user 字段中提取的。 |
vmw_cluster |
event.idm.read_only_udm.target.resource.name |
目标资源名称提取自原始日志中的 vmw_cluster 字段。 |
vmw_datacenter |
event.idm.read_only_udm.target.resource.attribute.labels.value |
vmw_datacenter 值是从原始日志的 vmw_datacenter 字段中提取的,并作为键为“vmw_datacenter”的标签添加。 |
vmw_host |
event.idm.read_only_udm.target.hostname 或 event.idm.read_only_udm.target.ip |
如果 vmw_host 字段是主机名,则会映射到目标主机名。否则,如果它是 IP 地址,则会映射到目标 IP。 |
vmw_object_id |
event.idm.read_only_udm.target.resource.product_object_id |
商品对象 ID 是从原始日志的 vmw_object_id 字段中提取的。 |
vmw_product |
event.idm.read_only_udm.target.application |
目标应用是从原始日志的 vmw_product 字段中提取的。 |
vmw_vcenter |
event.idm.read_only_udm.target.cloud.availability_zone |
可用区是从原始日志的 vmw_vcenter 字段中提取的。 |
vmw_vcenter_id |
event.idm.read_only_udm.target.resource.attribute.labels.value |
vmw_vcenter_id 值从原始日志的 vmw_vcenter_id 字段中提取,并作为标签(键为“vmw_vcenter_id”)添加。 |
vmw_vr_ops_appname |
event.idm.read_only_udm.intermediary.application |
中间应用是从原始日志的 vmw_vr_ops_appname 字段中提取的。 |
vmw_vr_ops_clustername |
event.idm.read_only_udm.intermediary.resource.name |
中间资源名称提取自原始日志中的 vmw_vr_ops_clustername 字段。 |
vmw_vr_ops_clusterrole |
event.idm.read_only_udm.intermediary.resource.attribute.roles.name |
中间资源角色名称提取自原始日志中的 vmw_vr_ops_clusterrole 字段。 |
vmw_vr_ops_hostname |
event.idm.read_only_udm.intermediary.hostname |
中间主机名是从原始日志的 vmw_vr_ops_hostname 字段中提取的。 |
vmw_vr_ops_id |
event.idm.read_only_udm.intermediary.resource.product_object_id |
中间产品对象 ID 从原始日志的 vmw_vr_ops_id 字段中提取。 |
vmw_vr_ops_logtype |
event.idm.read_only_udm.intermediary.resource.attribute.labels.value |
vmw_vr_ops_logtype 值是从原始日志的 vmw_vr_ops_logtype 字段中提取的,并作为标签(键为“vmw_vr_ops_logtype”)添加。 |
vmw_vr_ops_nodename |
event.idm.read_only_udm.intermediary.resource.attribute.labels.value |
vmw_vr_ops_nodename 值从原始日志的 vmw_vr_ops_nodename 字段中提取,并作为标签(键为“vmw_vr_ops_nodename”)添加。根据其他字段的值通过一系列条件语句确定。可能的值包括 USER_LOGIN、NETWORK_CONNECTION、STATUS_UPDATE 和 GENERIC_EVENT。硬编码为“VMWARE_NSX”。硬编码为“VMWARE_NSX”。硬编码为“VMWARE_NSX”。如果 Operation 为“LOGIN”且 target_details 不为空,或者 message 包含“身份验证失败”且 application 不为空,则设置为“AUTHTYPE_UNSPECIFIED”。如果 PROTO 为“ssh2”,则设置为“SSH”;如果 subcomp 为“http”,则设置为“HTTP”。根据其他字段的值通过一系列条件语句确定。可能的值包括 ALLOW 和 BLOCK。如果 vmw_cluster 不为空,则设置为“VIRTUAL_MACHINE”。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。