收集 Security Command Center 觀察記錄

支援的國家/地區:

本文說明如何使用 Cloud Storage,將 Security Command Center 觀察記錄匯出及擷取至 Google Security Operations。剖析器會將原始 JSON 資料轉換為統一資料模型 (UDM)。這項功能會將資料結構標準化、處理輸入內容的潛在變化,然後擷取相關欄位並對應至 UDM 結構定義,利用額外背景資訊和標記來擴充資料,以供後續分析。

事前準備

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

  • 在您的 Google Cloud 環境中啟用並設定 Security Command Center。
  • Google SecOps 執行個體。
  • 具備 Security Command Center 和 Cloud Logging 的特殊權限。

建立 Cloud Storage 值區

  1. 登入Google Cloud 控制台
  2. 前往「Cloud Storage Buckets」(Cloud Storage bucket) 頁面。

    前往「Buckets」(值區) 頁面

  3. 點選「建立」

  4. 在「建立 bucket」頁面中,輸入 bucket 資訊。完成下列每個步驟後,請按一下「繼續」前往下一個步驟:

    1. 在「開始使用」部分執行下列操作:

      1. 輸入符合值區名稱規定的專屬名稱,例如 gcp-scc-observation-logs
      2. 如要啟用階層命名空間,請按一下展開箭頭,展開「為檔案導向和資料密集型工作負載提供最理想的儲存空間」部分,然後選取「為這個值區啟用階層結構式命名空間」

      3. 如要新增值區標籤,請按一下展開箭頭,展開「標籤」部分。

      4. 按一下「新增標籤」,然後指定標籤的鍵和值。

    2. 在「Choose where to store your data」(選擇資料的儲存位置) 專區中執行下列操作:

      1. 選取「位置類型」
      2. 使用位置類型選單選取位置,永久儲存 bucket 中的物件資料。

      3. 如要設定跨 bucket 複製作業,請展開「設定跨 bucket 複製作業」部分。

    3. 在「為資料選擇儲存空間級別」部分,選取值區的預設儲存空間級別,或選取「Autoclass」,讓系統自動管理值區資料的儲存空間級別。

    4. 在「選取如何控制物件的存取權」部分,選取「否」以強制禁止公開存取,並為值區物件選取存取權控管模型

    5. 在「選擇保護物件資料的方式」部分,執行下列操作:

      1. 選取「資料保護」下要為值區設定的任何選項。
      2. 如要選擇物件資料的加密方式,請按一下標示為「資料加密」的展開箭頭,然後選取「資料加密方法」
  5. 點選「建立」

設定 Security Command Center 記錄

  1. 登入Google Cloud 控制台
  2. 前往 Security Command Center 頁面。

    前往 Security Command Center

  3. 選取您的機構。

  4. 按一下「設定」

  5. 按一下「持續匯出作業」分頁標籤。

  6. 在「匯出名稱」下方,按一下「記錄匯出」

  7. 在「接收器」下方,開啟「將發現項目記錄至 Logging」

  8. 在「記錄專案」下方,輸入或搜尋要記錄調查結果的專案。

  9. 按一下 [儲存]

設定匯出 Security Command Center 觀察記錄

  1. 登入Google Cloud 控制台
  2. 依序前往「Logging」>「Log Router」
  3. 按一下「建立接收器」
  4. 提供下列設定參數:

    • 接收器名稱:輸入有意義的名稱,例如 scc-observation-logs-sink
    • 接收器目的地:選取「Cloud Storage Storage」,然後輸入值區的 URI,例如 gs://gcp-scc-observation-logs
    • 記錄檔篩選器

      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Fobservations"
      resource.type="security_command_center_observation"
      logName="projects/<your-project-id>/logs/cloudsecurityscanner.googleapis.com%2Ffindings"
       resource.type="security_center_findings"
      
    • 設定匯出選項:包括所有記錄項目。

  5. 點選「建立」

設定 Cloud Storage 的權限

  1. 前往「IAM 與管理」>「IAM」
  2. 找到 Cloud Logging 服務帳戶。
  3. 授予值區的 roles/storage.admin

設定動態饋給

在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:

  • 「SIEM 設定」>「動態消息」
  • 內容中心 > 內容包

依序前往「SIEM 設定」>「動態饋給」,設定動態饋給

如要設定動態消息,請按照下列步驟操作:

  1. 依序前往「SIEM 設定」>「動態消息」
  2. 按一下「新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」
  4. 在「Feed name」(資訊串流名稱) 欄位中,輸入資訊串流的名稱,例如「Security Command Center Observation logs」(Security Command Center 觀察記錄)
  5. 選取「Google Cloud Storage」做為「來源類型」。
  6. 選取「Security Command Center Observation」(Security Command Center 觀察項目) 做為「記錄類型」
  7. 按一下「Chronicle Service Account」(Chronicle 服務帳戶) 欄位旁的「Get Service Account」(取得服務帳戶)
  8. 點選「下一步」
  9. 指定下列輸入參數的值:

    • 儲存空間值區 URI:Cloud Storage 值區網址,例如 gs://gcp-scc-observation-logs
    • 「URI Is A」(URI 為):選取「Directory which includes subdirectories」(包含子目錄的目錄)
    • 來源刪除選項:根據偏好選取刪除選項。

  10. 點選「下一步」

  11. 在「Finalize」畫面上檢查新的動態饋給設定,然後按一下「Submit」

從內容中心設定動態饋給

為下列欄位指定值:

  • 儲存空間值區 URI:Cloud Storage 值區網址,例如 gs://gcp-scc-observation-logs
  • 「URI Is A」(URI 為):選取「Directory which includes subdirectories」(包含子目錄的目錄)
  • 來源刪除選項:根據偏好選取刪除選項。

進階選項

  • 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
  • 來源類型:將記錄收集到 Google SecOps 的方法。
  • 資產命名空間:與動態饋給相關聯的命名空間。
  • 擷取標籤:套用至這個動態饋給所有事件的標籤。

UDM 對應表

記錄欄位 UDM 對應 邏輯
access.callerIp read_only_udm.principal.ip 直接對應。
access.callerIpGeo.regionCode read_only_udm.principal.location.country_or_region 直接對應。
access.methodName read_only_udm.additional.fields.value.string_value 直接對應。也會對應至 read_only_udm.target.labels.value。
access.principalEmail read_only_udm.principal.user.email_addresses 直接對應。
access.principalSubject read_only_udm.principal.user.attribute.labels.value 直接對應。
assetDisplayName read_only_udm.target.resource.attribute.labels.value 直接對應。
assetId read_only_udm.target.asset.asset_id assets/ 後的值會從 assetId 欄位擷取,並對應為 AssetID:<extracted_value>
category read_only_udm.metadata.product_event_type 直接對應。
contacts.security.contacts.email read_only_udm.security_result.about.user.email_addresses 直接對應。about 物件可根據聯絡人數重複多次。這個欄位的 roles.name 欄位設為 Security
contacts.technical.contacts.email read_only_udm.security_result.about.user.email_addresses 直接對應。about 物件可根據聯絡人數重複多次。這個欄位的 roles.name 欄位設為 Technical
createTime read_only_udm.security_result.detection_fields.value 直接對應。detection_fields 物件可根據可用欄位重複多次。這個欄位的 key 欄位設為 createTime
eventTime read_only_udm.metadata.event_timestamp 已轉換為時間戳記格式。
externalUri read_only_udm.about.url 直接對應。
findingClass read_only_udm.security_result.category_details 直接對應。
findingProviderId read_only_udm.target.resource.attribute.labels.value 直接對應。
mitreAttack.primaryTactic read_only_udm.security_result.detection_fields.value 直接對應。detection_fields 物件可根據可用欄位重複多次。這個欄位的 key 欄位設為 primary_tactic
mitreAttack.primaryTechniques read_only_udm.security_result.detection_fields.value 直接對應。detection_fields 物件可根據技術數量重複多次。這個欄位的 key 欄位設為 primary_technique
靜音 read_only_udm.security_result.detection_fields.value 直接對應。detection_fields 物件可根據可用欄位重複多次。這個欄位的 key 欄位設為 mute
名稱 read_only_udm.metadata.product_log_id 直接對應。
parentDisplayName read_only_udm.metadata.description 直接對應。
resource.display_name read_only_udm.target.resource.attribute.labels.value 直接對應。
resource.name read_only_udm.target.resource.name、read_only_udm.principal.resource.name 直接對應。使用這個欄位填入 principal.resource.name 欄位時,剖析器會檢查 resource.project_name 是否為空白。如果不是空白,則會改用 resource.project_name
resource.parent_display_name read_only_udm.target.resource.attribute.labels.value 直接對應。
resource.parent_name read_only_udm.target.resource.attribute.labels.value 直接對應。
resource.project_display_name read_only_udm.target.resource.attribute.labels.value 直接對應。
resource.project_name read_only_udm.target.resource.attribute.labels.value 直接對應。
resource.type read_only_udm.target.resource.attribute.labels.value 直接對應。
resourceName read_only_udm.target.resource.name 直接對應。
securityMarks.name read_only_udm.security_result.detection_fields.value 直接對應。detection_fields 物件可根據可用欄位重複多次。這個欄位的 key 欄位設為 securityMarks_name
嚴重性 read_only_udm.security_result.severity、read_only_udm.security_result.priority_details 直接對應。
sourceDisplayName read_only_udm.target.resource.attribute.labels.value 直接對應。
sourceProperties.contextUris.mitreUri.displayName read_only_udm.security_result.detection_fields.key 直接對應。detection_fields 物件可根據可用欄位重複多次。
sourceProperties.contextUris.mitreUri.url read_only_udm.security_result.detection_fields.value 直接對應。detection_fields 物件可根據可用欄位重複多次。
sourceProperties.detectionCategory.ruleName read_only_udm.security_result.rule_name 直接對應。
sourceProperties.detectionCategory.subRuleName read_only_udm.security_result.detection_fields.value 直接對應。detection_fields 物件可根據可用欄位重複多次。這個欄位的 key 欄位設為 sourceProperties_detectionCategory_subRuleName
sourceProperties.detectionPriority read_only_udm.security_result.priority_details 直接對應。
sourceProperties.findingId read_only_udm.target.resource.attribute.labels.value 直接對應。
state read_only_udm.security_result.detection_fields.value 直接對應。detection_fields 物件可根據可用欄位重複多次。這個欄位的 key 欄位設為 state
不適用 read_only_udm.metadata.log_type 硬式編碼為 GCP_SECURITYCENTER_OBSERVATION
不適用 read_only_udm.metadata.product_name 硬式編碼為 Security Command Center
不適用 read_only_udm.metadata.vendor_name 硬式編碼為 Google
不適用 read_only_udm.principal.user.account_type 如果主體電子郵件地址存在,請設為 CLOUD_ACCOUNT_TYPE。
不適用 read_only_udm.security_result.alert_state 硬式編碼為 ALERTING
不適用 read_only_udm.security_result.priority 如果嚴重程度為 LOW,請設為 LOW_PRIORITY。
不適用 read_only_udm.target.application 從 resourceName 欄位擷取。
不適用 read_only_udm.target.resource.product_object_id 從父項欄位擷取。
不適用 read_only_udm.target.resource.resource_type 預設為 CLUSTER。如果類別為 Impact: GPU Instance CreatedImpact: Many Instances Created,請設為 VIRTUAL_MACHINE。如果類別為 Persistence: Add Sensitive Role,請設為 SETTING
不適用 read_only_udm.target.resource_ancestors.name 從 parent 和 resourceName 欄位擷取。
不適用 read_only_udm.target.resource_ancestors.product_object_id 從父項、resource.project_name 和 resourceName 欄位擷取。
不適用 read_only_udm.target.resource_ancestors.resource_type 如果 resource.type 為 google.compute.Project,請設為 CLOUD_PROJECT。
不適用 read_only_udm.target.labels.key 如果存在 access.methodName,值會設為 access_methodName
不適用 read_only_udm.target.labels.value 值是從 access.methodName 設定。
不適用 read_only_udm.target.resource.attribute.labels.key 系統會根據可用的欄位,將鍵設為下列其中一個值:resource_parentDisplayNameresource_typeresource_parentNameresource_projectDisplayNameresource_displayNamefinding_idsource_idFindingProviderIdsourceDisplayNameasset_display_name
不適用 read_only_udm.target.resource.attribute.labels.value 系統會根據可用欄位,從下列其中一個欄位設定值:parentDisplayName、resource.type、resource.parent_name、resource.project_display_name、resource.display_name、sourceProperties.findingId、sourceProperties.sourceId、findingProviderId、sourceDisplayName、assetDisplayName。

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