收集 IONIX Attack Surface Management 記錄
本文說明如何設定 IONIX Attack Surface Management,透過 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)。 - 選取「Webhook」做為「來源類型」。
- 選取「IONIX」做為「記錄類型」。
- 點選「下一步」。
- 指定下列輸入參數的值:
- 分割分隔符號 (選用):輸入分隔符號,分割多行事件。常見值:
\n- 換行分隔符號 (NDJSON 最常見)- 如果每個要求都包含單一活動,請留空
- 資產命名空間:資產命名空間
- 擷取標籤:要套用至這個動態饋給事件的標籤
- 分割分隔符號 (選用):輸入分隔符號,分割多行事件。常見值:
- 點選「下一步」。
- 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)。
產生並儲存密鑰
建立動態饋給後,您必須產生驗證用的密鑰:
- 在動態饋給詳細資料頁面中,按一下「產生密鑰」。
- 對話方塊會顯示密鑰。
- 複製並妥善儲存密鑰。
取得動態消息端點網址
- 前往動態消息的「詳細資料」分頁。
- 在「端點資訊」部分,複製「動態消息端點網址」。
網址格式為:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate或
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate請儲存這個網址,以供後續步驟使用。
按一下 [完成]。
建立 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 key」(API 金鑰) 欄位複製 API 金鑰值。
- 安全地儲存 API 金鑰。
設定 IONIX Attack Surface Management Webhook
IONIX 整合架構原生支援透過 HTTP POST 將安全事件資料推送至外部端點。這項整合功能是在 IONIX 入口網站中設定,並使用與 Splunk HEC 整合功能相同的機制,將資料推送至 Google SecOps 網頁 hook 端點。
建構 Webhook 網址
將 Google SecOps 端點網址和 API 金鑰合併為單一網址:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>範例:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?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://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=<API_KEY>
設定推送間隔,指定 IONIX 將資料傳送至端點的頻率 (例如每 60 分鐘一次)。
填寫與環境相關的其他資料欄位。
按一下 [儲存]。
將整合切換鈕設為「已啟用」,即可開啟整合功能。
資料會在一個推送間隔週期內開始顯示在 Google SecOps 中。初始資料傳送最多可能需要一小時。
替代方案:使用 IONIX REST API 和自訂指令碼
如果原生 Splunk HEC 整合功能不符合您的需求,可以使用 IONIX REST API 提取資料,並轉送至 Google SecOps。
產生 IONIX API 金鑰
- 登入 IONIX 入口網站。
- 按一下「API 設定」。
- 提供權杖的名稱。
- 選取權杖類型:
- 唯讀 (建議用於資料收集)
- 讀寫
- 設定權杖的到期日。
- 按一下「建立權杖」。
- 複製產生的權杖,並妥善儲存。
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 |
機構資產 (包括首次發現日期) |
/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 網頁 hook 端點:
curl -X POST "<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>" \ -H "Content-Type: application/json" \ -d @ionix_events.json
驗證方法參考資料
Google SecOps 網頁掛鉤動態消息支援多種驗證方法,請選擇供應商支援的方法。
方法 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://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?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 Unified Data Model (UDM) 欄位,請在支援的預設剖析器參考資料中搜尋 IONIX 記錄檔類型。
變更記錄
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。