建立及管理 Event Threat Detection 自訂模組

本頁說明如何建立及管理 Event Threat Detection 的自訂模組。

事前準備

本節說明使用 Event Threat Detection 自訂模組的相關規定。

Security Command Center Premium 和 Event Threat Detection

如要使用 Event Threat Detection 自訂模組,必須啟用 Event Threat Detection。如要啟用 Event Threat Detection,請參閱「啟用或停用內建服務」。

必要 IAM 角色和權限

IAM 角色會決定您可對 Event Threat Detection 自訂模組執行的動作。

下表列出必要的 Event Threat Detection 自訂模組權限,以及包含這些權限的預先定義 IAM 角色。

您可以使用 Google Cloud 控制台或 Security Command Center API,在機構、資料夾或專案層級套用這些角色。

必要權限 角色
securitycentermanagement.eventThreatDetectionCustomModules.create
securitycentermanagement.eventThreatDetectionCustomModules.update
securitycentermanagement.eventThreatDetectionCustomModules.delete
roles/securitycentermanagement.etdCustomModulesEditor
roles/securitycenter.settingsEditor
roles/securitycenter.admin
securitycentermanagement.eventThreatDetectionCustomModules.list
securitycentermanagement.eventThreatDetectionCustomModules.get
securitycentermanagement.effectiveEventThreatDetectionCustomModules.list
securitycentermanagement.effectiveEventThreatDetectionCustomModules.get
securitycentermanagement.eventThreatDetectionCustomModules.validate
roles/securitycentermanagement.etdCustomModulesViewer
roles/securitycentermanagement.etdCustomModulesEditor
roles/securitycenter.adminViewer
roles/securitycenter.admin

如果在 Security Command Center 中遇到存取錯誤,請向管理員尋求協助。視啟用 Security Command Center 的層級而定,請參閱下列其中一個頁面:

必要記錄

請確認貴機構、資料夾和專案已啟用相關記錄。如要瞭解各個自訂模組類型需要哪些記錄,請參閱「自訂模組和範本」一文中的表格。

系統不支援 Google Cloud 以外來源的記錄。

自訂模組層級

本文使用下列術語,說明自訂模組的建立層級:

住宅模組
模組是在目前的檢視畫面或範圍中建立。舉例來說,如果您位於 Google Cloud 控制台的機構檢視畫面,住宅模組就是機構層級建立的模組。
繼承的模組
模組是在父項檢視區塊或範圍建立。舉例來說,在機構層級建立的模組,在任何資料夾或專案層級都是沿用模組。
子系模組
模組是在子項檢視區塊或範圍建立。舉例來說,在資料夾或專案層級建立的模組,在機構層級中是子代模組。

建立自訂模組

您可以透過Google Cloud 控制台建立 Event Threat Detection 自訂模組,也可以修改 JSON 範本,然後透過 gcloud CLI 提交。如果您打算使用 gcloud CLI 建立自訂模組,才需要 JSON 範本。

如需支援的模組範本清單,請參閱「自訂模組和範本」。

範本結構

範本會定義自訂模組用來識別記錄檔中威脅的參數。範本是以 JSON 格式編寫,結構與 Security Command Center 產生的發現項目類似。如果您打算使用 gcloud CLI 建立自訂模組,才需要設定 JSON 範本。

每份範本都包含可自訂的欄位:

  • severity:您要指派給這類發現項目的嚴重程度或風險等級,即 LOWMEDIUMHIGHCRITICAL
  • description:自訂模組的說明。
  • recommendation:解決自訂模組產生結果的建議動作。
  • 偵測參數:用於評估記錄及觸發結果的變數。每個模組的偵測參數各不相同,但會包含下列一或多項:
    • domains:要監控的網域
    • ips:要監控的 IP 位址
    • permissions:要監看的權限
    • regions:允許建立新 Compute Engine 執行個體的區域
    • roles:要監看的角色
    • accounts:要監控的帳戶
    • 定義允許的 Compute Engine 執行個體類型參數,例如 seriescpusram_mb
    • 用來檢查屬性的規則運算式,例如 caller_patternresource_pattern

下列程式碼範例是 Configurable Bad IP 的 JSON 範本。

{
  "metadata": {
    "severity": "LOW",
    "description": "Flagged by Cymbal as malicious",
    "recommendation": "Contact the owner of the relevant project."
  },
  "ips": [
    "192.0.2.1",
    "192.0.2.0/24"
  ]
}

在上述範例中,如果記錄檔指出資源已連線至 IP 位址 192.0.2.1192.0.2.0/24,自訂模組就會產生低嚴重程度的發現結果。

修改模組範本

如要建立模組,請選擇模組範本並加以修改。

如果您打算使用 Google Cloud CLI 建立自訂模組,就必須執行這項工作。

如果您打算使用 Google Cloud 控制台建立自訂模組,請略過這項工作。您可以使用畫面上的選項修改範本的參數。

  1. 從「自訂模組和範本」中選擇範本。
  2. 將程式碼複製到本機檔案。
  3. 更新要用於評估記錄的參數。
  4. 將檔案儲存為 JSON 檔案。
  5. 使用 JSON 檔案,透過 gcloud CLI 建立自訂模組

建立自訂模組

本節說明如何透過Google Cloud 控制台、gcloud CLI 和 Terraform 建立自訂模組。每個 Event Threat Detection 自訂模組的大小上限為 6 MB。

如要建立自訂模組,請按照下列步驟操作:

控制台

  1. 查看 Event Threat Detection 服務的模組。預先定義和自訂的模組會顯示在清單中。
  2. 按一下「建立模組」
  3. 按一下要使用的模組範本。
  4. 按一下 [選取]。
  5. 在「Module name」(模組名稱) 部分,輸入新範本的顯示名稱。名稱長度不得超過 128 個字元,且只能包含英數字元和底線,例如 example_custom_module
  6. 選取或新增要求的參數值。每個模組的參數都不相同。舉例來說,如果您選取 Configurable allowed Compute Engine region 模組範本,請選取一或多個區域。 或者,以 JSON 格式提供清單。
  7. 點選「下一步」
  8. 在「嚴重性」欄位中,輸入要指派給新自訂模組所產生結果的嚴重性等級。
  9. 在「說明」中,輸入新自訂模組的說明。
  10. 在「後續步驟」部分,以純文字格式輸入建議採取的行動。 系統會忽略您新增的任何段落分隔符。
  11. 點選「建立」

gcloud

  1. 建立包含自訂模組定義的 JSON 檔案。使用「自訂模組和範本」中的範本做為指南。

  2. gcloud 指令中傳送 JSON 檔案,即可建立自訂模組:

 gcloud alpha scc custom-modules etd create \
     --RESOURCE_FLAG=RESOURCE_ID \
     --display-name="DISPLAY_NAME" \
     --module-type="MODULE_TYPE" \
     --enablement-state="ENABLED" \
     --custom-config-from-file=PATH_TO_JSON_FILE

更改下列內容:

  • RESOURCE_FLAG:自訂模組的建立位置,即父項資源的範圍;可以是 organizationfolderproject
  • RESOURCE_ID:父項資源的資源 ID,也就是機構 ID、資料夾 ID 或專案 ID。
  • DISPLAY_NAME:新範本的顯示名稱。名稱不得超過 128 個字元,且只能包含英數字元和底線。
  • MODULE_TYPE:要建立的自訂模組類型,例如 CONFIGURABLE_ALLOWED_COMPUTE_ENGINE_REGION
  • PATH_TO_JSON_FILE:包含自訂模組的 JSON 定義的 JSON 檔案,以模組範本為準。

Terraform

resource "google_scc_management_organization_event_threat_detection_custom_module" "example" {
  organization = "123456789"
  location = "global"
  display_name = "basic_custom_module"
  enablement_state = "ENABLED"
  type = "CONFIGURABLE_BAD_IP"
  description = "My Event Threat Detection Custom Module"
  config = jsonencode({
    "metadata": {
      "severity": "LOW",
      "description": "Flagged by Forcepoint as malicious",
      "recommendation": "Contact the owner of the relevant project."
    },
    "ips": [
      "192.0.2.1",
      "192.0.2.0/24"
    ]
  })
}

自訂模組已建立並開始掃描。如要刪除模組,請參閱「刪除自訂模組」。

自訂模組的類別名稱包含模組類型的發現項目類別,以及您設定的模組顯示名稱。舉例來說,自訂模組的類別名稱可以是 Unexpected Compute Engine Region: example_custom_module。在 Google Cloud 控制台中,底線會顯示為空格。不過,您必須在查詢中加入底線。

配額 會控管您使用 Event Threat Detection 自訂模組的情況。

偵測延遲

如要瞭解 Event Threat Detection 和所有其他內建 Security Command Center 服務的偵測延遲時間,請參閱「掃描延遲時間」。

查看調查結果

您可以在 Google Cloud 控制台或使用 gcloud CLI 查看自訂模組產生的結果。

控制台

  1. 在 Google Cloud 控制台中,前往 Security Command Center 的「發現項目」頁面。

    前往「發現項目」

  2. 選取 Google Cloud 專案或機構。
  3. 在「快速篩選器」部分的「來源顯示名稱」子部分中,選取「Event Threat Detection Custom Modules」(事件威脅偵測自訂模組)。發現項目查詢結果會更新,只顯示來自這個來源的發現項目。
  4. 如要查看特定發現項目的詳細資料,請按一下「類別」欄中的發現項目名稱。 系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  5. 在「摘要」分頁中,查看發現項目的詳細資料,包括偵測到的內容、受影響的資源,以及 (如有) 可採取哪些步驟來修正發現項目。
  6. 選用:如要查看調查結果的完整 JSON 定義,請按一下「JSON」JSON分頁標籤。

gcloud

如要使用 gcloud CLI 查看發現項目,請執行下列操作:

  1. 開啟終端機視窗。
  2. 取得 Event Threat Detection 自訂模組的來源 ID。指令取決於您是在機構層級還是專案層級啟用 Security Command Center:

    gcloud scc sources describe RESOURCE_LEVEL/RESOURCE_ID \
        --source-display-name='Event Threat Detection Custom Modules'
    

    更改下列內容:

    • RESOURCE_LEVEL:Security Command Center 執行個體的啟用層級,為 organizationsprojects
    • RESOURCE_ID:機構或專案的資源 ID。

    輸出結果會與下列內容相似:SOURCE_ID 是伺服器指派給安全來源的 ID。

    canonicalName: RESOURCE_LEVEL/RESOURCE_ID/sources/SOURCE_ID
    description: Provider used by Event Threat Detection Custom Modules
    displayName: Event Threat Detection Custom Modules
    name: RESOURCE_LEVEL/RESOURCE_ID/sources/SOURCE_ID
  3. 如要列出 Event Threat Detection 自訂模組的所有發現項目,請使用上一個步驟中的來源 ID 執行下列指令:

    gcloud scc findings list RESOURCE_LEVEL/RESOURCE_ID --source=SOURCE_ID
    

    更改下列內容:

    • RESOURCE_LEVEL:要列出調查結果的資源層級,可以是 organizationsfoldersprojects
    • RESOURCE_ID:資源的 ID,也就是機構 ID、資料夾 ID 或專案 ID。
    • SOURCE_ID:Event Threat Detection 自訂模組的來源 ID。
  4. 如要列出特定自訂模組的發現項目,請執行下列指令:

    MODULE="CUSTOM_MODULE_CATEGORY_NAME"
    FILTER="category=\"$MODULE\""
    gcloud scc findings list RESOURCE_LEVEL/RESOURCE_ID --source=SOURCE_ID --filter="$FILTER"
    

    更改下列內容:

    • CUSTOM_MODULE_CATEGORY_NAME:自訂模組的類別名稱。這個名稱由模組類型的發現項目類別 (如「自訂模組和範本」所列) 和模組顯示名稱組成,並以底線取代空格。舉例來說,自訂模組的類別名稱可以是 Unexpected Compute Engine region: example_custom_module
    • RESOURCE_LEVEL:要列出調查結果的資源層級,可以是 organizationsfoldersprojects
    • RESOURCE_ID:資源的 ID,也就是機構 ID、資料夾 ID 或專案 ID。
    • SOURCE_ID:事件威脅偵測自訂模組的來源 ID。

如要進一步瞭解如何篩選調查結果,請參閱「列出安全性調查結果」。

自訂模組產生的發現項目可像 Security Command Center 中的所有發現項目一樣管理。如要瞭解詳情,請參考下列資源:

管理 Event Threat Detection 自訂模組

本節說明如何查看、列出、更新及刪除 Event Threat Detection 自訂模組。

查看或列出自訂模組

控制台

  1. 查看 Event Threat Detection 服務的模組。預先定義和自訂的模組會顯示在清單中。
  2. 選用:如要只查看自訂模組,請在「篩選器」欄位中輸入「類型:自訂」

結果包括:

  • 所有住宅用 Event Threat Detection 自訂模組。
  • 所有繼承的 Event Threat Detection 自訂模組。舉例來說,如果您位於專案檢視畫面,系統會在結果中納入該專案父項資料夾和機構中建立的自訂模組。
  • 在子資源中建立的所有後代 Event Threat Detection 自訂模組。舉例來說,如果您位於機構檢視畫面,系統會將該機構下資料夾和專案中建立的自訂模組納入結果。

gcloud

gcloud alpha scc custom-modules etd list \
    --RESOURCE_FLAG=RESOURCE_ID

更改下列內容:

  • RESOURCE_FLAG:要列出自訂模組的範圍,可以是 organizationfolderproject
  • RESOURCE_ID:資源的 ID,也就是機構 ID、資料夾 ID 或專案 ID。

結果包括:

  • 所有住宅用 Event Threat Detection 自訂模組。
  • 所有繼承的 Event Threat Detection 自訂模組。舉例來說,在專案層級列出自訂模組時,該專案父項資料夾和機構中建立的自訂模組會一併列入結果。

結果中的每個項目都包含模組的名稱、狀態和屬性。每個模組的屬性都不盡相同。

每個模組的名稱都包含自訂模組 ID。這個頁面上的許多gcloud作業都需要自訂模組 ID。

name: RESOURCE_LEVEL/RESOURCE_ID/eventThreatDetectionSettings/customModules/CUSTOM_MODULE_ID

停用自訂模組

控制台

請參閱「啟用或停用模組」。

停用沿用的自訂模組後,變更只會套用至目前的資源層級。位於父層級的原始自訂模組不會受到影響。舉例來說,如果您位於專案層級,並停用從父項資料夾沿用的自訂模組,則該自訂模組只會在專案層級停用。

您無法停用後代自訂模組。舉例來說,如果您位於機構檢視畫面,就無法停用在專案層級建立的自訂模組。

gcloud

gcloud alpha scc custom-modules etd update CUSTOM_MODULE_ID \
    --RESOURCE_FLAG=RESOURCE_ID \
    --enablement-state="DISABLED"

更改下列內容:

  • CUSTOM_MODULE_ID:Event Threat Detection 自訂模組的數值 ID,例如 1234567890查看自訂模組清單時,可以從相關自訂模組的「name」欄位取得數值 ID。
  • RESOURCE_FLAG:自訂模組所在父項資源的範圍,可以是 organizationfolderproject
  • RESOURCE_ID:父項資源的 ID,也就是機構 ID、資料夾 ID 或專案 ID。

啟用自訂模組

控制台

請參閱「啟用或停用模組」。

啟用繼承的自訂模組後,變更只會套用至目前的資源層級。位於父層級的原始自訂模組不會受到影響。舉例來說,如果您位於專案層級,並啟用從父項資料夾沿用的自訂模組,則該自訂模組只會在專案層級啟用。

您無法啟用後代自訂模組。舉例來說,如果您位於機構檢視畫面,就無法啟用在專案層級建立的自訂模組。

gcloud

gcloud alpha scc custom-modules etd update CUSTOM_MODULE_ID \
    --RESOURCE_FLAG=RESOURCE_ID \
    --enablement-state="ENABLED"

更改下列內容:

  • CUSTOM_MODULE_ID:Event Threat Detection 自訂模組的數字 ID,例如 1234567890查看自訂模組清單時,您可以從相關自訂模組的 name 欄位取得數字 ID。
  • RESOURCE_FLAG:自訂模組所在父項資源的範圍,可以是 organizationfolderproject
  • RESOURCE_ID:父項資源的 ID,也就是機構 ID、資料夾 ID 或專案 ID。

更新自訂模組的定義

本節說明如何透過Google Cloud 控制台和 gcloud CLI 更新自訂模組。每個 Event Threat Detection 自訂模組的大小上限為 6 MB。

您無法更新自訂模組的模組類型。

如要更新自訂模組,請按照下列步驟操作:

控制台

你只能編輯住宅自訂模組。舉例來說,如果您在機構檢視畫面中,就只能編輯在機構層級建立的自訂模組。

  1. 查看 Event Threat Detection 服務的模組。預先定義和自訂的模組會顯示在清單中。
  2. 找出要編輯的自訂模組。
  3. 針對該自訂模組,依序按一下「 Actions」(動作) >「Edit」(編輯)
  4. 視需要編輯自訂模組。
  5. 按一下 [儲存]

gcloud

如要更新模組,請執行下列指令,並加入更新後的模組範本 JSON:

 gcloud alpha scc custom-modules etd update CUSTOM_MODULE_ID \
     --RESOURCE_FLAG=RESOURCE_ID \
     --enablement-state="ENABLED" \
     --custom-config-from-file=PATH_TO_JSON_FILE

更改下列內容:

  • CUSTOM_MODULE_ID:Event Threat Detection 自訂模組的數字 ID,例如 1234567890查看自訂模組清單時,您可以從相關自訂模組的 name 欄位取得數字 ID。
  • RESOURCE_FLAG:自訂模組所在父項資源的範圍,可以是 organizationfolderproject
  • RESOURCE_ID:父項資源的 ID,也就是機構 ID、資料夾 ID 或專案 ID。
  • PATH_TO_JSON_FILE:包含自訂模組 JSON 定義的 JSON 檔案。

查看單一自訂模組的狀態

控制台

  1. 查看 Event Threat Detection 服務的模組。預先定義和自訂的模組會顯示在清單中。
  2. 在清單中找出自訂模組。

自訂模組的狀態會顯示在「狀態」欄中。

gcloud

 gcloud alpha scc custom-modules etd get CUSTOM_MODULE_ID \
     --RESOURCE_FLAG=RESOURCE_ID

更改下列內容:

  • CUSTOM_MODULE_ID:Event Threat Detection 自訂模組的數值 ID,例如 1234567890查看自訂模組清單時,可以從相關自訂模組的「name」欄位取得數值 ID。
  • RESOURCE_FLAG:自訂模組所在父項資源的範圍,可以是 organizationfolderproject
  • RESOURCE_ID:父項資源的 ID,也就是機構 ID、資料夾 ID 或專案 ID。

輸出內容會與下列內容相似,並包含模組的狀態和屬性。每個模組的屬性都不盡相同。

config:
metadata:
  description: DESCRIPTION
  recommendation: RECOMMENDATION
  severity: SEVERITY
regions:
- region: REGION
displayName: USER_SPECIFIED_DISPLAY_NAME
enablementState: STATUS
lastEditor: LAST_EDITOR
name: RESOURCE_LEVEL/RESOURCE_ID/eventThreatDetectionSettings/customModules/CUSTOM_MODULE_ID
type: MODULE_TYPE
updateTime: 'UPDATE_TIME'

刪除自訂模組

刪除 Event Threat Detection 自訂模組後,系統不會修改該模組產生的發現項目,這些項目仍會顯示在 Security Command Center 中。反之,如果刪除安全性狀態分析自訂模組,系統會將該模組產生的發現項目標示為無效。

已刪除的自訂模組無法復原。

控制台

您無法刪除繼承的自訂模組。舉例來說,如果您位於專案檢視畫面,就無法刪除在資料夾或機構層級建立的自訂模組。

如要透過 Google Cloud 控制台刪除自訂模組,請執行下列步驟:

  1. 查看 Event Threat Detection 服務的模組。預先定義和自訂的模組會顯示在清單中。
  2. 找出要刪除的自訂模組。
  3. 針對該自訂模組,依序點按 「動作」>「刪除」。系統會顯示訊息,提示您確認刪除動作。
  4. 點選「刪除」。

gcloud

 gcloud alpha scc custom-modules etd delete CUSTOM_MODULE_ID \
     --RESOURCE_FLAG=RESOURCE_ID

更改下列內容:

  • CUSTOM_MODULE_ID:Event Threat Detection 自訂模組的數值 ID,例如 1234567890查看自訂模組清單時,可以從相關自訂模組的「name」欄位取得數值 ID。
  • RESOURCE_FLAG:自訂模組所在父項資源的範圍,可以是 organizationfolderproject
  • RESOURCE_ID:父項資源的 ID,也就是機構 ID、資料夾 ID 或專案 ID。

複製自訂模組

複製自訂模組時,系統會將產生的自訂模組建立為您正在查看的資源常駐項目。舉例來說,如果您複製專案從機構繼承的自訂模組,則新的自訂模組會是專案中的住宅模組。

您無法複製後代自訂模組。

如要透過 Google Cloud 控制台複製自訂模組,請執行下列步驟:

  1. 查看 Event Threat Detection 服務的模組。預先定義和自訂的模組會顯示在清單中。
  2. 找出要複製的自訂模組。
  3. 在該自訂模組中,依序按一下「 Actions」(動作) >「Clone」(複製)
  4. 視需要編輯自訂模組。
  5. 點選「建立」

後續步驟