將 Web Risk 與 Google SecOps 整合
本文說明如何將 Web Risk 與 Google Security Operations 整合。
用途
Web Risk 整合功能運用 Google SecOps 功能,支援下列用途:
網址信譽查詢:根據 Google 的已知惡意資源清單檢查網址,找出網路釣魚、惡意軟體和垃圾軟體。
事件強化:自動使用 Web Risk 的威脅情報強化安全性警示,協助分析師排定威脅優先順序並採取應對措施。
惡意網址緩解:將 Web Risk 檢查納入應對手冊,自動封鎖或標記調查期間發現的高風險網域。
自動回應網路釣魚:驗證從使用者回報的電子郵件中擷取的可疑連結,確認是否為網路釣魚,並觸發自動防堵動作,例如通知使用者或重設憑證。
驗證外部情報:將第三方威脅動態饋給中的網址與 Google的高保真度清單交叉比對,減少誤判情形,並在採取破壞性行動前確認惡意意圖。
事前準備
在 Google SecOps 中設定 Web Risk 整合前,請先完成下列必要條件:
選擇並設定下列其中一種驗證方式:
方法 1:Workload Identity (建議做法):這個方法會透過服務帳戶模擬功能,使用短期臨時存取權杖,因此您不必儲存密鑰。
方法 2:服務帳戶 JSON 金鑰:這個方法仰賴靜態、長期有效的密鑰檔案。只有在環境不支援 Workload Identity 驗證時,才應使用這個方法。
建立服務帳戶
如要為整合作業建立服務帳戶,請完成下列步驟:
在 Google Cloud 控制台,依序前往 「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)。
按一下「add」「Create service account」(建立服務帳戶),然後提供名稱和說明。
按一下「Done」(完成),完成建立帳戶。在驗證設定程序中,會使用這個服務帳戶的電子郵件地址。
設定 Workload Identity 憑證
請選擇這個方法或 JSON 金鑰方法,驗證整合。Workload Identity 是建議採用的做法,安全性也較高,因為這項功能會使用服務帳戶模擬功能,產生短期臨時存取權杖,因此不必儲存或輪替長期密鑰。
找出專屬執行個體身分
如要使用 Workload Identity 進行驗證,您必須授予 Google SecOps 執行個體權限,允許其模擬服務帳戶。這樣一來,執行個體就能安全存取 Google Cloud 資源。
在 Google SecOps 中,依序前往 「Content Hub」 >「Response Integrations」。
選取「Web Risk」整合,然後在「Workload Identity Email」(Workload Identity 電子郵件) 中輸入服務帳戶電子郵件。
在「Quota Project ID」(配額專案 ID) 中輸入有效的專案 ID。
依序點選「儲存」 > 「測試」。測試預計會失敗。
按一下「Test」(測試) 右側的 close_small,然後在錯誤訊息中搜尋以
gke-init-python@...或soar-python@...開頭的身分電子郵件。複製這個專屬電子郵件地址。
在 Google Cloud中授權執行個體身分
擷取 Google SecOps 執行個體的專屬身分後,您必須授權該執行個體存取Google Cloud 資源。這個步驟會啟用服務帳戶模擬功能,讓平台產生短期權杖並代您執行操作,不需使用靜態金鑰。
在 Google Cloud 控制台,依序前往 「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)。
選取目標服務帳戶,然後依序前往 「Permissions」(權限) >「Grant Access」(授予存取權)。
將不重複的電子郵件地址貼到「New principals」(新增主體) 欄位,並指派「Service Account Token Creator」(服務帳戶權杖建立者) 角色 (
roles/iam.serviceAccountTokenCreator)。
授予配額專案存取權
使用 Workload Identity 驗證時,您必須在整合設定中指定Quota Project ID,以便追蹤 API 使用情形和帳單。
如要授權,您必須在指定的配額專案中,將下列角色授予服務帳戶:
在 Google Cloud 控制台,依序前往「IAM & Admin」(IAM 與管理) >「IAM」,然後選取專案。
在主體清單中找出服務帳戶,然後按一下該帳戶的「edit」(編輯) (編輯主體)。
按一下「Add another role」(新增其他角色),然後選取「Service Usage Consumer」(服務使用情形消費者) 角色 (
roles/serviceusage.serviceUsageConsumer)。按一下 [儲存]。
設定 JSON 金鑰
請選擇這個方法或 Workload Identity 方法,驗證整合。只有在環境不支援 Workload Identity 時,才應使用 JSON 金鑰方法。建議您採用 Workload Identity,這種做法更安全。這個方法仰賴靜態、長期有效的密鑰檔案,需要手動管理及輪替。
請按照下列程序產生 JSON 金鑰檔案,用於驗證整合:
在 Google Cloud 控制台中,依序前往 「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶),然後選取您建立的服務帳戶 。
前往「金鑰」分頁。
依序點選「新增金鑰」>「建立新的金鑰」。
選取「JSON」做為金鑰類型,然後按一下「建立」。瀏覽器會將 JSON 檔案下載到您的電腦。
複製這個檔案的完整內容,並在整合設定期間貼到
Service Account JSON File Content。
整合參數
Web Risk 整合功能需要下列參數:
| 參數 | 說明 |
|---|---|
Workload Identity Email |
選填。 服務帳戶的用戶端電子郵件地址。 只有在使用 Workload Identity 進行驗證時,才需要設定這個參數。 如果設定這項參數,也必須設定 |
Service Account JSON File Content |
選填。 服務帳戶 JSON 金鑰檔案的完整內容。 只有在使用 JSON 金鑰進行驗證時,才需要設定這個參數。 |
Quota Project ID |
選填。 用於 API 使用和計費的 Google Cloud 專案 ID。 如果使用 Workload Identity 進行驗證,則必須提供這個參數。 |
Project ID |
選填。 要在整合作業中使用的 Google Cloud 專案 ID。 如未提供任何值,整合作業會從服務帳戶憑證擷取 ID。 |
Verify SSL |
這是必填欄位。 如果選取,整合功能會在連線至 Web Risk 伺服器時驗證 SSL 憑證。 (預設為啟用)。 |
如要瞭解如何在 Google SecOps 中設定整合功能,請參閱「設定整合功能」。
如有需要,您可以在後續階段進行變更。設定整合執行個體後,即可在應對手冊中使用。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。
動作
如要進一步瞭解動作,請參閱「 在工作區回應待處理動作」和「在案件中執行手動動作」。
充實實體
使用「Enrich Entities」(擴充實體) 動作,從 Web Risk 傳回 Google SecOps 實體的相關資訊。
這項動作會在 Google SecOps URL 實體上執行。
動作輸入內容
無
動作輸出內容
「Enrich Entities」動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 實體擴充表格 | 可用 |
| JSON 結果 | 可用 |
| 輸出訊息 | 可用 |
| 指令碼執行結果 | 可用 |
實體擴充表格
「Enrich Entities」(擴充實體) 動作可以擴充 URL 實體,並提供下列擴充結果:
| 補充資料欄位名稱 | 來源 (JSON 金鑰) | 適用範圍 |
|---|---|---|
threatTypes |
威脅類型的 CSV 檔案。 | JSON 結果中提供。 |
JSON 結果
以下範例顯示使用「Enrich Entities」動作時,收到的 JSON 結果輸出內容:
{
"Entity": "Entity",
"EntityResult": [
{
"expireTime": "2024-12-20T13:47:20.786242980Z",
"threatTypes": [
"SOCIAL_ENGINEERING_EXTENDED_COVERAGE"
]
}
]
}
輸出訊息
「Enrich Entities」動作可傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
|
動作成功。 |
Error executing action "Enrich Entities". Reason: ERROR_REASON |
動作失敗。 請檢查伺服器連線、輸入參數或憑證。 |
指令碼執行結果
下表列出使用「Enrich Entities」動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
乒乓
使用「Ping」動作測試與 Web Risk 的連線能力。
這項動作不會在 Google SecOps 實體上執行。
動作輸入內容
無
動作輸出內容
Ping 動作會提供下列輸出內容:
| 動作輸出類型 | 可用性 |
|---|---|
| 案件總覽附件 | 無法使用 |
| 案件總覽連結 | 無法使用 |
| 案件總覽表格 | 無法使用 |
| 補充資訊表格 | 無法使用 |
| JSON 結果 | 無法使用 |
| 輸出訊息 | 可用 |
| 指令碼執行結果 | 可用 |
輸出訊息
Ping 動作可能會傳回下列輸出訊息:
| 輸出訊息 | 訊息說明 |
|---|---|
Successfully connected to the Web Risk server with the
provided connection parameters! |
動作成功。 |
Failed to connect to the Web Risk server! Error is ERROR_REASON |
動作失敗。 請檢查伺服器連線、輸入參數或憑證。 |
指令碼執行結果
下表列出使用 Ping 動作時,指令碼結果輸出的值:
| 指令碼結果名稱 | 值 |
|---|---|
is_success |
True或False |
提交實體
使用「Submit Entities」動作,將實體提交至 Web Risk 進行分析。
這項操作是非同步的。視需要調整 Google SecOps 整合式開發環境 (IDE) 中動作的指令碼逾時值。
這項動作會在 Google SecOps URL 實體上執行。
動作輸入內容
「Submit Entities」動作需要下列參數:
| 參數 | 說明 |
|---|---|
Abuse Type |
選填。 與提交內容相關聯的濫用類型。 如要進一步瞭解濫用行為類型,請參閱 AbuseType。 可能的值如下:
預設值為 |
Confidence Level |
選填。 提交內容的信賴水準。 如要進一步瞭解信賴水準,請參閱「信賴度」和「ConfidenceLevel」。 可能的值如下:
預設值為 |
Justification |
選填。 提交理由。 如要進一步瞭解理由選項,請參閱 JustificationLabel。 可能的值如下:
預設值為 |
Comment |
選填。 說明提交原因的註解。 |
Region Code |
選填。 以半形逗號分隔的清單,列出與提交內容相關聯的國家/地區通用語言代碼資料庫 (CLDR) 代碼。如要進一步瞭解提交作業,請參閱「提交作業」。 |
Platform |
選填。 偵測到提交內容的平台類型。 可能的值如下:
預設值為 |
Skip Waiting |
選填。 如果選取,動作會初始化提交作業,且不會等待作業完成。 預設值為 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。