了解 Security Hub CSPM 中的自动化规则 - AWS Security Hub

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

了解 Security Hub CSPM 中的自动化规则

您可以使用自动化规则自动更新 Security Hub CSP AWS M 中的搜索结果。在提取结果时,Security Hub CSPM 可以应用各种规则操作,例如隐藏搜索结果、更改其严重性以及添加注释。此类规则操作会修改符合您指定的条件的调查发现。

自动化规则用例的示例如下:

  • 如果调查发现的资源 ID 指的是业务关键型资源,则将调查发现的严重性提升为 CRITICAL

  • 如果调查发现影响特定生产账户中的资源,则将调查发现的严重性从 HIGH 提升到 CRITICAL

  • 分配具有 SUPPRESSED 工作流程状态 INFORMATIONAL 严重性的特定调查发现。

您只能通过 Security Hub CSPM 管理员帐户创建和管理自动化规则。

规则适用于新的和更新后的调查发现。您可以从头开始创建自定义规则,也可以使用 Security Hub CSPM 提供的规则模板。您也可以从模板开始创建规则,然后根据需要对其进行修改。

定义规则条件和规则操作

通过 Security Hub CSPM 管理员帐户,您可以通过定义一个或多个规则标准以及一个或多个规则操作来创建自动化规则。当发现与定义的条件相匹配时,Security Hub CSPM 会对其应用规则操作。有关可用条件和操作的更多信息,请参阅 可用的规则条件和规则操作

Security Hub CSPM 目前为每个管理员帐户最多支持 100 条自动化规则。

Security Hub CSPM 管理员帐户还可以编辑、查看和删除自动化规则。规则适用于管理员账户及其所有成员账户中的匹配调查发现。通过提供成员帐户 IDs 作为规则标准,Security Hub CSPM 管理员还可以使用自动化规则来更新或隐藏特定成员帐户中的搜索结果。

自动化规则仅适用于其创建时 AWS 区域 所在的。要在多个区域中应用规则,管理员必须在每个区域中创建规则。这可以通过 Security Hub CSPM 控制台、Security Hub CSPM API 或。AWS CloudFormation 您也可以使用多区域部署脚本

可用的规则条件和规则操作

目前支持将以下 AWS 安全查找格式 (ASFF) 字段作为自动化规则的标准:

规则标准 筛选条件运算符 字段类型
AwsAccountId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
AwsAccountName CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
CompanyName CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
ComplianceAssociatedStandardsId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
ComplianceSecurityControlId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
ComplianceStatus Is, Is Not 选择:[FAILEDNOT_AVAILABLEPASSEDWARNING]
Confidence Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) 数字
CreatedAt Start, End, DateRange 日期(格式为 2022-12-01T21:47:39.269Z)
Criticality Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) 数字
Description CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
FirstObservedAt Start, End, DateRange 日期(格式为 2022-12-01T21:47:39.269Z)
GeneratorId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
Id CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
LastObservedAt Start, End, DateRange 日期(格式为 2022-12-01T21:47:39.269Z)
NoteText CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
NoteUpdatedAt Start, End, DateRange 日期(格式为 2022-12-01T21:47:39.269Z)
NoteUpdatedBy CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
ProductArn CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
ProductName CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
RecordState CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
RelatedFindingsId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
RelatedFindingsProductArn CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
ResourceApplicationArn CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
ResourceApplicationName CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
ResourceDetailsOther CONTAINS, EQUALS, NOT_CONTAINS, NOT_EQUALS Map
ResourceId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
ResourcePartition CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
ResourceRegion CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
ResourceTags CONTAINS, EQUALS, NOT_CONTAINS, NOT_EQUALS Map
ResourceType Is, Is Not 选择(请参阅 ASFF 支持的资源
SeverityLabel Is, Is Not 选择:[CRITICALHIGHMEDIUMLOWINFORMATIONAL]
SourceUrl CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
Title CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
Type CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
UpdatedAt Start, End, DateRange 日期(格式为 2022-12-01T21:47:39.269Z)
UserDefinedFields CONTAINS, EQUALS, NOT_CONTAINS, NOT_EQUALS Map
VerificationState CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 字符串
WorkflowStatus Is, Is Not 选择:[NEWNOTIFIEDRESOLVEDSUPPRESSED]

对于标记为字符串字段的条件,在同一字段上使用不同的筛选运算符会影响评估逻辑。有关更多信息,请参阅 Sec AWS ur StringFilterity Hub CSPM API 参考中的。

每个标准都支持可用于筛选匹配调查发现的最大值数。有关每个标准的限制,请参阅 Sec AWS urity Hub CSPM API 参考AutomationRulesFindingFilters中的。

目前支持以下 ASFF 字段作为自动化规则的操作:

  • Confidence

  • Criticality

  • Note

  • RelatedFindings

  • Severity

  • Types

  • UserDefinedFields

  • VerificationState

  • Workflow

有关特定 ASFF 字段的更多信息,请参阅AWS 安全结果格式 (ASFF) 语法。

提示

如果您希望 Security Hub CSPM 停止为特定控件生成调查结果,我们建议您禁用该控件,而不是使用自动化规则。当您禁用某个控件时,Security Hub CSPM 会停止对其运行安全检查并停止为其生成调查结果,因此您不会为该控件支付费用。对于符合定义条件的调查发现,我们建议使用自动化规则来更改特定 ASFF 字段的值。有关禁用控件的详细信息,请参阅 在 Security Hub CSPM 中禁用控件

自动化规则评估的调查发现

自动化规则会评估 Security Hub CSPM 在您创建规则生成或通过BatchImportFindings操作提取的新发现和更新结果。Security Hub CSPM 每 12-24 小时或在关联资源状态发生变化时更新控制结果。有关更多信息,请参阅 有关运行安全检查的计划

自动化规则会评估提供者提供的原始调查发现。提供商可以使用 Security Hub CSPM AP BatchImportFindings I 的操作提供新发现并更新现有发现。如果原始查找结果中不存在以下字段,Security Hub CSPM 会自动填充这些字段,然后在自动化规则的评估中使用填充的值:

  • AwsAccountName

  • CompanyName

  • ProductName

  • Resource.Tags

  • Workflow.Status

创建了一个或多个自动化规则后,如果您使用BatchUpdateFindings操作更新查找字段,则不会触发这些规则。如果您创建的自动化规则和进行的 BatchUpdateFindings 更新都会影响同一个调查发现字段,则上次更新会设置该字段的值。请参见以下示例:

  1. 您可以使用该BatchUpdateFindings操作将查找结果Workflow.Status字段的值从更改NEWNOTIFIED

  2. 如果您调用了 GetFindings,则 Workflow.Status 字段现在的值为 NOTIFIED

  3. 您创建了一条自动化规则,该规则将查找结果的Workflow.Status字段从更改NEWSUPPRESSED。(请记住,规则会忽略使用该BatchUpdateFindings操作所做的更新。)

  4. 查找结果提供者使用该BatchImportFindings操作来更新查找结果,并将查找结果Workflow.Status字段的值更改为NEW

  5. 如果您调用了 GetFindings,则 Workflow.Status 字段现在的值为 SUPPRESSED。之所以出现这种情况,是因为应用了自动化规则,而该规则是对调查结果采取的最后行动。

在 Security Hub CSPM 控制台上创建或编辑规则时,控制台会显示符合规则标准的测试结果。自动化规则会评估调查结果提供者发送的原始调查结果,而控制台测试版则反映结果的最终状态,就像在GetFindings操作响应中显示的那样(也就是说,在对调查结果应用规则操作或其他更新之后)。

规则顺序的工作原理

创建自动化规则时,您可以为每条规则分配一个顺序。这决定了 Security Hub CSPM 应用您的自动化规则的顺序,当多个规则与同一个查找结果或查找字段相关时,这变得非常重要。

当多个规则操作与同一个调查发现或调查发现字段相关时,规则顺序数值最高的规则将应用于最后并产生最终效果。

当你在 Security Hub CSPM 控制台中创建规则时,Security Hub CSPM 会根据规则的创建顺序自动分配规则顺序。最近创建的规则具有最低的规则顺序数值,因此首先适用。Security Hub CSPM 按升序应用后续规则。

当你通过 Security Hub CSPM API 创建规则时 AWS CLI,Security Hub CSPM 会首先应用数值最低的规则。RuleOrder然后它按升序应用后续规则。如果多个发现结果相同RuleOrder,则 Security Hub CSPM 会先为该UpdatedAt字段应用具有较早值的规则(也就是说,最近编辑的规则应用在最后)。

您可以随时修改规则顺序。

规则顺序示例

规则 A(规则顺序为 1

  • 规则 A 条件

    • ProductName = Security Hub CSPM

    • Resources.TypeS3 Bucket

    • Compliance.Status = FAILED

    • RecordStateNEW

    • Workflow.Status = ACTIVE

  • 规则 A 操作

    • Confidence 更新为 95

    • Severity 更新为 CRITICAL

规则 B(规则顺序为 2

  • 规则 B 条件

    • AwsAccountId = 123456789012

  • 规则 B 操作

    • Severity 更新为 INFORMATIONAL

规则 A 操作首先应用于符合规则 A 标准的 Security Hub CSPM 发现。接下来,规则 B 操作适用于具有指定账户 ID 的 Security Hub CSPM 发现。在此示例中,由于规则 B 最后适用,因此调查发现中来自指定账户 ID 的 Severity 的最终值为 INFORMATIONAL。根据规则 A 操作,在匹配调查发现中 Confidence 的最终值为 95