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

支援的國家/地區:

本文說明如何收集 VMware Networking and Security Virtualization (NSX) Manager 記錄。剖析器會根據訊息格式,使用各種 grok 模式擷取欄位。接著,它會執行鍵/值剖析、JSON 剖析和條件邏輯,將擷取的欄位對應至 UDM,處理不同的記錄格式,並以額外內容擴充資料。

事前準備

  • 確認您有 Google Security Operations 執行個體。
  • 確認您使用的是 Windows 2016 以上版本,或是搭載 systemd 的 Linux 主機。
  • 如果透過 Proxy 執行,請確認防火牆通訊埠已開啟。
  • 確認您擁有 VMWare NSX 的管理員存取權。

取得 Google SecOps 擷取驗證檔案

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」
  3. 下載擷取驗證檔案。將檔案安全地儲存在要安裝 Bindplane 代理程式的系統上。

取得 Google SecOps 客戶 ID

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「設定檔」
  3. 複製並儲存「機構詳細資料」專區中的客戶 ID

安裝 Bindplane 代理程式

Windows 安裝

  1. 以系統管理員身分開啟「命令提示字元」或「PowerShell」
  2. 執行下列指令:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux 安裝

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

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

其他安裝資源

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

  1. 存取設定檔:

    • 找出 config.yaml 檔案。通常位於 Linux 的 /etc/bindplane-agent/ 目錄,或 Windows 的安裝目錄。
    • 使用文字編輯器 (例如 nanovi 或記事本) 開啟檔案。
  2. 按照下列方式編輯 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
    
  3. 視基礎架構需求,替換通訊埠和 IP 位址。

  4. <customer_id> 替換為實際的客戶 ID。

  5. /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 的系統記錄設定

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

NSX Manager 的系統記錄設定

  1. 使用管理員憑證登入 NSX Manager 網頁介面,步驟如下:
    • https://<NSX-Manager-IP>https://<NSX-Manager-Hostname>
  2. 依序前往「管理設備設定」>「一般」
  3. 按一下「編輯」,設定 Syslog 伺服器。
  4. 輸入 Syslog 伺服器詳細資料:
    • 伺服器:輸入 Syslog 伺服器 (Bindplane) 的 IP 位址或主機名稱。
    • 通訊協定:選取「UDP」或「TCP」 (視 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. 在「系統記錄檔伺服器」對話方塊中,按一下「新增」
    1. 輸入 Syslog 伺服器名稱或 IP 位址。
    2. 選取 UDP 通訊協定 (視 Bindplane 設定而定)。
    3. 設定「記錄層級」(例如 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」。

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