收集 Cisco Identity Intelligence 記錄

支援的國家/地區:

本文說明如何設定 Cisco Identity Intelligence,透過 Webhook 將記錄推送至 Google Security Operations。

Cisco Identity Intelligence (前身為 Oort Security) 是一個身分威脅偵測與回應平台,可持續監控身分提供者之間的使用者行為、驗證模式、裝置使用情況和存取權。這項服務會分析使用者活動、失敗的安全檢查、信任分數和高風險行為,偵測身分識別威脅、錯誤設定和違規事項。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • Cisco Identity Intelligence 租戶的特殊存取權
  • 管理 Cisco Identity Intelligence 中整合項目的管理權限
  • 存取 Google Cloud 控制台 (用於建立 API 金鑰)

在 Google SecOps 中建立 Webhook 動態饋給

建立動態饋給

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如 Cisco Identity Intelligence Events)。
  5. 選取「Webhook」做為「來源類型」
  6. 選取「Cisco Identity Intelligence」做為「記錄類型」
  7. 點選「下一步」
  8. 指定下列輸入參數的值:
    • 分割分隔符號 (選用):輸入 \n 即可分割多行事件。
    • 資產命名空間資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤
  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 金鑰

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

建立 API 金鑰

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

限制 API 金鑰

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

設定 Cisco Identity Intelligence Webhook

建構 Webhook 網址

  • 合併 Chronicle 端點網址和 API 金鑰:

    <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>
    
    • 範例:

      https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
      

更改下列內容:

  • <ENDPOINT_URL>:先前複製的 Chronicle 動態消息端點網址
  • <API_KEY>:先前建立的 Google Cloud API 金鑰
  • <SECRET_KEY>:先前產生的 Chronicle Webhook 密鑰

在 Cisco Identity Intelligence 中建立 Webhook 通知目標

  1. 登入 Cisco Identity Intelligence
  2. 前往「整合」
  3. 按一下「新增整合」
  4. 向下捲動至「Webhook」部分。
  5. 按一下「新增 Webhook 目標」
  6. 請提供下列設定詳細資料:
    • 名稱:輸入描述性名稱 (例如 Chronicle SIEM Integration)。
    • Webhook 網址:貼上包含 API 金鑰和密鑰的完整端點網址 (如上所述)。
    • 授權類型:選取「API 金鑰」
    • API 金鑰名稱:輸入金鑰名稱 (例如 x-goog-chronicle-auth)。
    • API 金鑰值:輸入 Google Cloud API 金鑰。
  7. 展開「Invocation HTTP Parameters」(呼叫 HTTP 參數) 專區
  8. 新增下列類型為「Header」的參數:
    • Content-Typeapplication/json
    • Acceptapplication/json
  9. 在「Use this target for」(將這個目標用於) 部分中,選取「Failed Check」(檢查失敗),即可在身分檢查偵測到失敗結果時收到通知。
  10. 按一下 [儲存]

測試 Webhook 連線

  1. 在「整合」頁面中,找到您建立的 Webhook 通知目標。
  2. 按一下資料列右側的三點選單
  3. 選取「測試連線」
  4. 確認測試訊息是否已順利送達。

啟用身分驗證的 Webhook

建立 Webhook 通知目標後,您必須為要監控的特定身分驗證啟用通知。

  1. 前往 Cisco Identity Intelligence 中所需的「檢查」詳細資料頁面。
  2. 展開頁面右上角的下拉式選單。
  3. 勾選您建立的 Webhook 通知目標核取方塊。
  4. 針對要傳送給 Google SecOps 的每項檢查重複執行上述步驟。

詳情請參閱「Cisco Identity Intelligence webhook 說明文件」。

驗證方法參考資料

Chronicle 網頁掛鉤動態消息支援多種驗證方法。選擇供應商支援的方法。

如果供應商支援自訂 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"
    }
    

驗證標頭名稱

Chronicle 接受下列驗證標頭名稱:

API 金鑰:

  • x-goog-chronicle-auth (建議)
  • X-Goog-Chronicle-Auth (不區分大小寫)

密鑰:

  • x-chronicle-auth (建議)
  • X-Chronicle-Auth (不區分大小寫)

Webhook 限制和最佳做法

要求限制

限制
要求大小上限 4 MB
每秒查詢次數 (QPS) 上限 15,000
要求逾時 30 秒
重試行為 自動執行指數輪詢

UDM 對應表

記錄欄位 UDM 對應 邏輯
帳戶 account_label.value 直接複製值
帳戶 account_label.key 設為「帳戶」
account_label security_result.detection_fields 已合併至 detection_fields
additional_detaildescription.key additional_detaildescription.key 設為「詳細說明」
detaildescription additional_detaildescription.value.list_value.values 從詳細說明合併
additional_detaildescription event.idm.read_only_udm.additional.fields 已併入 additional.fields
additional_recommendedaction.key additional_recommendedaction.key 設為「應變措施建議」
recommendedAction additional_recommendedaction.value.list_value.values 從 recommendedAction 合併
additional_recommendedaction event.idm.read_only_udm.additional.fields 已併入 additional.fields
data1 usersFailing_label 直接複製值
data.login login_label 直接複製值
詳細資料類型 security_result.summary 直接複製值
detail.id security_result.rule_id 直接複製值
detail.title security_result.rule_name 直接複製值
detail.severity security_result.severity 如果 detail.severity 的值為 [CRITICAL、ERROR、HIGH、INFORMATIONAL、LOW、MEDIUM],則為該值;如果為 moderate,則為 MEDIUM
detaildescription value_array.string_value 直接複製值
detailsdata.key add_label.value、add_label.key 如果不是 failedSigninDetails 或 ips,則值來自 detailsdata.value,索引鍵為「loginDetails %{index} details %{detailindex} %{detailsdata.key}」
detailsdata.value add_label.value、add_label.key
detailsdata.key security_result.detection_fields 如果符合條件,則合併 add_label
detailsdata.value security_result.detection_fields
field_.value security_result.detection_fields 針對 json_array 中的各種巢狀欄位 (msg、ipInfo、asn、coordinates、first_event、second_event、locations) 合併,並使用「%{index} %{detailindex} %{index1} %{key}」等鍵,但不包括 ipAddress、ip 等。
field_.key security_result.detection_fields
id metadata.product_log_id 直接複製值
login_label principal.user.email_addresses 如果符合電子郵件規則運算式,則會合併
msg.ipAddress principal.ip 如果不是空白,則會合併
msg.first_event.ip_address principal.ip 如果不是空白,則會合併
msg.second_event.ip_address principal.ip 如果不是空白,則會合併
msg_travels_first_event_ip_address principal.ip 如果不是空白,則會合併
msg_travels_second_event_ip_address principal.ip
recommendedAction value_array.string_value 直接複製值
security_result event.idm.read_only_udm.security_result 已合併至 security_result
來源 source_label.value 直接複製值
來源 source_label.key 設為「source」
source_label event.idm.read_only_udm.src.labels 已併入 src.labels
時間 @timestamp 使用日期篩選器剖析,格式為 ISO8601、RFC 3339、yyyy-MM-ddTHH:mm:ss.SSSSSSZ
usersFailing_label principal.user.email_addresses 如果符合電子郵件規則運算式,則會合併
版本 metadata.product_version 直接複製值
has_principal event.idm.read_only_udm.metadata.event_type 如果 has_principal 為 true,則設為「STATUS_UPDATE」;如果 has_user 為 true,則設為「USER_UNCATEGORIZED」;否則設為「GENERIC_EVENT」
has_user event.idm.read_only_udm.metadata.event_type
metadata.product_name metadata.product_name 設為「OORT」
metadata.vendor_name metadata.vendor_name 設為「OORT」
detail.published event.idm.read_only_udm.metadata.collected_timestamp 從變更記錄對應
detail.login event.idm.read_only_udm.principal.user.userid 從變更記錄對應
detail.userTrustLevel event.idm.read_only_udm.principal.user.attribute.labels 從變更記錄對應
detail.login event.idm.read_only_udm.principal.user.user_display_name 從變更記錄對應
detail.checkTopics event.idm.read_only_udm.security_result.category_details 從變更記錄對應
region event.idm.read_only_udm.additional.fields 從變更記錄對應
detail.checkId event.idm.read_only_udm.security_result.detection_fields 從變更記錄對應
detail.checkScope event.idm.read_only_udm.security_result.detection_fields 從變更記錄對應
detail.frameworks event.idm.read_only_udm.security_result.detection_fields 從變更記錄對應
detail.explainabilityEventIds event.idm.read_only_udm.security_result.detection_fields 從變更記錄對應
data.value event.idm.read_only_udm.security_result.detection_fields 從變更記錄對應

變更記錄

查看這個剖析器的變更記錄

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。