收集 Chronicle SOAR 稽核記錄

支援的國家/地區:

本文說明如何使用 Google Cloud Storage V2,將 Chronicle SOAR 稽核記錄檔擷取至 Google Security Operations。

Google Security Operations SOAR (安全性自動化調度管理、自動化和回應) 可讓安全團隊自動因應威脅,方法是擷取、分組並決定偵測工具快訊的優先順序,以便自動執行應對手冊並協調實際回應。SOAR 記錄會擷取 ETL、劇本和 Python 函式的重要資料,包括 Python 指令碼執行作業、快訊擷取作業和劇本效能。

事前準備

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

  • Google SecOps 執行個體
  • 已啟用 Cloud Storage API 的 Google Cloud 專案
  • 建立及管理 GCS 值區的權限
  • 管理 Google Cloud Storage 值區 IAM 政策的權限
  • 建立及管理 Cloud Logging 接收器的權限
  • 有權存取部署 Chronicle SOAR 的 Google Cloud 專案
  • Google Cloud 專案的「記錄檢視者」 (roles/logging.viewer) IAM 角色
  • 記錄管理員 (roles/logging.admin) IAM 角色,可建立記錄接收器

建立 Google Cloud Storage 值區

  1. 前往 Google Cloud Console
  2. 選取專案或建立新專案。
  3. 在導覽選單中,依序前往「Cloud Storage」>「Bucket」
  4. 按一下「建立值區」
  5. 請提供下列設定詳細資料:

    設定
    為 bucket 命名 輸入全域不重複的名稱 (例如 chronicle-soar-audit-logs)
    位置類型 根據需求選擇 (區域、雙區域、多區域)
    位置 選取位置 (例如 us-central1)
    儲存空間級別 標準 (建議用於經常存取的記錄)
    存取控管 統一 (建議)
    保護工具 選用:啟用物件版本管理或保留政策
  6. 點選「建立」

啟用 SOAR 記錄收集功能 (僅限獨立部署)

如要為獨立部署啟用 SOAR 記錄匯出功能,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,依序前往「IAM 與管理」>「服務帳戶」
  2. 按一下「Create Service Account」(建立服務帳戶)
  3. 請提供下列設定詳細資料:
    • 服務帳戶名稱:輸入 soar-logs-export-sa
    • 服務帳戶說明:輸入 Service account for exporting SOAR logs to Cloud Logging
  4. 按一下「建立並繼續」
  5. 在「將專案存取權授予這個服務帳戶」部分:
    1. 按一下「選擇角色」
    2. 搜尋並選取「記錄寫入者」
  6. 按一下「繼續」
  7. 按一下 [完成]
  8. 在「Service Accounts」(服務帳戶) 清單中,找出服務帳戶 (soar-logs-export-sa)。
  9. 依序點選「更多」圖示 more_vert>「管理權限」
  10. 在「權限」部分中,按一下「授予存取權」
  11. 在「新增主體」欄位中,輸入下列主體:

    gke-init-backgroundservices@{SOAR-GCP-Project-Id}.iam.gserviceaccount.com
    
  12. 在「指派角色」專區:

    1. 按一下「選擇角色」
    2. 搜尋並選取「服務帳戶憑證建立者」
  13. 按一下 [儲存]

  14. 複製服務帳戶的完整電子郵件地址 (soar-logs-export-sa@PROJECT_ID.iam.gserviceaccount.com)。

  15. 將服務帳戶電子郵件連同支援單提交給 Google SecOps 支援團隊,以啟用記錄匯出功能。

設定 Cloud Logging 接收器,將 SOAR 記錄檔匯出至 GCS

Chronicle SOAR 記錄檔會寫入 chronicle-soar 命名空間的 Google Cloud Logging。您必須建立記錄接收器,將這些記錄檔傳送至 GCS 值區。

  1. 在 Google Cloud 控制台中,依序前往「Logging」(記錄) >「Log Router」(記錄檔路由器)
  2. 選取已部署 Chronicle SOAR 的 Google Cloud 專案。
  3. 按一下「Create Sink」(建立接收器)
  4. 在「接收器詳細資料」面板中,提供下列設定詳細資料:
    • 接收器名稱:輸入 chronicle-soar-to-gcs
    • 接收器說明:輸入 Export Chronicle SOAR audit logs to GCS for Chronicle SIEM ingestion
  5. 點選「下一步」
  6. 在「接收器目的地」面板中:
    1. 在「Select sink service」(選取接收器服務) 選單中,選取「Cloud Storage bucket」(Cloud Storage 值區)
    2. 在「選取 Cloud Storage bucket」選單中,選取 bucket (chronicle-soar-audit-logs)。
  7. 點選「下一步」
  8. 在「選擇要納入接收器的記錄檔」面板中:

    1. 在「Build inclusion filter」(建構納入篩選器) 欄位中,輸入下列篩選器:

      resource.labels.namespace_name="chronicle-soar"
      

      這個篩選器會比對 ETL、劇本和 Python 服務的所有 SOAR 記錄。

    2. 按一下「預覽記錄」,確認篩選器符合預期的記錄項目。

  9. 點選「下一步」

  10. 選用步驟:在「選擇要從接收器排除的記錄檔」面板中,您可以視需要新增排除篩選器。大多數部署作業都不需要排除項目。

  11. 按一下「Create Sink」(建立接收器)

確認記錄是否已匯出至 GCS

  1. 等待 5 到 10 分鐘,系統就會將記錄匯出至 GCS bucket。
  2. 前往 Google Cloud 控制台中的「Cloud Storage」>「Buckets」
  3. 按一下 bucket 名稱 (chronicle-soar-audit-logs)。
  4. 確認系統是否在值區中建立記錄檔。檔案會依日期和時間排序:

    chronicle-soar/YYYY/MM/DD/HH:MM:SS_<unique-id>.json
    
  5. 按一下記錄檔即可預覽內容。每個檔案都包含 JSON 格式的記錄項目。

擷取 Google SecOps 服務帳戶

Google SecOps 會使用專屬服務帳戶,從 GCS bucket 讀取資料。您必須授予這個服務帳戶值區存取權。

取得服務帳戶電子郵件地址

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如 Chronicle SOAR Audit Logs)。
  5. 選取「Google Cloud Storage V2」做為「來源類型」
  6. 選取「CHRONICLE_SOAR_AUDIT」做為「記錄類型」
  7. 按一下「取得服務帳戶」
  8. 系統會顯示專屬的服務帳戶電子郵件地址,例如:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. 複製這個電子郵件地址,以便在下一步中使用。

  10. 點選「下一步」

  11. 指定下列輸入參數的值:

    • 儲存空間 bucket URL:輸入 GCS bucket URI,並加上前置路徑:

      gs://chronicle-soar-audit-logs/chronicle-soar/
      
    • 來源刪除選項:根據偏好設定選取刪除選項:

      • 永不:移轉後一律不刪除任何檔案 (建議用於測試)。
      • 刪除已轉移的檔案:成功轉移檔案後刪除檔案。
      • 刪除已轉移的檔案和空白目錄:成功轉移後刪除檔案和空白目錄。
    • 檔案存在時間上限:包含在過去天數內修改的檔案 (預設為 180 天)

    • 資產命名空間資產命名空間

    • 擷取標籤:要套用至這個動態饋給事件的標籤

  12. 點選「下一步」

  13. 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)

將 IAM 權限授予 Google SecOps 服務帳戶

Google SecOps 服務帳戶需要 GCS bucket 的「Storage 物件檢視者」角色。

  1. 依序前往「Cloud Storage」>「Buckets」
  2. 按一下 bucket 名稱 (chronicle-soar-audit-logs)。
  3. 前往「權限」分頁標籤。
  4. 按一下「授予存取權」
  5. 請提供下列設定詳細資料:
    • 新增主體:貼上 Google SecOps 服務帳戶電子郵件地址
    • 指派角色:選取「Storage 物件檢視者」
  6. 按一下 [儲存]

依服務類型篩選 SOAR 記錄

Chronicle SOAR 記錄會依產生記錄的服務分類。您可以在 Cloud Logging 中篩選記錄,或為不同記錄類型建立個別接收器。

可用的記錄服務

可用的服務類型如下:

  • 應對手冊:應對手冊執行作業的記錄,包括封鎖執行作業、動作結果和工作流程狀態
  • python:Python 指令碼執行作業的記錄,包括整合動作、連接器和工作
  • etl:快訊擷取和資料轉換程序的記錄

在 Cloud Logging 中依服務篩選

如要查看特定服務的記錄,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,依序前往「Logging」(記錄) >「Logs Explorer」(記錄檔探索工具)
  2. 選取已部署 Chronicle SOAR 的 Google Cloud 專案。
  3. 輸入下列篩選器,即可查看特定服務的記錄:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="playbook"
    

    playbook 替換為 pythonetl,即可查看其他服務的記錄。

為不同記錄類型分別建立接收器

如要將不同類型的記錄檔傳送至不同的 GCS 值區或前置字元,請使用服務專屬的篩選器建立其他接收器:

  1. 請按照「設定 Cloud Logging 接收器,將 SOAR 記錄匯出至 GCS」一節中的步驟操作。
  2. 在「Build inclusion filter」(建立排除篩選器) 欄位中,使用下列其中一個篩選器:

    僅限教戰手冊記錄:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="playbook"
    

    僅限 Python 記錄:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="python"
    

    僅限 ETL 記錄:

    resource.labels.namespace_name="chronicle-soar"
    resource.labels.container_name="etl"
    

可篩選的記錄標籤

Chronicle SOAR 記錄包含標籤,可提供額外背景資訊,方便篩選和分析。

應對手冊標籤

劇本記錄可用的標籤如下:

  • playbook_definition:劇本定義的專屬 ID
  • playbook_name:劇本的易讀名稱
  • block_name:正在執行的應對手冊區塊名稱
  • block_definition:區塊定義的專屬 ID
  • case_id:Chronicle SOAR 案件 ID
  • correlation_id:用於追蹤整個劇本在各項服務中的執行情況的專屬 ID
  • integration_name:使用的整合服務名稱
  • action_name:正在執行的動作名稱

Python 標籤

Python 服務記錄提供下列標籤:

整合和連接器標籤:

  • integration_name:整合名稱
  • integration_version:整合版本
  • connector_name:連接器名稱
  • connector_instance:連接器的執行個體 ID

工作標籤:

  • integration_name:整合名稱
  • integration_version:整合版本
  • job_name:排定時間執行的工作名稱

動作標籤:

  • integration_name:整合名稱
  • integration_version:整合版本
  • integration_instance:整合的執行個體 ID
  • correlation_id:用於追蹤執行的專屬 ID
  • action_name:正在執行的動作名稱

ETL 標籤

ETL 服務記錄提供下列標籤:

  • correlation_id:追蹤快訊擷取流程的專屬 ID

使用 correlation_id 進行完整追蹤

correlation_id 標籤適用於劇本和 Python 服務記錄。使用這個標籤,從整個應對手冊執行作業中擷取所有相關聯的記錄:

  1. 在 Google Cloud 控制台中,依序前往「Logging」(記錄) >「Logs Explorer」(記錄檔探索工具)
  2. 輸入下列篩選器:

    resource.labels.namespace_name="chronicle-soar"
    labels.correlation_id="<correlation-id-value>"
    

    <correlation-id-value> 替換為記錄檔項目的實際關聯 ID。

這個篩選條件會傳回劇本和 Python 服務的所有記錄,以取得完整的執行追蹤記錄。

UDM 對應表

記錄欄位 UDM 對應 邏輯
module、screenSize、activityItem、modificationTimeUnixTimeInMs additional.fields 如果存在,則從每個欄位建立合併標籤
使用者、作業 extensions.auth.type 如果使用者不為空白且作業為「登入」,請設為「AUTHTYPE_UNSPECIFIED」
creationTimeUnixTimeInMs metadata.event_timestamp 剖析為 UNIX_MS 時間戳記
使用者、作業、地址 metadata.event_type 如果使用者不為空且作業為「登入」,則設為「USER_LOGIN」;如果使用者不為空,則設為「USER_RESOURCE_ACCESS」;如果地址為空,則設為「STATUS_UNCATEGORIZED」;否則設為「GENERIC_EVENT」
作業 metadata.product_event_type 直接複製值
id metadata.product_log_id 已轉換為字串
browser network.http.parsed_user_agent 已轉換為剖析後的使用者代理程式
browser network.http.user_agent 直接複製值
地址 principal.hostname 設定地址是否與 IP 模式不符
地址 principal.ip 使用 grok 模式擷取的 IP
來源 principal.resource.resource_subtype 直接複製值
使用者 principal.user.userid 直接複製值
ContactEmails security_result.about.user.email_addresses 使用 grok 模式擷取的電子郵件地址
ContactPhone security_result.about.user.phone_numbers 直接複製值
ContactName security_result.about.user.user_display_name 直接複製值
名稱 security_result.about.user.userid 直接複製值
currentActivity、previousActivity security_result.detection_fields 如果存在,則合併 currentActivity 和 previousActivity 中的標籤
userGuid target.user.product_object_id 直接複製值
metadata.product_name 設為「CHRONICLE_SOAR_AUDIT」
metadata.vendor_name 設為「CHRONICLE_SOAR_AUDIT」

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