收集 VMware Networking and Security Virtualization (NSX) Manager 記錄

支援的國家/地區:

本文說明如何使用 Bindplane 代理程式,將 VMware NSX Manager 記錄擷取至 Google Security Operations。

VMware NSX 是網路虛擬化和安全平台,可為防火牆事件、分散式防火牆規則、路由變更、稽核記錄和控制器事件產生系統記錄訊息。剖析器會使用 grok 模式、鍵/值剖析和 JSON 剖析擷取欄位,並將這些欄位對應至統合式資料模型 (UDM)。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
  • Bindplane 代理程式與 VMware NSX 環境之間的網路連線
  • 如果透過 Proxy 執行,請確保防火牆通訊埠已根據 Bindplane 代理程式需求開啟
  • VMware NSX 的管理員存取權

取得 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
    
  3. 等待安裝完成。

  4. 執行下列指令,確認安裝成功:

    sc query observiq-otel-collector
    

    服務應顯示為「RUNNING」

Linux 安裝

  1. 開啟具有根層級或 sudo 權限的終端機。
  2. 執行下列指令:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. 等待安裝完成。

  4. 執行下列指令,確認安裝成功:

    sudo systemctl status observiq-otel-collector
    

    服務應顯示為有效 (執行中)

其他安裝資源

如需其他安裝選項和疑難排解資訊,請參閱 Bindplane 代理程式安裝指南

設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 Google SecOps

找出設定檔

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

編輯設定檔

  • config.yaml 的所有內容替換為下列設定:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/vmware_nsx:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: VMWARE_NSX
            raw_log_field: body
    
    service:
        pipelines:
            logs/vmware_nsx_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/vmware_nsx
    

設定參數

替換下列預留位置:

  • 接收器設定:

    • listen_address:要接聽的 IP 位址和通訊埠:
      • 0.0.0.0,監聽所有介面 (建議)
      • 通訊埠 514 是標準的系統記錄通訊埠 (在 Linux 上需要根層級權限;非根層級權限請使用 1514)
  • 匯出工具設定:

    • creds_file_path:擷取驗證檔案的完整路徑:
      • Linux/etc/bindplane-agent/ingestion-auth.json
      • WindowsC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id:從 Google SecOps 控制台複製的客戶 ID
    • endpoint:區域端點網址:
      • 美國malachiteingestion-pa.googleapis.com
      • 歐洲europe-malachiteingestion-pa.googleapis.com
      • 亞洲asia-southeast1-malachiteingestion-pa.googleapis.com
      • 如需完整清單,請參閱「區域端點

儲存設定檔

  • 編輯完成後,請儲存檔案:
    • Linux:依序按下 Ctrl+OEnterCtrl+X
    • Windows:依序點選「檔案」>「儲存」

重新啟動 Bindplane 代理程式,以套用變更

  • 如要在 Linux 中重新啟動 Bindplane 代理程式,請執行下列指令:

    sudo systemctl restart observiq-otel-collector
    
    1. 確認服務正在執行:

      sudo systemctl status observiq-otel-collector
      
    2. 檢查記錄中是否有錯誤:

      sudo journalctl -u observiq-otel-collector -f
      
  • 如要在 Windows 中重新啟動 Bindplane 代理程式,請選擇下列其中一個選項:

    • 以管理員身分開啟命令提示字元或 PowerShell:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • 服務控制台:

      1. 按下 Win+R,輸入 services.msc,然後按下 Enter 鍵。
      2. 找出 observIQ OpenTelemetry Collector
      3. 按一下滑鼠右鍵,然後選取「重新啟動」
      4. 確認服務正在執行:

        sc query observiq-otel-collector
        
      5. 檢查記錄中是否有錯誤:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

NSX Edge 的系統記錄設定

  1. 登入 vSphere Web Client
  2. 依序前往「Networking & Security」>「NSX Edges」
  3. 選取要設定的特定 NSX Edge 執行個體。
  4. 前往「Syslog Settings」
    • 適用於 NSX 6.4.4 以上版本:依序點選「管理」>「設定」>「設備設定」>「設定」>「變更系統記錄設定」
    • 適用於 NSX 6.4.3 和更早版本:依序點選「管理」>「設定」>「設定」>「詳細資料」>「變更」
  5. 設定系統記錄伺服器詳細資料:
    • 伺服器:輸入系統記錄伺服器 (Bindplane) 的 IP 位址或主機名稱。
    • 通訊協定:選取 UDPTCP (視 Bindplane 設定而定)。
    • 「Port」(通訊埠):輸入通訊埠編號 (視 Bindplane 設定而定)。
  6. 按一下「確定」儲存設定。

NSX Manager 的系統記錄設定

  1. 使用管理員憑證 (https://<NSX-Manager-IP>https://<NSX-Manager-Hostname>) 登入 NSX Manager 網頁介面。
  2. 依序前往「Manage Appliance Settings」>「General」
  3. 按一下「編輯」,設定系統記錄伺服器。
  4. 輸入系統記錄伺服器詳細資料:
    • 伺服器:輸入系統記錄伺服器 (Bindplane) 的 IP 位址或主機名稱。
    • 通訊協定:選取 UDPTCP (視 Bindplane 設定而定)。
    • 「Port」(通訊埠):輸入通訊埠編號 (視 Bindplane 設定而定)。
  5. 按一下「確定」儲存設定。

NSX Controller 的系統記錄設定

  1. 登入 vSphere Web Client
  2. 依序前往「Networking & Security」(網路與安全性) >「Installation and Upgrade」(安裝與升級) >「Management」(管理) >「NSX Controller Nodes」(NSX 控制器節點)
  3. 選取管理控制器節點的 NSX Manager
  4. 按一下「Common Controller Attributes Edit」(編輯通用控制器屬性)
  5. 在「系統記錄檔伺服器」對話方塊中,按一下「新增」
    • 輸入系統記錄伺服器名稱或 IP 位址。
    • 選取 UDP 通訊協定 (視 Bindplane 設定而定)。
    • 設定「記錄等級」 (例如 INFO)。
  6. 按一下「確定」儲存設定。

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 系統會從原始記錄的「UserName」欄位擷取使用者 ID。
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.ipevent.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_protocolevent.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 系統會從原始記錄的「uid」欄位擷取使用者 ID。
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.hostnameevent.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 包含「authentication failure」,且 application 不為空白,則設為「AUTHTYPE_UNSPECIFIED」。如果 PROTO 為「ssh2」,請設為「SSH」;如果 subcomp 為「http」,請設為「HTTP」。根據其他欄位的值,透過一系列條件陳述式判斷。可能的值為 ALLOW 和 BLOCK。如果 vmw_cluster 不為空白,請設為「VIRTUAL_MACHINE」。
Resource event.idm.read_only_udm.additional.fields 從變更記錄對應
zone_action event.idm.read_only_udm.security_result.detection_fields 從變更記錄對應
product_id event.idm.read_only_udm.metadata.product_log_id 從變更記錄對應
dst_port event.idm.read_only_udm.target.port 從變更記錄對應
sent_pkt event.idm.read_only_udm.network.sent_packets 從變更記錄對應
received_pkt event.idm.read_only_udm.network.received_packets 從變更記錄對應
sent_byte event.idm.read_only_udm.network.sent_bytes 從變更記錄對應
received_byte event.idm.read_only_udm.network.received_bytes 從變更記錄對應
msg1 event.idm.read_only_udm.metadata.description 從變更記錄對應
ip_version event.idm.read_only_udm.additional.fields 從變更記錄對應
ip_protocol_type event.idm.read_only_udm.additional.fields 從變更記錄對應
ip_protocol_code event.idm.read_only_udm.additional.fields 從變更記錄對應
interface_id event.idm.read_only_udm.additional.fields 從變更記錄對應
tcp_flags event.idm.read_only_udm.additional.fields 從變更記錄對應
src_zone_value event.idm.read_only_udm.principal.resource.attribute.labels 從變更記錄對應
sec_desc event.idm.read_only_udm.security_result.description 從變更記錄對應
Originated_Ip event.idm.read_only_udm.principal.ip 從變更記錄對應
Originated_Ip event.idm.read_only_udm.principal.asset.ip 從變更記錄對應
event_source event.idm.read_only_udm.target.resource.name 從變更記錄對應
Resource_Name event.idm.read_only_udm.target.resource.name 從變更記錄對應
Universal_Object event.idm.read_only_udm.target.resource.attribute.labels 從變更記錄對應
Severity event.idm.read_only_udm.security_result.severity 從變更記錄對應
Code event.idm.read_only_udm.security_result.rule_id 從變更記錄對應
Event_Message event.idm.read_only_udm.metadata.description 從變更記錄對應
Above_supported_instances event.idm.read_only_udm.additional.fields 從變更記錄對應
Above_threshold_instances event.idm.read_only_udm.additional.fields 從變更記錄對應
Below_threshold_instances event.idm.read_only_udm.additional.fields 從變更記錄對應
supported_compact event.idm.read_only_udm.additional.fields 從變更記錄對應
supported_quadlarge event.idm.read_only_udm.additional.fields 從變更記錄對應
supported_large event.idm.read_only_udm.additional.fields 從變更記錄對應
supported_xlarge event.idm.read_only_udm.additional.fields 從變更記錄對應
action security_result.action_details 從變更記錄對應
rule_id security_result.rule_id 從變更記錄對應
network.direction INBOUND 從變更記錄對應
security_result.action_details ALLOW 從變更記錄對應
security_result.action_details BLOCK 從變更記錄對應
metadata.event_type NETWORK_CONNECTION 從變更記錄對應
unique_id principal.resource.product_object_id 從變更記錄對應
resource_type principal.resource.sub_type 從變更記錄對應
_create_user","_last_modified_user principal.user.email_addresses 從變更記錄對應
action security_result.action 從變更記錄對應
display_name principal.resource.name 從變更記錄對應
_last_modified_time principal.resource.attribute.last_update_time 從變更記錄對應
_create_time principal.resource.attribute.creation_time 從變更記錄對應
parent_path principal.resource.parent 從變更記錄對應
id principal.resource.id 從變更記錄對應
resource_type target.resource.sub_type 從變更記錄對應
unique_id target.resource.product_object_id 從變更記錄對應
path target.process.file.full_path 從變更記錄對應
id target.resource.id 從變更記錄對應
vmw_host target_details.hostname or target_details.ip 從變更記錄對應
vmw_vr_ops_clusterrole intermediary.resource.attribute.labels.roles.name 從變更記錄對應
vmw_host","vmw_product","vmw_vcenter","vmw_cluster","vmw_vr_ops_id","vmw_object_id","vmw_datacenter","vmw_vcenter_id","vmw_vr_ops_logtype","vmw_vr_ops_appname","vmw_vr_ops_hostname","vmw_vr_ops_nodename","vmw_vr_ops_clustername","vmw_vr_ops_clusterrole","managedExternally","update","filepath","eventType","resourceId principal.resource.attribute.labels 從變更記錄對應
tname", "s2comp", "node principal.resource.attribute.labels 從變更記錄對應
exe target.process.file.full_path 從變更記錄對應

變更記錄

查看這個剖析器的變更記錄

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。