收集 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 專業人員尋求答案。