收集 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. 在「Feed name」(動態饋給名稱) 欄位中,輸入動態饋給名稱 (例如 Cisco Identity Intelligence Events)。
  5. 選取「Webhook」做為「來源類型」。
  6. 選取「Cisco Identity Intelligence」做為「記錄類型」。
  7. 點選「下一步」。
  8. 指定下列輸入參數的值:
    • 分割分隔符號 (選用):輸入 \n 即可分割多行事件。
    • 資產命名空間:資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤
  9. 點選「下一步」。
  10. 在「Finalize」(完成) 畫面中檢查新的新聞動態消息設定,然後按一下「Submit」(提交)。

產生並儲存密鑰

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

  1. 在動態饋給詳細資料頁面中,按一下「產生密鑰」。
  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 金鑰

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 金鑰」欄位複製 API 金鑰值。
  5. 安全儲存 API 金鑰。

設定 Cisco Identity Intelligence Webhook

建構 Webhook 網址

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

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

      https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?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. 前往「Integrations」。
  3. 按一下「Add Integration」。
  4. 向下捲動至「Webhook」部分。
  5. 按一下「Add Webhook Target」(新增 Webhook 目標)。
  6. 提供下列設定詳細資料:
    • 名稱:輸入描述性名稱 (例如 Chronicle SIEM Integration)。
    • Webhook 網址:貼上完整的端點網址,並附上上述 API 金鑰和密鑰。
    • Authorization Type:選取「API 金鑰」。
    • API 金鑰名稱:輸入金鑰名稱 (例如 x-goog-chronicle-auth)。
    • API Key Value:輸入 Google Cloud API 金鑰。
  7. 展開「Invocation HTTP Parameters」(叫用 HTTP 參數) 專區。
  8. 新增下列參數,類型為「Header」:
    • 鍵:Content-Type,值:application/json
    • 鍵:Accept,值:application/json
  9. 在「Use this target for」(將這個目標用於) 區段中,選取「Failed Check」(檢查失敗),即可在身分檢查偵測到失敗結果時收到通知。
  10. 按一下 [儲存]。

測試 Webhook 連線

  1. 在「Integrations」(整合) 頁面中,找到您建立的 Webhook 通知目標。
  2. 按一下資料列右側的三點圖示選單。
  3. 選取「測試連線能力」。
  4. 確認測試訊息已成功傳送。

啟用身分檢查的 Webhook

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

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

詳情請參閱 Cisco Identity Intelligence Webhook 說明文件。

驗證方式參考資料

Chronicle 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 金鑰,並在標頭中使用 Secret 金鑰。

  • 要求格式:

    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」
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],則為該值;如果為中等,則為 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_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 專業人員尋求解答。