Security Hub 中的自動化規則 - AWS Security Hub

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Security Hub 中的自動化規則

注意

Security Hub 處於預覽版本,可能會有所變更。

使用 Security Hub,您可以自動化任務,例如更新問題清單詳細資訊和為第三方整合建立票證。

自動化規則和 AWS 區域

自動化規則可以在一個 中建立 AWS 區域 ,然後套用至所有設定的規則 AWS 區域。使用區域彙總時,您只能在主區域中建立規則。在主區域中建立規則時,您定義的任何規則都會套用至所有連結區域,除非您的規則條件排除特定連結區域。您必須為任何非連結區域的區域建立自動化規則。

規則動作和條件

Security Hub 中的自動化規則使用條件來參考 Security Hub 調查結果中的 OCSF 屬性。例如, 中 Criteria 參數支援的篩選條件CreateAutomationRuleV2符合 中 Criteria 參數支援的篩選條件GetFindingsV2。這表示自動化規則中使用的篩選條件可用來取得問題清單。Security Hub 支援下列自動化規則條件的 OCSF 欄位。

OCSF 欄位 主控台篩選條件值 篩選條件運算子 欄位類型
activity_name Activity name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
class_name Finding class name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.account.uid Account ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.provider Cloud provider EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.region Region EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
comment Comment EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.assessments.category Assessment category EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.assessments.name Assessment name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.control Security control ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.standards Applicable standards EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.status Compliance status EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.desc Finding description EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events.product.uid Related findings product ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events.title Related findings title EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events.uid Related findings ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.src_url Source URL EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.types Finding type EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.uid Provider ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.feature.uid Generator ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.name Product name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.uid Product ARN EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.vendor_name Company name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.uid Finding ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
remediation.desc Recommendation text EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
remediation.references Recommendation URL EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.cloud_partition Resource partition EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.name Resource name EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.region Resource region EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.type Resource type EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.uid Resource ID EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
severity Severity EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
status Status EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
vulnerabilities.fix_coverage Software vulnerabilities coverage EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.first_seen_time_dt First observed at Start, End, DateRange Date (formatted as 2022-12-01T21:47:39.269Z)
finding_info.last_seen_time_dt Last observed at Start, End, DateRange Date (formatted as 2022-12-01T21:47:39.269Z)
finding_info.modified_time_dt Updated at Start, End, DateRange Date (formatted as 2022-12-01T21:47:39.269Z)
compliance.assessments.meets_criteria Compliance assessment meets criteria True, False Boolean
vulnerabilities.is_exploit_available Software vulnerabilities with exploit available True, False Boolean
vulnerabilities.is_fix_available Software vulnerabilities with fix available True, False Boolean
activity_id Activity ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
compliance.status_id Compliance status ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
confidence_score Confidence Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
severity_id Severity ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
status_id Status ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
finding_info.related_events_count Related findings count Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
resources.tags Resource tags EQUALS Map

對於標記為字串欄位的條件,在相同欄位上使用不同的篩選條件運算子會影響評估邏輯。如需詳細資訊,請參閱 Security Hub API 參考中的 StringFilter

每個條件都支援可用於篩選相符問題清單的最大值。如需每個條件的限制,請參閱 Security Hub API 參考中的 OcsfFindingFilters

可更新的 OCSF 欄位

以下是可以使用自動化規則更新的 OCSF 欄位。

  • Comment

  • SeverityId

  • StatusId

自動化規則如何評估問題清單

自動化規則會評估 Security Hub 在您建立規則後產生或擷取的新問題清單和更新的問題清單。

自動化規則會評估原始供應商提供的調查結果。供應商可以透過與 Security Hub 的整合,提供新的問題清單並更新現有的問題清單。當您在透過 BatchUpdateFindingsV2操作建立規則之後更新問題清單欄位時,不會觸發規則。如果您建立自動化規則並進行會影響相同調查結果欄位的BatchUpdateFindingsV2更新,則上次更新會設定該欄位的值。採用下列範例:

您可以使用 將問題清單Status的欄位從 BatchUpdateFindingsV2更新NewIn Process。如果您呼叫 GetFindingsV2Status 欄位現在的值為 In Process。您可以建立自動化規則,將調查結果Status的欄位從 變更為 NewSuppressed(請回想規則忽略使用 所做的更新BatchUpdateFindingsV2)。問題清單提供者會更新問題清單,並將 Status 欄位變更為 New。如果您呼叫 GetFindingsV2Status 欄位現在的值為 ,Suppressed因為已套用自動化規則,而規則是對調查結果採取的最後動作。

當您在 Security Hub 主控台上建立或編輯規則時,主控台會顯示符合規則條件的問題清單預覽。雖然自動化規則會評估問題清單提供者傳送的原始問題清單,但主控台預覽會以最終狀態反映問題清單,如同 API GetFindingsV2操作的回應所示 (也就是套用規則動作或其他更新至問題清單之後)。

自動化規則的排序方式

每個自動化規則都會指派一個規則順序。這決定 Security Hub 套用自動化規則的順序,並在多個規則與相同的調查結果或調查結果欄位相關時變得重要。

當多個規則動作與相同的調查結果或調查結果欄位相關時,具有規則順序最高數值的規則會最後套用,並具有最終效果。

當您在 Security Hub 主控台中建立規則時,Security Hub 會根據規則建立的順序自動指派規則順序。您建立的第一個規則會有 1 的規則順序。當存在多個規則時,每個後續建立的規則將具有規則順序的下一個最高可用數值。

當您透過 CreateAutomationRuleV2 API 或 建立規則時 AWS CLI,Security Hub 會先套用具有最低數值的規則RuleOrder。然後,它會以遞增順序套用後續規則。如果多個問題清單具有相同的 RuleOrder,Security Hub 會先為 UpdatedAt 欄位套用具有較早值的規則 (也就是最近編輯的規則最後套用)。

您可以隨時修改規則順序。

規則順序範例

規則 A (規則順序為 1)

  • 規則 A 條件

    • ProductName = Security Hub CSPM

    • Resources.TypeS3 Bucket

    • Compliance.Status = FAILED

    • RecordStateNEW

    • Workflow.Status = ACTIVE

  • 規則 A 動作

    • 更新Confidence95

    • 更新SeverityCRITICAL

    • 更新CommentThis needs attention

規則 B (規則順序為 2)

  • 規則 B 條件

    • AwsAccountId = 123456789012

  • 規則 B 動作

    • 更新SeverityINFORMATIONAL

首先,規則 A 動作適用於符合規則 A 條件的 Security Hub 調查結果。然後,規則 B 動作會套用到具有指定帳戶 ID 的 Security Hub 調查結果。在此範例中,由於規則 B 最後套用,因此來自指定帳戶 ID 之調查結果Severity中的 結束值為 INFORMATIONAL。根據規則 A 動作,相符調查結果Confidence中的 結束值為 95

第三方整合

您可以使用自動化規則來建立與 Jira Cloud和 整合的票證ServiceNow ITSM。如需詳細資訊,請參閱建立第三方整合的規則

自動化規則無法運作的案例

以下是自動化規則無法運作的情況。

  • 獨立帳戶會成為具有委派管理員的組織成員

  • 組織管理帳戶會移除委派的管理員,並設定新的委派管理員

  • 當取消連結的區域設為連結區域時,委派管理員或獨立帳戶的彙整工具組態會變更

在這些情況下,組織的成員可以使用 AWS CLI 或 APIs中的清單、取得和刪除操作來管理自動化規則。

當取消連結的區域成為連結區域時,委派的管理員或獨立帳戶可以使用清單、取得和刪除操作來管理連結區域中的資源。