收集 VMware Horizon 日志

支持的语言:

本文档介绍了如何使用 Bindplane 将 Omnissa Horizon(以前称为 VMware Horizon)日志注入到 Google Security Operations。解析器首先使用正则表达式(Grok 模式)从原始 syslog 消息中提取字段。然后,它会将提取的字段映射到 Chronicle UDM 架构中的相应字段,从而对数据进行规范化和结构化处理,以供分析。

准备工作

请确保满足以下前提条件:

  • Google SecOps 实例
  • Windows 2016 或更高版本,或者具有 systemd 的 Linux 主机
  • 如果通过代理运行,请确保防火墙端口处于开放状态
  • 对 Omnissa Horizon 8 的特权访问权限

获取 Google SecOps 注入身份验证文件

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

获取 Google SecOps 客户 ID

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

安装 Bindplane 代理

按照以下说明在 Windows 或 Linux 操作系统上安装 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. 访问配置文件:
    • 找到 config.yaml 文件。通常,它位于 Linux 上的 /etc/bindplane-agent/ 目录中或 Windows 上的安装目录中。
    • 使用文本编辑器(例如 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_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: 'VMWARE_HORIZON'
            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 bindplane-agent
    
  • 如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

为 Omnissa Horizon(以前称为 VMware Horizon)配置 Syslog

  1. 登录 Onmissa Horizon 网页界面,
  2. 依次前往设置 > 活动配置
  3. 发送到 Syslog 服务器部分,点击添加
  4. 输入 Bindplane 代理 IP 地址和端口号(请确保将 Bindplane 协议配置为 UDP)。
  5. 点击保存

UDM 映射表

日志字段 UDM 映射 逻辑
ActionId metadata.product_log_id 原始日志中的“ActionId”值会映射到“metadata.product_log_id”。
admin_domain principal.administrative_domain 原始日志中的“admin_domain”值会映射到“principal.administrative_domain”。
BrokerName principal.hostname 原始日志中的“BrokerName”值会映射到“principal.hostname”。
BrokerSessionId network.session_id 原始日志中的“BrokerSessionId”值会映射到“network.session_id”。
ClientIpAddress principal.ip 原始日志中的“ClientIpAddress”值会映射到“principal.ip”。
CurrentSessionLength network.session_duration.seconds 原始日志中的“CurrentSessionLength”值会转换为整数,然后映射到“network.session_duration.seconds”。
description metadata.description 原始日志中的“description”值会映射到“metadata.description”。
DesktopDisplayName principal.hostname 原始日志中的“DesktopDisplayName”值会映射到“principal.hostname”。
EventType metadata.product_event_type 原始日志中的“EventType”值会映射到“metadata.product_event_type”。
ForwardedClientIpAddress principal.nat_ip 原始日志中的“ForwardedClientIpAddress”的值会映射到“principal.nat_ip”。
GlobalEntitlementName target.user.group_identifiers 原始日志中的“GlobalEntitlementName”值会映射到“target.user.group_identifiers”。
host principal.hostname 原始日志中的“host”值会映射到“principal.hostname”。
MachineDnsName principal.url 原始日志中的“MachineDnsName”的值会映射到“principal.url”。
MachineName intermediary.hostname 原始日志中的“MachineName”值会映射到“intermediary.hostname”。
Module additional.fields 系统会将原始日志中值为“Module”的键“Module”添加到“additional.fields”数组中。
pid principal.process.pid 原始日志中的“pid”值会映射到“principal.process.pid”。
PoolId additional.fields 包含原始日志中“PoolId”值的“PoolId”键已添加到“additional.fields”数组中。
program principal.application 原始日志中的“程序”值会映射到“principal.application”。
SessionType additional.fields 系统会将包含原始日志中“SessionType”值的“SessionType”键添加到“additional.fields”数组中。
Severity security_result.severity 原始日志中的“严重程度”值会转换为大写,映射到通用的 Chronicle 严重程度,然后映射到“security_result.severity”。
timestamp metadata.event_timestamp 原始日志中的“时间戳”值会转换为 Chronicle 格式,然后映射到“metadata.event_timestamp”。
UserDisplayName target.user.user_display_name 原始日志中的“UserDisplayName”值会映射到“target.user.user_display_name”。
UserName target.user.userid 原始日志中的“UserName”值会映射到“target.user.userid”。
UserSID target.user.windows_sid 原始日志中的“UserSID”值会映射到“target.user.windows_sid”。
ViewApiMethodName additional.fields 系统会将原始日志中值为“ViewApiMethodName”的键“ViewApiMethodName”添加到“additional.fields”数组。
ViewApiServiceName additional.fields 系统会将原始日志中值为“ViewApiServiceName”的键“ViewApiServiceName”添加到“additional.fields”数组中。
extensions.auth.type 如果“EventType”字段为“ADMIN_USERLOGGEDOUT”“AGENT_CONNECTED”“AGENT_DISCONNECTED”“AGENT_ENDED”“AGENT_PENDING”“AGENT_PENDING_EXPIRED”“AGENT_RECONNECTED”“BROKER_DESKTOP_REQUEST”“BROKER_LMV_REMOTE_POD_DESKTOP_LAUNCH”“BROKER_MACHINE_ALLOCATED”“BROKER_USER_AUTHFAILED_BAD_USER_PASSWORD”“BROKER_USER_LOCK_SSO”“BROKER_USERLOGGEDIN”“BROKER_USERLOGGEDOUT”“VLSI_USERLOGGEDIN”“VLSI_INSUFFICIENT_PERMISSION”“VLSI_USERLOGGEDIN_REST”“TIMING_PROFILER_TUNNEL_CONNECTION”“TIMING_PROFILER_GET_LAUNCH_ITEMS”“TIMING_PROFILER_USER_AUTHENTICATION”之一,则该值设置为“SSO”。
metadata.event_type 该值由“EventType”字段确定。如果“EventType”是“ADMIN_USERLOGGEDOUT”“AGENT_DISCONNECTED”“AGENT_ENDED”“AGENT_PENDING_EXPIRED”“BROKER_USER_LOCK_SSO”“BROKER_USERLOGGEDOUT”之一,则“metadata.event_type”为“USER_LOGOUT”。如果“EventType”是“AGENT_CONNECTED”“AGENT_PENDING”“AGENT_RECONNECTED”“BROKER_USERLOGGEDIN”“VLSI_USERLOGGEDIN”“VLSI_INSUFFICIENT_PERMISSION”“VLSI_USERLOGGEDIN_REST”之一,则“metadata.event_type”为“USER_LOGIN”。如果“EventType”为“TIMING_PROFILER_GET_LAUNCH_ITEMS”,则“metadata.event_type”为“STATUS_UNCATEGORIZED”。如果“EventType”为“AGENT_SHUTDOWN”,则“metadata.event_type”为“STATUS_SHUTDOWN”。如果“EventType”是“AGENT_STARTUP”或“BROKER_LMV_REMOTE_POD_DESKTOP_LAUNCH”之一,则“metadata.event_type”为“STATUS_STARTUP”。否则,“metadata.event_type”为“GENERIC_EVENT”。
metadata.log_type 该值设置为“VMWARE_HORIZON”。
metadata.product_name 该值设置为“HORIZON”。
metadata.vendor_name 该值设置为“VMWARE”。

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。