收集 VMware Networking and Security Virtualization (NSX) Manager 記錄
支援的國家/地區:
    
      
      
        
        
        
  
    
      Google SecOps
    
  
      
    
      
      
        
        
        
  
    
      SIEM
    
  
      
    
    
  本文說明如何收集 VMware Networking and Security Virtualization (NSX) Manager 記錄。剖析器會根據訊息格式,使用各種 grok 模式擷取欄位。接著,它會執行鍵/值剖析、JSON 剖析和條件邏輯,將擷取的欄位對應至 UDM,處理不同的記錄格式,並以額外內容擴充資料。
事前準備
- 確認您有 Google Security Operations 執行個體。
 - 確認您使用的是 Windows 2016 以上版本,或是搭載 
systemd的 Linux 主機。 - 如果透過 Proxy 執行,請確認防火牆通訊埠已開啟。
 - 確認您擁有 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 安裝
- 開啟具有根層級或 sudo 權限的終端機。
 執行下列指令:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
其他安裝資源
- 如需其他安裝選項,請參閱這份安裝指南。
 
設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 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 的系統記錄設定
- 登入 vSphere Web Client。
 - 依序前往「Networking & Security」>「NSX Edges」。
 - 選取要設定的特定 NSX Edge 執行個體。
 - 前往「Syslog Settings」:
- 適用於 NSX 6.4.4 以上版本:
- 依序前往「管理」>「設定」>「裝置設定」。
 - 依序點選「設定」>「變更系統記錄設定」。
 
 - 適用於 NSX 6.4.3 和更早版本:
- 依序前往「管理」>「設定」>「設定」。
 - 在「詳細資料」對話方塊中,按一下「變更」。
 
 
 - 適用於 NSX 6.4.4 以上版本:
 - 設定 Syslog 伺服器詳細資料:
- 伺服器:輸入 Syslog 伺服器 (Bindplane) 的 IP 位址或主機名稱。
 - 通訊協定:選取「UDP」或「TCP」 (視 Bindplane 設定而定)。
 - 「Port」(通訊埠):輸入通訊埠編號 (視 Bindplane 設定而定)。
 
 - 按一下「確定」儲存設定。
 
NSX Manager 的系統記錄設定
- 使用管理員憑證登入 NSX Manager 網頁介面,步驟如下:
https://<NSX-Manager-IP>或https://<NSX-Manager-Hostname>。
 - 依序前往「管理設備設定」>「一般」。
 - 按一下「編輯」,設定 Syslog 伺服器。
 - 輸入 Syslog 伺服器詳細資料:
- 伺服器:輸入 Syslog 伺服器 (Bindplane) 的 IP 位址或主機名稱。
 - 通訊協定:選取「UDP」或「TCP」 (視 Bindplane 設定而定)。
 - 「Port」(通訊埠):輸入通訊埠編號 (視 Bindplane 設定而定)。
 
 - 按一下「確定」儲存設定。
 
NSX Controller 的系統記錄設定
- 登入 vSphere Web Client。
 - 依序前往「Networking & Security」(網路與安全性) >「Installation and Upgrade」(安裝與升級) >「Management」(管理) >「NSX Controller Nodes」(NSX 控制器節點)。
 - 選取管理控制器節點的 NSX Manager。
 - 按一下「Common Controller Attributes Edit」(編輯通用控制器屬性)。
 - 在「系統記錄檔伺服器」對話方塊中,按一下「新增」:
- 輸入 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 | 
系統會從原始記錄的「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.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 | 
系統會從原始記錄的「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.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 包含「authentication failure」,且 application 不為空白,則設為「AUTHTYPE_UNSPECIFIED」。如果 PROTO 為「ssh2」,請設為「SSH」;如果 subcomp 為「http」,請設為「HTTP」。根據其他欄位的值,透過一系列條件陳述式判斷。可能的值為 ALLOW 和 BLOCK。如果 vmw_cluster 不為空白,請設為「VIRTUAL_MACHINE」。 | 
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。