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

建立動態饋給

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

產生並儲存密鑰

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

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

取得動態饋給端點網址

  1. 前往動態饋給的「詳細資料」分頁。
  2. 在「Endpoint Information」部分,複製「Feed endpoint URL」。
  3. 網址格式如下:

    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>。

  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 金鑰」欄位中的 API 金鑰值。
  5. 妥善保存 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 入口網站中設定整合功能

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

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

      https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?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 Settings」。
  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 組織資產 (包括 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 摘要支援多種驗證方式。選擇供應商支援的方法。

如果供應商支援自訂 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 專家尋求解答。