收集 IONIX Attack Surface Management 記錄
本文說明如何設定 IONIX 攻擊面管理,使用 Webhook 將記錄推送至 Google Security Operations。
IONIX 是外部攻擊面管理 (EASM) 平台,可探索、評估及驗證貴機構網際網路資產和數位供應鏈的安全漏洞。IONIX 會針對 DNS 發現項目、PKI 問題、雲端曝險和安全漏洞提供待辦事項,並提供優先處理的修復工作流程。
事前準備
請確認您已完成下列事前準備:
- Google SecOps 執行個體
- IONIX Attack Surface Management 支援 HTTP POST 推送,用於傳送記錄
- 可存取 Google Cloud 控制台 (用於建立 API 金鑰)
- 有效的 IONIX 入口網站帳戶,且具備「設定」>「整合」的管理員存取權
在 Google SecOps 中建立 Webhook 動態饋給
建立動態饋給
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態饋給」。
- 在下一頁,點按「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如
IONIX ASM Logs)。 - 「Source type」(來源類型) 請選取「Webhook」。
- 選取「IONIX」做為「記錄類型」。
- 點選「下一步」。
- 指定下列輸入參數的值:
- 分割分隔符號 (選用):輸入分隔符號,分割多行事件。常見值:
\n- 換行符號分隔符 (NDJSON 最常見的分隔符)- 如果每個要求都包含單一事件,請留空
- 資產命名空間:資產命名空間
- 擷取標籤:要套用至這個動態饋給事件的標籤
- 分割分隔符號 (選用):輸入分隔符號,分割多行事件。常見值:
- 點選「下一步」。
- 在「Finalize」(完成) 畫面中檢查新的新聞動態消息設定,然後按一下「Submit」(提交)。
產生並儲存密鑰
建立動態饋給後,您必須產生用於驗證的密鑰:
- 在動態饋給詳細資料頁面,按一下「產生 Secret Key」。
- 對話方塊會顯示密鑰。
- 複製並妥善儲存密鑰。
取得動態饋給端點網址
- 前往動態饋給的「詳細資料」分頁。
- 在「Endpoint Information」部分,複製「Feed endpoint URL」。
網址格式如下:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import其中
{region}是 Google SecOps 執行個體的區域 (例如us、europe或asia-southeast1),{parent}是資源路徑,格式為projects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>。請儲存這個網址,以利進行後續步驟。
按一下「完成」。
建立 Google Cloud API 金鑰
Google SecOps 需要 API 金鑰才能進行驗證。在 Google Cloud 控制台中建立受限制的 API 金鑰。
建立 API 金鑰
- 前往 Google Cloud 控制台憑證頁面。
- 選取專案 (與 Google SecOps 執行個體相關聯的專案)。
- 依序點選「建立憑證」 > 「API 金鑰」。
- 系統會建立 API 金鑰,並在對話方塊中顯示。
- 按一下「編輯 API 金鑰」即可限制金鑰。
限制 API 金鑰
- 在「API 金鑰」設定頁面中:
- 名稱:輸入描述性名稱 (例如
Google SecOps Webhook API Key)
- 名稱:輸入描述性名稱 (例如
- 在「API 限制」下方:
- 選取「Restrict key」(限制金鑰)。
- 在「選取 API」下拉式選單中,搜尋並選取「Google SecOps API」 (或「Chronicle API」)。
- 按一下 [儲存]。
- 複製頁面頂端「API 金鑰」欄位中的 API 金鑰值。
- 妥善保存 API 金鑰。
設定 IONIX Attack Surface Management Webhook
IONIX 整合架構原生支援透過 HTTP POST 將安全事件資料推送至外部端點。這項整合功能是在 IONIX 入口網站中設定,並使用與 Splunk HEC 整合相同的機制,可將資料推送至 Google SecOps Webhook 端點。
建構 Webhook 網址
將 Google SecOps 端點網址和 API 金鑰合併為單一網址:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>範例:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...
在 IONIX 入口網站中設定整合功能
- 登入 IONIX 入口網站 (例如
https://<your-portal-name>.ionix.com)。 - 依序前往「設定」 > 「整合」。
- 依序點選「Splunk Integration」>「Settings」。
提供下列設定詳細資料:
- HEC 權杖:輸入從 Google SecOps webhook 動態饋給產生的密鑰。
Splunk 伺服器:輸入完整的 Google SecOps Webhook 端點網址,並附加 API 金鑰做為查詢參數。請使用下列格式:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=<API_KEY>
設定推送間隔,指定 IONIX 將資料傳送至端點的頻率 (例如每 60 分鐘)。
填寫與環境相關的其他資料欄位。
按一下 [儲存]。
將整合切換鈕設為「已啟用」,即可開啟整合功能。
資料會在一個推送間隔週期內開始顯示在 Google SecOps 中。初始資料傳送作業最多可能需要一小時。
替代方案:使用 IONIX REST API 和自訂指令碼
如果原生 Splunk HEC 整合功能不符合您的需求,可以使用 IONIX REST API 提取資料,並轉送至 Google SecOps。
產生 IONIX API 金鑰
- 登入 IONIX 入口網站。
- 按一下「API Settings」。
- 提供權杖的名稱。
- 選取權杖類型:
- 唯讀 (建議用於資料收集)
- 讀寫
- 設定權杖的到期日。
- 按一下「建立權杖」。
- 複製產生的權杖,並妥善保存。
IONIX API 端點
使用下列 API 端點從 IONIX 擷取安全性資料:
| 端點 | 說明 |
|---|---|
/api/v1/remediation/action-items/open/ |
開啟待處理事項 (網域、根端點) |
/api/v1/remediation/action-items/all/detailed |
所有待辦事項的詳細資訊 |
/api/v1/discovery/org-assets/export-discovery-evidence |
資產風險和探索證據 |
/api/v1/discovery/org-assets |
組織資產 (包括 first_seen 日期) |
/api/v1/tests |
安全性測試結果 |
API 要求範例
curl -X GET "https://api.portal.ionix.io/api/v1/remediation/action-items/all/detailed" \ -H "Authorization: Token <IONIX_API_KEY>" \ -H "Content-Type: application/json"
將資料轉送至 Google SecOps
從 IONIX API 擷取資料後,將資料轉送至 Google SecOps webhook 端點:
curl -X POST "<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>" \ -H "Content-Type: application/json" \ -d @ionix_events.json
驗證方式參考資料
Google SecOps Webhook 摘要支援多種驗證方式。選擇供應商支援的方法。
方法 1:自訂標頭 (建議)
如果供應商支援自訂 HTTP 標頭,請使用這個方法,以提升安全性。
要求格式:
POST <ENDPOINT_URL> HTTP/1.1 Content-Type: application/json x-goog-chronicle-auth: <API_KEY> x-chronicle-auth: <SECRET_KEY> { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
優點:
- 網址中不會顯示 API 金鑰和密鑰
- 更安全 (標頭不會記錄在網路伺服器存取記錄中)
- 如果供應商支援此方式,則為首選方式
方法 2:查詢參數
如果供應商不支援自訂標頭,請在網址中附加憑證。
網址格式:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>- 範例:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...要求格式:
POST <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY> HTTP/1.1 Content-Type: application/json { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
缺點:
- 網址中顯示憑證
- 可能記錄在網路伺服器存取記錄中
- 安全性不如標頭
方法 3:混合 (網址 + 標頭)
部分設定會在網址中使用 API 金鑰,並在標頭中使用密鑰。
要求格式:
POST <ENDPOINT_URL>?key=<API_KEY> HTTP/1.1 Content-Type: application/json x-chronicle-auth: <SECRET_KEY> { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
驗證標頭名稱
Google SecOps 接受下列驗證標頭名稱:
API 金鑰:
x-goog-chronicle-auth(建議)X-Goog-Chronicle-Auth(不區分大小寫)
密鑰:
x-chronicle-auth(建議)X-Chronicle-Auth(不區分大小寫)
UDM 對應表
如要瞭解 IONIX 記錄欄位如何對應至 Google Security Operations 統合資料模型 (UDM) 欄位,請在支援的預設剖析器參考資料中搜尋 IONIX 記錄類型。
變更記錄
還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。