Vectra
本文說明如何將 Vectra 與 Google SecOps 整合。
應用實例
- 擷取 Vectra 偵測結果,用於建立 Google Security Operations 警示。接著,在 Google SecOps 中,警示可用於透過應對手冊或手動分析執行自動化調度管理。
- 執行擴充動作:從 Vectra 取得資料,擴充 Google SecOps 快訊中的資料。
產品權限
如要取得 API 權杖,請前往「個人資料」頁面複製。

在 Google SecOps 中設定 Vectra 整合
如要瞭解如何在 Google SecOps 中設定整合功能,請參閱「設定整合功能」一文。
整合參數
請使用下列參數設定整合:
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 執行個體名稱 | 字串 | 不適用 | 否 | 要設定整合的執行個體名稱。 |
| 說明 | 字串 | 不適用 | 否 | 執行個體的說明。 |
| API 根層級 | 字串 | https://{address}:{port} | 是 | Vectra 伺服器的 API 根層級。 |
| API 權杖 | 密碼 | 不適用 | 是 | Vectra 帳戶的 API 權杖。 |
| 驗證 SSL | 核取方塊 | 已勾選 | 是 | 如果已啟用,請確認與 Vectra 伺服器連線的 SSL 憑證有效。 |
| 遠端執行 | 核取方塊 | 已取消勾選 | 否 | 勾選這個欄位,即可從遠端執行設定的整合項目。勾選後,系統會顯示選取遠端使用者 (代理) 的選項。 |
動作
乒乓
說明
在 Google SecOps Content Hub 整合設定頁面,使用提供的參數測試與 Vectra 的連線能力。
執行日期
系統不會對實體執行這項動作。
動作執行結果
指令碼執行結果
| 指令碼執行結果名稱 | 價值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止應對手冊執行作業: 如果成功: 列印「Successfully connected to the Vectra server with the provided connection parameters!」 動作應失敗並停止執行應對手冊: 列印「Failed to connect to the Vectra server! 錯誤為 {0}".format(exception.stacktrace) |
一般 |
充實端點
說明
依主機名稱或 IP 位址擷取端點的系統資訊。
執行日期
這項動作會對下列實體執行:
- IP 位址
- 主機名稱
動作執行結果
實體資料充實
| 補充資料欄位名稱 | 來源 (JSON 金鑰) | 邏輯 - 應用時機 |
|---|---|---|
| Vectra_id | results/id | JSON 格式 (如有) |
| Vectra_name | results/name | JSON 格式 (如有) |
| Vectra_state | results/state | JSON 格式 (如有) |
| Vectra_threat | results/threat | JSON 格式 (如有) |
| Vectra_certainty | 結果/確定性 | JSON 格式 (如有) |
| Vectra_ip | results/last_source | JSON 格式 (如有) |
| Vectra_tags | 以空格分隔的{results/tags} | JSON 格式 (如有) |
| Vectra_note | results/note | JSON 格式 (如有) |
| Vectra_url | results/url | JSON 格式 (如有) |
| Vectra_last_modified | results/last_modified | JSON 格式 (如有) |
| Vectra_groups | 以空格分隔的{結果/群組} | JSON 格式 (如有) |
| Vectra_is_key_asset | results/is_key_asset | JSON 格式 (如有) |
| Vectra_has_active_traffic | results/has_active_traffic | JSON 格式 (如有) |
| Vectra_is_targeting_key_asset | results/is_targeting_key_asset | JSON 格式 (如有) |
| Vectra_privilege_level | results/privilege_level | JSON 格式 (如有) |
| Vectra_previous_ip | 以空格分隔的 {results/previous_ips} | JSON 格式 (如有) |
指令碼執行結果
| 指令碼執行結果名稱 | 價值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 結果
{
"id": 131,
"name": "DESKTOP-DAIOS7J",
"active_traffic": false,
"has_active_traffic": false,
"t_score": 0,
"threat": 0,
"c_score": 0,
"certainty": 0,
"severity": null,
"last_source": "10.0.2.68",
"ip": "10.0.2.68",
"previous_ips": [],
"last_detection_timestamp": "2019-10-08T17:13:57Z",
"key_asset": false,
"is_key_asset": false,
"state": "inactive",
"targets_key_asset": false,
"is_targeting_key_asset": false,
"detection_set": [],
"host_artifact_set": [
{
"type": "netbios",
"value": "DESKTOP-DAIOS7J",
"source": null,
"siem": false
}
],
"sensor": "YLq09aHU",
"sensor_name": "Vectra X",
"tags": [],
"note": null,
"note_modified_by": null,
"note_modified_timestamp": null,
"url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
"host_url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
"last_modified": "2020-02-12T13:41:51Z",
"assigned_to": null,
"assigned_date": null,
"groups": [],
"has_custom_model": false,
"privilege_level": null,
"privilege_category": null,
"probable_owner": null,
"detection_profile": null,
"host_session_luids": [],
"host_luid": "e0M-jygN"
}
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果成功 ,且至少有一個提供的實體已擴充 (is_success = true): Print "Successfully enriched the following endpoints from Vectra: \n {0}".format(entity.identifier list) 如果動作在 Vectra 中找到多個與某些 Google SecOps 實體相符的項目,系統會採用第一個相符項目來充實端點: Print "Multiple matches were found in Vectra, taking first match for the following entities:/n {0}".format(entity.identifiers list) 如果無法擴充特定實體(is_success = true): 列印「No entities were enriched.」 動作應失敗並停止執行應對手冊: 列印「Error executing action "Enrich Endpoint". 原因:{0}''.format(error.Stacktrace) |
一般 |
新增標記
說明
在 Vectra 中,為端點或偵測結果新增標記。
參數
| 參數顯示名稱 | 類型 | 預設值 | 是否強制 | 說明 |
|---|---|---|---|---|
| 項目類型 | 下拉式選單 | 端點 可能的值: 偵測 |
是 | 選取要新增標記的項目類型。 |
| 項目 ID | 字串 | 不適用 | 是 | 指定偵測/端點的 ID。 |
| 標記 | CSV | 不適用 | 是 | 指定要新增至偵測/端點的標記。標記應以半形逗號分隔,例如:tag1, tag2。 |
執行日期
這項動作不會對實體執行。
動作執行結果
指令碼執行結果
| 指令碼執行結果名稱 | 價值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果找到偵測結果/端點,且標記已成功更新 (is_success = true): Print "Successfully added tags {0} to {1} with ID {2}.format(tags, Item Type, Item ID) 如果偵測到偵測項目/端點,但未新增標記 (is_success=False): 列印「動作無法將標記 {0} 新增至 ID 為 {2} 的 {1}。原因:{3}。format(tags, 項目類型, 項目 ID, tags parameter from response)"。 如果找不到偵測結果/端點 (is_success=False): 列印「找不到 ID 為 {1} 的 {0}。format(Item Type, Item ID)」。 II is_success=false,但沒有特定情況,且不是重大錯誤: 列印「Action wasn't able to add tags to {0} with ID {1}.format(Item Type, Item ID)」: 動作應失敗並停止執行應對手冊: 列印「執行『新增標記』動作時發生錯誤。原因:{0}''.format(error.Stacktrace) |
一般 |
移除標記
說明
在 Vectra 中移除端點或偵測項目的標記。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 項目類型 | 下拉式選單 | 端點 可能的值: 偵測 |
是 | 選取要移除標記的項目類型。 |
| 項目 ID | 字串 | 不適用 | 是 | 指定偵測/端點的 ID。 |
| 標記 | CSV | 不適用 | 是 | 指定要從偵測/端點中移除哪些標記。標記應以半形逗號分隔,例如:tag1, tag2。 |
執行日期
這項動作不會對實體執行。
動作執行結果
指令碼執行結果
| 指令碼執行結果名稱 | 價值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果找到偵測結果/端點,且標記已成功更新 (is_success = true): Print "Successfully removed tags {0} from {1} with ID {2}.format(tags, Item Type, Item ID) 如果找不到偵測結果/端點 (is_success=False): Print "{0} with ID {1} was not found.".format(Item Type, Item ID)." 如果找到偵測結果/端點,但找不到標記 (is_success=False): 顯示「標記 {0} 不存在於 {1} (ID {2}) 中」。format(list of tags that were not found separated by comma, 項目類型, 項目 ID)。 如果 is_success=false,但沒有特定情況,且不是重大錯誤: 列印「Action wasn't able to remove tags from {0} with ID {1}.format(Item Type, Item ID)」: 動作應失敗並停止執行應對手冊: 列印「執行『移除標記』動作時發生錯誤。原因:{0}''.format(error.Stacktrace) |
一般 |
更新附註
說明
端點或偵測功能的更新附註。
參數
| 參數顯示名稱 | 類型 | 預設值 | 是否強制 | 說明 |
|---|---|---|---|---|
| 項目類型 | 下拉式選單 | 端點 可能的值: 偵測 |
是 | 選取要更新附註的項目類型。 |
| 項目 ID | 字串 | 不適用 | 是 | 指定偵測/端點的 ID。 |
| 注意事項 | 字串 | 不適用 | 是 | 指定要為偵測結果/端點新增的附註。 |
執行日期
這項動作不會對實體執行。
動作執行結果
指令碼執行結果
| 指令碼執行結果名稱 | 價值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果找到偵測結果/端點,且附註已成功更新 (is_success = true): Print "Successfully updated note on {1} with ID {2}.format(Item Type, Item ID) 如果找不到偵測結果/端點 (is_success=False): Print "{0} with ID {1} was not found.".format(Item Type, Item ID)." 如果 is_success=false,但沒有特定情況,且不是重大錯誤: 列印「Action wasn't able to update note on {0} with ID {1}.format(項目類型, 項目 ID)」: 動作應失敗並停止執行應對手冊: 列印「Error executing action "Update Note". 原因:{0}''.format(error.Stacktrace) |
一般 |
更新偵測狀態
說明
更新偵測狀態。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 偵測 ID | 整數 | 不適用 | 是 | 指定要更新狀態的偵測 ID。 |
| 狀態 | DDL | 已修正 可能的值: 固定 有效 |
是 | 指定要為偵測項目設定的狀態。 |
執行日期
這項動作不會對實體執行。
動作執行結果
指令碼執行結果
| 指令碼執行結果名稱 | 價值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息\* | 動作不應失敗,也不應停止執行應對手冊: 如果偵測到並成功更新狀態 (is_success = true): Print "Successfully updated status to '{0}' on detection with ID {1}.format(Status, Detection ID)
如果未偵測到 (is_success=False): Print "Detection with ID {1} was not found.".format(Detection ID)." 如果 is_success=false,但沒有特定情況,且不是重大錯誤: 列印「Action wasn't able to update status on detection with ID {1}.format(detection ID)」: 動作應失敗並停止執行應對手冊: 列印「Error executing action "Update Detection Status". 原因:{0}''.format(error.Stacktrace) |
一般 |
取得分類規則詳細資料
說明
取得分類規則的詳細資訊。
參數
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 分類規則 ID | 整數 | 不適用 | 是 | 指定以半形逗號分隔的分類規則 ID 清單。範例:28,29 |
| 建立洞察 | 核取方塊 | 是 | 是 | 如果啟用,這項動作會為每項已處理的分類規則建立獨立深入分析。 |
執行日期
這項動作不會對實體執行。
動作執行結果
洞察資料
| 洞察標題 | 洞察說明 |
|---|---|
| "Triage Rule {0}".format(triage_rule) | "偵測類別:{0}\n 分類類別:{1}\n 偵測:{2}\n 說明:{3}".format(detection_category, triage_category, detection, description) |
指令碼執行結果
| 指令碼執行結果名稱 | 價值選項 | 範例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 結果
{
"id": 28,
"url": "https://api.demo.vectranetworks.com/api/v2.1/rules/28",
"description": "whatever",
"enabled": true,
"created_timestamp": "2020-10-01T17:21:19Z",
"last_timestamp": "2020-10-01T17:21:19Z",
"is_whitelist": false,
"priority": 1,
"active_detections": 1,
"total_detections": 1,
"template": false,
"additional_conditions": {
"OR": [
{
"AND": [
{
"ANY_OF": {
"field": "remote1_ip",
"values": [
{
"url": null,
"value": "35.166.75.118",
"label": "35.166.75.118"
}
],
"groups": [],
"label": "C&C Server IP"
}
}
]
}
]
},
"source_conditions": {
"OR": [
{
"AND": [
{
"ANY_OF": {
"field": "host",
"values": [
{
"url": "https://api.demo.vectranetworks.com/api/v2.1/hosts/142",
"value": 142,
"label": "IP-10.10.100.10"
}
],
"groups": [],
"label": "Host"
}
}
]
}
]
},
"detection_category": "COMMAND & CONTROL",
"triage_category": "triage rule 1",
"detection": "Hidden HTTPS Tunnel"
案件總覽
| 結果類型 | 值 / 說明 | 類型 |
|---|---|---|
| 輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果成功,且至少有一個提供的規則 ID 已擴充 (is_success = true): Print "Successfully retrieved information about the following triage rules from Vectra: \n {0}".format(processed rule ids) 如果無法擴充特定實體(is_success = true): Print "Action was not able to retrieve information about the following triage rules\n: {0}".format(not processed rule ids) 如果無法為所有實體充實資料 (is_success = false): 列印「未擷取到任何分類規則相關資訊。」 動作應失敗並停止執行應對手冊: 列印「執行『取得分類規則詳細資料』動作時發生錯誤。原因:{0}''.format(error.Stacktrace) |
一般 |
| 案件總覽表格 | 資料表名稱:分類規則詳細資料 表格欄: ID (對應為 id) 已啟用 (對應為已啟用) 偵測類別 (對應為 detection_category) 分類類別 (對應為 triage_category) 偵測 (對應為偵測) 許可清單 (對應為 is_whitelist) Priority (對應為 priority) 建立時間 (對應為 created_timestamp) |
一般 |
連接器
Vectra - 偵測連接器
在 Google SecOps 中設定 Vectra - Detections 連接器
如要瞭解如何在 Google SecOps 中設定連接器,請參閱「設定連接器」一文。
連接器參數
使用下列參數設定連接器:
| 參數顯示名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
|---|---|---|---|---|
| 產品欄位名稱 | 字串 | 產品名稱 | 是 | 輸入來源欄位名稱,擷取產品欄位名稱。 |
| 事件欄位名稱 | 字串 | eventType | 是 | 輸入來源欄位名稱,擷取事件欄位名稱。 |
環境欄位名稱 |
字串 | "" | 否 | 說明儲存環境名稱的欄位名稱。 如果找不到環境欄位,則環境為預設環境。 |
環境規則運算式模式 |
字串 | .* | 否 | 要對「環境欄位名稱」欄位中的值執行的規則運算式模式。 預設值為 .*,可擷取所有值並傳回未變更的值。 用於允許使用者透過規則運算式邏輯操控環境欄位。 如果規則運算式模式為空值或空白,或環境值為空值,則最終環境結果為預設環境。 |
| 指令碼逾時 (秒) | 整數 | 180 | 是 | 執行目前指令碼的 Python 程序逾時限制。 |
| API 根層級 | 字串 | https://x.x.x.x:x:x | 是 | Vectra 伺服器的 API 根層級。 |
| API 權杖 | 密碼 | 不適用 | 是 | Vectra 帳戶的 API 權杖。 |
| 要擷取的最低威脅分數 | 整數 | 50 | 是 | 用於擷取偵測結果的最低威脅分數。 下限:0 上限:100 |
| 要擷取的最低確定度分數 | 整數 | 0 | 否 | 用於擷取偵測結果的最低確定性分數。 下限:0 上限:100 |
| 類別過濾 | 逗號分隔值 | 指揮與控制,殭屍網路 ,偵察,橫向移動,資料竊取,資訊 | 指定要擷取至 Google SecOps 的偵測項目類別。 可能的值包括: 指揮與控制 Botnet 偵察 橫向移動 資料竊取 資訊 |
|
| 擷取過去幾小時內的資料 (上限) | 整數 | 1 | 否 | 要擷取威脅的小時數。 |
| 要擷取的偵測項目數量上限 | 整數 | 25 | 否 | 每次連接器疊代要處理的偵測數量。上限為 5000。這是 Vectra 的限制。 |
| 將許可清單當做黑名單使用 | 核取方塊 | 已取消勾選 | 是 | 如果啟用,許可清單會當做黑名單使用。 |
| 驗證 SSL | 核取方塊 | 已勾選 | 是 | 如果已啟用,請確認與 Vectra 伺服器連線的 SSL 憑證有效。 |
| Proxy 伺服器位址 | 字串 | 不適用 | 否 | 要使用的 Proxy 伺服器位址。 |
| Proxy 使用者名稱 | 字串 | 不適用 | 否 | 用於驗證的 Proxy 使用者名稱。 |
| Proxy 密碼 | 密碼 | 不適用 | 否 | 用於驗證的 Proxy 密碼。 |
連接器規則
Proxy 支援
連接器支援 Proxy。
還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。