收集 Vectra Stream 記錄
支援的國家/地區:
Google SecOps
SIEM
本文說明如何使用 Bindplane,將 Vectra Stream 記錄檔擷取至 Google Security Operations。剖析器會從 Vectra Stream 記錄檔中擷取鍵/值組合,將各種欄位正規化為統一的資料模型 (UDM),並將記錄檔類型對應至特定 UDM 事件類型。這項服務會處理 JSON 和系統記錄格式的記錄,捨棄格式錯誤的訊息,並根據特定欄位值,以額外內容擴充資料。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- 搭載
systemd的 Windows 2016 以上版本或 Linux 主機 - 如果透過 Proxy 執行,請確保防火牆通訊埠已根據 Bindplane 代理程式需求開啟
- Vectra UI 的特殊存取權
取得 Google SecOps 擷取驗證檔案
- 登入 Google SecOps 控制台。
- 依序前往「SIEM 設定」>「收集代理程式」。
- 下載擷取驗證檔案。將檔案安全地儲存在要安裝 Bindplane 的系統上。
取得 Google SecOps 客戶 ID
- 登入 Google SecOps 控制台。
- 依序前往「SIEM 設定」>「設定檔」。
- 複製並儲存「機構詳細資料」專區中的客戶 ID。
安裝 Bindplane 代理程式
請按照下列操作說明,在 Windows 或 Linux 作業系統上安裝 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 port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <CUSTOMER_ID> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'VECTRA_STREAM' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
重新啟動 Bindplane 代理程式,以套用變更
如要在 Linux 中重新啟動 Bindplane 代理程式,請執行下列指令:
sudo systemctl restart bindplane-agent如要在 Windows 中重新啟動 Bindplane 代理程式,可以使用「服務」控制台,也可以輸入下列指令:
net stop BindPlaneAgent && net start BindPlaneAgent
設定 Vectra Stream 傳送系統記錄檔
- 登入 Vectra (brain) 使用者介面。
- 依序前往「設定」>「通知」。
- 前往「系統記錄」Syslog部分。
- 按一下「編輯」,即可新增或編輯系統記錄設定。
- 請提供下列設定詳細資料:
- 目的地:輸入 Bindplane 代理程式 IP 位址。
- 「Port」(通訊埠):輸入 Bindplane 代理程式通訊埠編號。
- 通訊協定:根據實際的 Bindplane 代理程式設定,選取 UDP 或 TCP。
- 格式:選取「JSON」。
- 記錄類型:選取要傳送至 Google SecOps 的記錄。
- 按一下 [儲存]。
- 按一下「測試」,測試設定。
UDM 對應表
| 記錄欄位 | UDM 對應 | 邏輯 |
|---|---|---|
| AA | network.dns.authoritative | 從字串值轉換為布林值。 |
| account_session_id | network.session_id | 直接對應。 |
| account_session_time | network.session_duration | 從 UNIX 秒數轉換為時間戳記。 |
| 答案 | network.dns.answers.data | 直接對應。 |
| assigned_ip | network.dhcp.yiaddr | 直接對應。 |
| beacon_type | metadata.description | 直接對應。 |
| beacon_uid | network.session_id | 直接對應。 |
| calling_station_id | intermediary.asset.product_object_id | 直接對應。 |
| certificate.issuer | network.tls.client.certificate.issuer | 直接對應。 |
| certificate.not_valid_after | network.tls.client.certificate.not_after | 視格式而定,從 UNIX 或 UNIX_MS 轉換為時間戳記。 |
| certificate.not_valid_before | network.tls.client.certificate.not_before | 視格式而定,從 UNIX 或 UNIX_MS 轉換為時間戳記。 |
| certificate.serial | network.tls.client.certificate.serial | 直接對應。 |
| certificate.subject | network.tls.client.certificate.subject | 直接對應。 |
| certificate.version | network.tls.client.certificate.version | 直接對應。 |
| 密碼 | network.tls.cipher | 直接對應。 |
| cipher_alg | network.tls.cipher | 直接對應。 |
| 用戶端 | principal.application | 直接對應。 |
| client_cipher | network.tls.client.supported_ciphers | 直接對應。 |
| community_id | network.community_id | 直接對應。 |
| compression_alg | additional.fields.value.string_value | 新增至其他欄位,並使用「compression_alg」鍵。 |
| connect_info | security_result.description | 直接對應。 |
| conn_state | metadata.description | 根據 conn_state 的值對應至說明。 |
| 餅乾 | target.user.userid | 直接對應。 |
| 曲線 | network.tls.curve | 直接對應。 |
| dhcp_server_ip | network.dhcp.giaddr | 直接對應。 |
| dns_server_ips | principal.ip | 陣列中的每個 IP 都會新增至 principal.ip 陣列。 |
| 網域 | target.domain.name | 直接對應。 |
| dst_display_name | target.hostname、target.asset.hostname | 直接對應。 |
| dst_luid | target.asset.product_object_id | 直接對應。 |
| 持續時間 | network.session_duration.seconds | 從字串值轉換為整數。 |
| endpoint | principal.application | 直接對應。 |
| 已建立 | network.tls.established | 從字串值轉換為布林值。 |
| 主機 | target.hostname、target.asset.hostname | 從「主機」欄位擷取主機名稱。 |
| host_key | additional.fields.value.string_value | 已新增至其他欄位,並使用「host_key」做為鍵。 |
| host_key_alg | additional.fields.value.string_value | 新增至其他欄位,並使用「host_key_alg」鍵。 |
| host_multihomed | additional.fields.value.string_value | 新增至其他欄位,鍵為「host_multihomed」,值為「subnet %{host_multihomed}」。 |
| 主機名稱 | target.hostname、target.asset.hostname | 直接對應。 |
| id.orig_h | principal.ip | 直接對應。 |
| id.orig_p | principal.port | 從字串值轉換為整數。 |
| id.resp_h | target.ip、target.asset.ip | 直接對應。 |
| id.resp_p | target.port | 從字串值轉換為整數。 |
| issuer | network.tls.client.certificate.issuer | 直接對應。 |
| ja3 | network.tls.client.ja3 | 直接對應。 |
| ja3s | network.tls.server.ja3s | 直接對應。 |
| kex_alg | additional.fields.value.string_value | 已新增至其他欄位,並使用「kex_alg」鍵。 |
| lease_time | network.dhcp.lease_time_seconds | 從字串值轉換為無正負號整數。 |
| log_type | metadata.log_type | 直接對應。 |
| mac | principal.mac | 直接對應。 |
| mac_alg | additional.fields.value.string_value | 已新增至其他欄位,並使用「mac_alg」鍵。 |
| mail_from | network.email.from | 直接對應。 |
| metadata_type | metadata.product_event_type | 直接對應。 |
| 方法 | network.http.method | 直接對應。 |
| 名稱 | target.file.full_path | 直接對應。 |
| nas_identifier | target.user.attribute.roles.name | 直接對應。 |
| next_protocol | network.tls.next_protocol | 直接對應。 |
| orig_hostname | principal.hostname | 直接對應。 |
| orig_ip_bytes | network.sent_bytes | 從字串值轉換為無正負號整數。 |
| orig_sluid | principal.hostname | 直接對應。 |
| 路徑 | target.file.full_path | 直接對應。 |
| proto | network.ip_protocol | 根據數值對應至 IP 通訊協定名稱。 |
| 使用 Proxy 傳送 | principal.ip | 如果值是 IP 位址,則會新增至 principal.ip 陣列。 |
| qclass | network.dns.questions.class | 從字串值轉換為無正負號整數。 |
| qclass_name | network.dns.questions.name | 直接對應。 |
| 查詢 | network.dns.questions.name、principal.process.command_line | 直接對應。 |
| qtype | network.dns.questions.type | 從字串值轉換為無正負號整數。 |
| RA | network.dns.recursion_available | 從字串值轉換為布林值。 |
| radius_type | metadata.description | 直接對應。 |
| rcode | network.dns.response_code | 從字串值轉換為無正負號整數。 |
| RD | network.dns.recursion_desired | 從字串值轉換為布林值。 |
| rcpt_to | network.email.reply_to、network.email.to | 第一個電子郵件地址會對應至 reply_to,其餘地址則會新增至 to 陣列。 |
| 參照網址 | network.http.referral_url | 直接對應。 |
| resp_domain | target.domain.name | 直接對應。 |
| resp_hostname | target.hostname、target.asset.hostname | 直接對應。 |
| resp_ip_bytes | network.received_bytes | 從字串值轉換為無正負號整數。 |
| resp_mime_types | target.file.mime_type | 直接對應。 |
| result | security_result.description | 直接對應。 |
| result_code | security_result.action_details | 直接對應。 |
| rtt | network.session_duration.seconds | 從字串值轉換為整數。 |
| security_result | security_result | 已與現有的 security_result 物件合併。 |
| sensor_uid | observer.asset_id | 格式為「Sensor_UID:%{sensor_uid}」。 |
| 伺服器 | target.application | 直接對應。 |
| server_name | network.tls.client.server_name | 直接對應。 |
| 服務 | target.application | 直接對應。 |
| src_display_name | principal.hostname | 直接對應。 |
| src_luid | principal.asset.product_object_id | 直接對應。 |
| 狀態 | security_result.summary | 直接對應。 |
| status_code | network.http.response_code | 從字串值轉換為整數。 |
| status_msg | security_result.summary | 直接對應。 |
| 主旨 | network.email.subject | 直接對應。 |
| 成功 | security_result.action | 如果為 true,則對應至「ALLOW」;如果為 false,則對應至「BLOCK」。 |
| TC | network.dns.truncated | 從字串值轉換為布林值。 |
| trans_id | network.dhcp.transaction_id、network.dns.id | 從字串值轉換為無正負號整數。 |
| ts | metadata.event_timestamp | 從各種格式轉換為時間戳記。 |
| uid | metadata.product_log_id | 直接對應。 |
| uri | target.url | 直接對應。 |
| user_agent | network.http.user_agent | 直接對應。 |
| 使用者名稱 | principal.user.userid | 直接對應。 |
| 版本 | network.tls.version、principal.platform_version | 直接對應。 |
| version_num | network.tls.version_protocol | 直接對應。 |
| metadata.event_type | 由剖析器邏輯根據記錄和中繼資料類型判斷。 | |
| metadata.vendor_name | 硬式編碼值:「Vectra」。 | |
| metadata.product_name | 硬式編碼值:「Vectra Stream」。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。