使用 API 大量關閉快訊
支援的國家/地區:
Google SecOps
SIEM
本文說明如何使用 Google Security Operations REST API,以程式輔助方式關閉大量快訊。如果透過平台關閉快訊太耗時,Google 建議使用這個方法。
必要條件
開始之前,請務必備妥以下項目:
- Python 環境:您需要安裝 Python,才能執行範例指令碼。
- API 範例:存取
api-samples-pythonGitHub 存放區。 - 憑證:有效的憑證檔案 (例如
.chronicle_credentials.json)。 - jq:用於剖析 API 輸出內容的指令列 JSON 處理器。
搜尋偵測項目
首先,您必須找出要關閉的快訊 (偵測到的快訊)。您可以使用 list_detections.py 指令碼,找出與特定規則 ID 相關的偵測結果。
- 找出規則 ID 和專案詳細資料。
- 執行指令碼,將偵測結果輸出至 JSON 檔案。JSON 檔案名稱可以是
detections.json或temp.json。
指令:
python -m detect.v1alpha.list_detections \
--project_id=$PROJECT_ID \
--project_instance=$PROJECT_INSTANCE \
--credentials_file=$CREDENTIALS_FILE \
--rule_id=$RULE_ID \
> ip_in_abuseipdb_out.json
擷取偵測 ID
大量更新指令碼需要純文字檔案,每行包含一個偵測 ID。上一個步驟會建立 JSON 檔案,您現在必須將其轉換為文字檔。
- 使用
jq從 JSON 陣列中擷取偵測 ID (開頭為de_)。 - 將輸出內容儲存至文字檔。
指令:
cat ip_in_abuseipdb_out.json | jq -r '.detections[].id' \
> ip_in_abuseipdb_out.txt
這會建立列出 ID 的檔案,例如 de_ad9d2771-a567...。
設定意見回饋 (「關閉」動作)
關閉快訊時,「意見回饋」狀態會設為 CLOSED。
- 預設行為:
bulk_update_alerts.py指令碼會使用硬式編碼的預設意見回饋酬載:- 狀態:
CLOSED - 原因:
REASON_MAINTENANCE - 註解:
automated cleanup。
- 狀態:
- 自訂:如需變更判決結果 (例如變更為
FALSE_POSITIVE) 或註解,請按照下列步驟操作:- 直接在 Python 檔案中編輯
DEFAULT_FEEDBACK字典。 - 傳遞 CLI 參數 (例如
--verdict="FALSE_POSITIVE") 覆寫特定值。
- 直接在 Python 檔案中編輯
執行大量結案
使用先前建立的文字檔執行大量更新指令碼 (請參閱「擷取偵測 ID」)。這個指令碼會為清單中的每個 ID 呼叫 UpdateAlert 方法。
指令:
python -m detect.v1alpha.bulk_update_alerts \
--project_id=$PROJECT_ID \
--project_instance=$PROJECT_INSTANCE \
--credentials_file=$CREDENTIALS_FILE \
--alert_ids_file="$(pwd)/ip_in_abuseipdb_out.txt"
驗證結案 (選用)
如要確認警報是否已成功關閉,可以使用 get_alert.py 模組查看單一警報的詳細資料。
指令:
python -m detect.v1alpha.get_alert \
--project_id=$PROJECT_ID \
--project_instance=$PROJECT_INSTANCE \
--credentials_file=$CREDENTIALS_FILE \
--alert_id=$ALERT_ID
預期結果:JSON 輸出內容包含 feedbackSummary 物件,其中顯示 "status": "CLOSED" 和您指定的註解 (例如「自動清除」)。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。