收集 VMware vCenter 記錄

支援的國家/地區:

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

VMware vCenter 是伺服器管理平台,可針對虛擬機器作業、主機管理、驗證和設定變更產生 JSON 和系統記錄訊息。

事前準備

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

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

取得 Google SecOps 擷取驗證檔案

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」
  3. 下載擷取驗證檔案
  4. 將檔案安全地儲存在要安裝 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_vcenter:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: VMWARE_VCENTER
            raw_log_field: body
    
    service:
        pipelines:
            logs/vmware_vcenter_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/vmware_vcenter
    

設定參數

替換下列預留位置:

  • 接收器設定:

    • 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"
        

在 VMware vCenter 中設定系統記錄

  1. 登入 vCenter Server Management 網頁 UI。
  2. 依序前往「Syslog」>「Forwarding Configuration」
  3. 按一下「設定」,建立新的轉送設定。
  4. 請提供下列設定詳細資料:
    • 伺服器位址:輸入 Bindplane 代理程式 IP 位址。
    • 「通訊協定」:選取「UDP」
    • 「Port」(通訊埠):輸入 Bindplane 代理程式通訊埠編號 (例如 514)。
  5. 按一下 [儲存]
  6. 按一下「傳送測試訊息」,驗證設定。

UDM 對應表

記錄欄位 UDM 對應 邏輯
Access Mask principal.process.access_mask 從十六進位轉換為十進位。
Account Domain principal.administrative_domain
Account Name principal.user.userid
ApplicationProtocol additional.fields
Authentication Package security_result.about.resource.name
Client Address principal.ip,principal.asset.ip 剖析為 IP。
Client Port principal.port 已轉換為整數。
cmd target.process.command_line
date 時間戳記 系統會將其剖析為 yyyy-MM-dd,並與時間合併為 yyyy-MM-dd HH:mm:ss,然後剖析為日期。
date_time 時間戳記 以 RFC 3339、TIMESTAMP_ISO8601、SYSLOGTIMESTAMP 格式剖析為日期。
desc metadata.description
eventid metadata.product_event_type 已與工作合併,合併後的工作 ID 為 eventid - task。
host_name principal.hostname,principal.asset.hostname
http_method network.http.method
ip target.ip,target.asset.ip
kv_data1 剖析為鍵/值組合。
kv_data2 剖析為鍵/值組合。
kv_msg1.cipher network.tls.cipher
kv_msg1.ctladdr intermediary.labels
kv_msg1.daemon security_result.about.labels
kv_msg1.from network.email.from 如果 mail_from 不含 @,則會附加 @local。
kv_msg1.msgid network.email.mail_id
kv_msg1.proto security_result.about.labels
kv_msg1.relay intermediary.hostname,intermediary.ip 是否已剖析為 (HOSTNAME)?[IP] 或 HOSTNAME,如果 relay_domain 存在,則設為 intermediary.hostname;如果 relay_ip 存在,則合併至 intermediary.ip。
kv_msg1.size network.sent_bytes 已轉換為無正負號整數。
kv_msg1.stat security_result.summary
kv_msg1.verify security_result.description,security_result.action 如果 kv_msg1.verify 為 FAIL,則 security_result.action 會設為 BLOCK。
kv_msg1.version network.tls.version
labels.log_type metadata.product_event_type
labels.net.host.ip principal.ip,principal.asset.ip
labels.net.host.port principal.port
labels.net.peer.ip target.ip,target.asset.ip
labels.net.peer.port target.port
labels.net.transport network.ip_protocol 如果 labels.net.transport 是 TCP,則為 TCP。
level security_result.severity 如果層級為 INFO/Informational/DEBUG/info/Information,則為 INFORMATIONAL;如果層級為 ERROR/error,則為 ERROR;如果層級為 WARNING,則為 LOW。
log.file.path target.process.file.full_path
logName security_result.category_details
Logon Account principal.user.userid
Logon Type extensions.auth.mechanism 如果 logon_type 為 2/Interactive,則為 INTERACTIVE;如果 logon_type 為 3/8,則為 NETWORK;如果 logon_type 為 4,則為 BATCH;如果 logon_type 為 5,則為 SERVICE;如果 logon_type 為 7,則為 UNLOCK;如果 logon_type 為 9,則為 NEW_CREDENTIALS;如果 logon_type 為 10,則為 REMOTE_INTERACTIVE;如果 logon_type 為 11,則為 CACHED_INTERACTIVE;否則為 MECHANISM_UNSPECIFIED。
mail_from network.email.from 如果 mail_from 不含 @,則會附加 @local。
mail_to network.email.to 如果 mail_to 不含 @,則會附加 @local。
message 使用 grok 模式剖析。
namespace principal.namespace
port target.port 已轉換為整數。
process_id target.process.pid
providername principal.application
Relative Target Name target.file.full_path
resource.labels.project_id src.cloud.project.id
resource.type src.labels
response_status network.http.response_code 已轉換為整數。
sec_desc security_result.description
Security ID target.user.windows_sid
security_result_action_detail security_result.action_details
server_name target.hostname,target.asset.hostname
Share Name target.resource.name
Source Network Address principal.ip,principal.asset.ip 剖析為 IP。
Source Port principal.port 已轉換為整數。
summary security_result.summary
target_host target.hostname,target.asset.hostname
target_url target.url
target_userid target.user.userid
time 時間戳記 剖析為 HH:mm:ss,並與日期合併為 yyyy-MM-dd HH:mm:ss,做為剖析為日期的時間。
upn_name intermediary.url
URL target.url
User ID target.user.windows_sid
user_id principal.user.userid
UserAgent network.http.user_agent
metadata.event_type 如果訊息包含 API_HEALTH 或 JobDispatcher,請設為 STATUS_UPDATE;如果訊息包含「logged in as」且 target_userid 不為空白,請設為 USER_LOGIN;如果訊息包含「Leave Validate」,請設為 SCAN_HOST;如果訊息包含「Getting IP Address from host」,請設為 NETWORK_UNCATEGORIZED;如果訊息包含「Wrote vpxd health」,請設為 RESOURCE_WRITTEN;如果 has_principal 和 has_target 為 true 且 application_protocol 不為空白,請設為 NETWORK_HTTP;如果 process_id 和 cmd 不為空白,請設為 PROCESS_LAUNCH;如果 user_id 不為空白或 eventid 為 4776,請設為 USER_UNCATEGORIZED;如果 eventid 為 4624/4768/4769,請設為 USER_LOGIN;如果 eventid 為 4634/4647,請設為 USER_LOGOUT;如果 eventid 為 5145,請設為 USER_RESOURCE_ACCESS;如果 host_name 不為空白,請設為 STATUS_UPDATE;否則請設為 GENERIC_EVENT。
extensions.auth.type 如果 eventid 為 4624/4768/4769,請設為 MACHINE。
metadata.log_type 設為 VMWARE_VCENTER。
metadata.vendor_name 設為 VMWARE。
metadata.product_name 設為 VCENTER。
security_result.action 如果 response_status 為 200 或 action 為 Allow,則設為 ALLOW。
r_name event.idm.read_only_udm.principal.resource.name 從變更記錄對應
ppid event.idm.read_only_udm.principal.process.pid 從變更記錄對應
p_ip event.idm.read_only_udm.principal.ip 從變更記錄對應
p_ip event.idm.read_only_udm.principal.asset.ip 從變更記錄對應
p_port event.idm.read_only_udm.principal.port 從變更記錄對應
i_ip event.idm.read_only_udm.intermediary.ip 從變更記錄對應
i_ip event.idm.read_only_udm.intermediary.asset.ip 從變更記錄對應
i_port event.idm.read_only_udm.intermediary.port 從變更記錄對應
t_ip event.idm.read_only_udm.target.ip 從變更記錄對應
t_ip event.idm.read_only_udm.target.asset.ip 從變更記錄對應
o_ip event.idm.read_only_udm.observer.ip 從變更記錄對應
o_ip event.idm.read_only_udm.observer.asset.ip 從變更記錄對應
o_port event.idm.read_only_udm.observer.port 從變更記錄對應
tls_details event.idm.read_only_udm.network.tls.version_protocol 從變更記錄對應
duration event.idm.read_only_udm.network.session_duration.seconds 從變更記錄對應
r_bytes event.idm.read_only_udm.network.received_bytes 從變更記錄對應
s_bytes event.idm.read_only_udm.network.sent_bytes 從變更記錄對應
response_flag event.idm.read_only_udm.additional.fields 從變更記錄對應
unknown_metric_2 event.idm.read_only_udm.additional.fields 從變更記錄對應
unknown_metric_1 event.idm.read_only_udm.additional.fields 從變更記錄對應
http_path event.idm.read_only_udm.additional.fields 從變更記錄對應
pusername event.idm.read_only_udm.principal.user.user_display_name 從變更記錄對應
puserid event.idm.read_only_udm.principal.user.userid 從變更記錄對應
log_level event.idm.read_only_udm.security_result.severity 從變更記錄對應
response_code event.idm.read_only_udm.network.http.response_code 從變更記錄對應
http_details event.idm.read_only_udm.network.http.user_agent 從變更記錄對應
http_details event.idm.read_only_udm.network.http.parsed_user_agent 從變更記錄對應
t_url event.idm.read_only_udm.target.url 從變更記錄對應
hmethod event.idm.read_only_udm.network.http.method 從變更記錄對應
p_log_id event.idm.read_only_udm.metadata.product_log_id 從變更記錄對應
meta_description event.idm.read_only_udm.metadata.description 從變更記錄對應
p_event_type event.idm.read_only_udm.metadata.product_event_type 從變更記錄對應
p_hostname event.idm.read_only_udm.principal.hostname 從變更記錄對應
p_hostname event.idm.read_only_udm.principal.asset.hostname 從變更記錄對應
c_timestamp event.idm.read_only_udm.metadata.collected_timestamp 從變更記錄對應
action event.idm.read_only_udm.additional.fields 從變更記錄對應
conn_id event.idm.read_only_udm.additional.fields 從變更記錄對應
facility event.idm.read_only_udm.additional.fields 從變更記錄對應
process event.idm.read_only_udm.additional.fields 從變更記錄對應
tenant event.idm.read_only_udm.additional.fields 從變更記錄對應
duration_ms event.idm.read_only_udm.additional.fields 從變更記錄對應
provider event.idm.read_only_udm.additional.fields 從變更記錄對應
provider_type event.idm.read_only_udm.additional.fields 從變更記錄對應
cor_id event.idm.read_only_udm.metadata.product_log_id 從變更記錄對應
inter_ip event.idm.read_only_udm.intermediary.ip 從變更記錄對應
tls_cipher event.idm.read_only_udm.network.tls.cipher 從變更記錄對應
event_status event.idm.read_only_udm.security_result.summary 從變更記錄對應
file_path event.idm.read_only_udm.target.file.full_path 從變更記錄對應
target_userid event.idm.read_only_udm.target.user.userid 從變更記錄對應
open_connections event.idm.read_only_udm.additional.fields 從變更記錄對應
total_connections event.idm.read_only_udm.additional.fields 從變更記錄對應
channel_id event.idm.read_only_udm.additional.fields 從變更記錄對應
line_number event.idm.read_only_udm.additional.fields 從變更記錄對應
timestamps' read_only_udm.metadata.event_timestamp 從變更記錄對應
event_name' event.idm.read_only_udm.metadata.product_event_type 從變更記錄對應
srcip event.idm.read_only_udm.principal.ipevent.idm.read_only_udm.principal.asset.ip 從變更記錄對應
usrName event.idm.read_only_udm.target.user.userid 從變更記錄對應
user_agent event.idm.read_only_udm.network.http.user_agent 從變更記錄對應
LEEF_version_label event.idm.read_only_udm.additional.fields 從變更記錄對應
msg event.idm.read_only_udm.metadata.description 從變更記錄對應
opID event.idm.read_only_udm.additional.fields 從變更記錄對應
sub event.idm.read_only_udm.additional.fields 從變更記錄對應
api_invocations additional.fields 從變更記錄對應
response_details target.resource.attribute.labels 從變更記錄對應
usr_agnt network.http.user_agent 從變更記錄對應
ver_proto network.tls.version 從變更記錄對應
DeviceUUID metadata.product_log_id 從變更記錄對應
InstanceId target.asset_id 從變更記錄對應
EventPriority security_result.severity 從變更記錄對應
AccessControlRuleAction security_result_action 從變更記錄對應
SrcIP principal.ip 從變更記錄對應
DstIP target.ip 從變更記錄對應
ICMPType", "ICMPCode", "IngressInterface", "EgressInterface", "WebApplication", "DNSQuery", "DNSRecordType", "DNSResponseType", "DNS_TTL", "service.type", "log.syslog.facility.code", "log.syslog.facility.name", "log.syslog.severity.code","log.syslog.severity.name", "log.syslog.priority additional.fields 從變更記錄對應
IngressZone principal.location.name 從變更記錄對應
EgressZone target.location.name 從變更記錄對應
ACPolicy security_result.rule_labels 從變更記錄對應
AccessControlRuleName security_result.rule_name 從變更記錄對應
NAPPolicy security_result.rule_labels 從變更記錄對應
InitiatorPackets network.sent_packets 從變更記錄對應
ResponderPackets network.received_packets 從變更記錄對應
InitiatorBytes network.sent_bytes 從變更記錄對應
ResponderBytes network.received_bytes 從變更記錄對應
FirstPacketSecond" and "ConnectionID security_result.about.labels 從變更記錄對應
Client target.labels 從變更記錄對應
ClientVersion target.platform_version 從變更記錄對應
ReferencedHost target.hostname 從變更記錄對應
HTTPResponse network.http.response_code 從變更記錄對應
ApplicationProtocol network.application_protocol 從變更記錄對應
host1.ip principal.ip 從變更記錄對應
version metadata.product_version 從變更記錄對應
principal_ip1 principal.ip 從變更記錄對應
principal_ip2 principal.ip 從變更記錄對應
target_ip1 target.ip 從變更記錄對應
target_ip2 target.ip 從變更記錄對應
principal_port principal.port 從變更記錄對應
target_port target.port 從變更記錄對應
Client port principal.port 從變更記錄對應
Source port principal.port 從變更記錄對應
insertId metadata.product_log_id 從變更記錄對應
@fields.host principal.hostname 從變更記錄對應
@fields.facility principal.resource.type 從變更記錄對應
@fields.company_name principal.user.company_name 從變更記錄對應
@fields.privatecloud_id principal.cloud.project.id 從變更記錄對應
@fields.privatecloud_name principal.cloud.project.name 從變更記錄對應
@fields.procid principal.process.pid 從變更記錄對應
@fields.region_id principal.location.country_or_region 從變更記錄對應
@version principal.platform_version 從變更記錄對應
basedn_group_iden target.user.group_identifiers 從變更記錄對應
get_error intermediary.labels 從變更記錄對應
ssh_proto network.application_protocol 從變更記錄對應
file_path target.process.file.full_path 從變更記錄對應

變更記錄

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

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