收集 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 動態饋給

建立動態饋給

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如 IONIX ASM Logs)。
  5. 選取「Webhook」做為「來源類型」
  6. 選取「IONIX」做為「記錄類型」
  7. 點選「下一步」
  8. 指定下列輸入參數的值:
    • 分割分隔符號 (選用):輸入分隔符號,分割多行事件。常見值:
      • \n - 換行分隔符號 (NDJSON 最常見)
      • 如果每個要求都包含單一活動,請留空
    • 資產命名空間資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤
  9. 點選「下一步」
  10. 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)

產生並儲存密鑰

建立動態饋給後,您必須產生驗證用的密鑰:

  1. 在動態饋給詳細資料頁面中,按一下「產生密鑰」
  2. 對話方塊會顯示密鑰。
  3. 複製並妥善儲存密鑰。

取得動態消息端點網址

  1. 前往動態消息的「詳細資料」分頁。
  2. 在「端點資訊」部分,複製「動態消息端點網址」
  3. 網址格式為:

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    

    https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    
  4. 請儲存這個網址,以供後續步驟使用。

  5. 按一下 [完成]

建立 Google Cloud API 金鑰

Google SecOps 需要 API 金鑰才能進行驗證。請在 Google Cloud 控制台中建立受限的 API 金鑰。

建立 API 金鑰

  1. 前往 Google Cloud 控制台的「憑證」頁面
  2. 選取專案 (與 Google SecOps 執行個體相關聯的專案)。
  3. 依序按一下「建立憑證」>「API 金鑰」
  4. 系統會建立 API 金鑰,並顯示在對話方塊中。
  5. 按一下「編輯 API 金鑰」即可限制金鑰。

限制 API 金鑰

  1. 在「API 金鑰」設定頁面中:
    • 名稱:輸入描述性名稱 (例如 Google SecOps Webhook API Key)
  2. 在「API 限制」下方:
    1. 選取「Restrict key」(限制金鑰)
    2. 在「選取 API」下拉式選單中,搜尋並選取「Google SecOps API」 (或「Chronicle API」)。
  3. 按一下 [儲存]
  4. 從頁面頂端的「API key」(API 金鑰) 欄位複製 API 金鑰值
  5. 安全地儲存 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 入口網站中設定整合功能

  1. 登入 IONIX 入口網站 (例如 https://<your-portal-name>.ionix.com)。
  2. 依序前往「設定」>「整合」
  3. 依序點選「Splunk Integration」>「Settings」
  4. 請提供下列設定詳細資料:

    • HEC 權杖:輸入從 Google SecOps webhook 饋給產生的密鑰。
    • Splunk 伺服器:輸入完整的 Google SecOps Webhook 端點網址,並將 API 金鑰附加為查詢參數。請使用下列格式:

      https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=<API_KEY>
      
  5. 設定推送間隔,指定 IONIX 將資料傳送至端點的頻率 (例如每 60 分鐘一次)。

  6. 填寫與環境相關的其他資料欄位。

  7. 按一下 [儲存]

  8. 將整合切換鈕設為「已啟用」,即可開啟整合功能。

  9. 資料會在一個推送間隔週期內開始顯示在 Google SecOps 中。初始資料傳送最多可能需要一小時。

替代方案:使用 IONIX REST API 和自訂指令碼

如果原生 Splunk HEC 整合功能不符合您的需求,可以使用 IONIX REST API 提取資料,並轉送至 Google SecOps。

產生 IONIX API 金鑰

  1. 登入 IONIX 入口網站
  2. 按一下「API 設定」
  3. 提供權杖的名稱
  4. 選取權杖類型:
    • 唯讀 (建議用於資料收集)
    • 讀寫
  5. 設定權杖的到期日
  6. 按一下「建立權杖」
  7. 複製產生的權杖,並妥善儲存。

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 網頁掛鉤動態消息支援多種驗證方法,請選擇供應商支援的方法。

如果供應商支援自訂 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 專業人員尋求答案。