了解 Security Hub CSPM 中的自动化规则
您可以使用自动化规则自动更新 Amazon Security Hub CSPM 中的调查发现。提取调查发现时,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 管理员账户还可以编辑、查看和删除自动化规则。规则适用于管理员账户及其所有成员账户中的匹配调查发现。通过提供成员账户 ID 作为规则条件,Security Hub CSPM 管理员还可以使用自动化规则更新或隐藏特定成员账户中的调查发现。
自动化规则仅适用于其创建该规则时其所在的 Amazon Web Services 区域。要在多个区域中应用规则,管理员必须在每个区域中创建规则。这可以通过 Security Hub CSPM 控制台、Security Hub CSPM API 或 Amazon CloudFormation 完成。您也可以使用多区域部署脚本
可用的规则条件和规则操作
目前支持以下 Amazon 安全调查发现格式(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
|
选择:[FAILED、NOT_AVAILABLE、PASSED、WARNING] |
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
|
选择:[CRITICAL、HIGH、MEDIUM、LOW、INFORMATIONAL] |
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
|
选择:[NEW、NOTIFIED、RESOLVED、SUPPRESSED] |
对于标记为字符串字段的条件,在同一字段上使用不同的筛选运算符会影响评估逻辑。有关更多信息,请参阅《Amazon Security Hub CSPM API 参考》中的 StringFilter。
每个标准都支持可用于筛选匹配调查发现的最大值数。有关每个标准的限制,请参阅《Amazon Security Hub CSPM API 参考》中的 AutomationRulesFindingFilters。
目前支持以下 ASFF 字段作为自动化规则的操作:
-
Confidence -
Criticality -
Note -
RelatedFindings -
Severity -
Types -
UserDefinedFields -
VerificationState -
Workflow
有关特定 ASFF 字段的更多信息,请参阅 Amazon 安全调查发现格式 (ASFF) 语法。
提示
如果您希望 Security Hub CSPM 停止为特定控件生成调查发现,我们建议您禁用该控件,而不是使用自动化规则。当您禁用某个控件时,Security Hub CSPM 会停止对其运行安全检查,并停止为其生成调查发现,因此您不会为该控件支付费用。对于符合定义条件的调查发现,我们建议使用自动化规则来更改特定 ASFF 字段的值。有关禁用控件的详细信息,请参阅 在 Security Hub CSPM 中禁用控件。
自动化规则评估的调查发现
在您创建规则后,自动化规则会评估 Security Hub CSPM 通过 BatchImportFindings 操作生成或提取的新调查发现和更新的调查发现。Security Hub CSPM 每 12 至 24 小时或在关联资源状态发生变化时更新控件调查发现。有关更多信息,请参阅 有关运行安全检查的计划。
自动化规则会评估提供者提供的原始调查发现。提供者可以使用 Security Hub CSPM API 的 BatchImportFindings 操作来提供新的调查发现并更新现有调查发现。如果原始调查发现中不存在以下字段,Security Hub CSPM 会自动填充这些字段,然后在自动化规则的评估中使用填充的值:
AwsAccountNameCompanyNameProductNameResource.TagsWorkflow.Status
创建了一个或多个自动化规则后,如果您使用 BatchUpdateFindings 操作更新调查发现字段,则不会触发这些规则。如果您创建的自动化规则和进行的 BatchUpdateFindings 更新都会影响同一个调查发现字段,则上次更新会设置该字段的值。请参见以下示例:
您可以使用
BatchUpdateFindings操作将调查发现Workflow.Status字段的值从NEW更改为NOTIFIED。如果您调用了
GetFindings,则Workflow.Status字段现在的值为NOTIFIED。您创建了一条自动化规则,该规则会将调查发现的
Workflow.Status字段从NEW更改为SUPPRESSED。(请记住,规则会忽略使用BatchUpdateFindings操作所做的更新。)调查发现提供者使用
BatchImportFindings操作来更新调查发现,并将调查发现Workflow.Status字段的值更改为NEW。如果您调用了
GetFindings,则Workflow.Status字段现在的值为SUPPRESSED。这是因为应用了自动化规则,而该规则是针对调查发现采取的最后一个操作。
在 Security Hub CSPM 控制台中创建或编辑规则时,控制台会显示与规则条件匹配的调查发现的测试版。虽然自动化规则会评估调查发现提供者发送的原始调查发现,但控制台测试版会反映最终状态的调查发现,就像它们在响应 GetFindings 操作时所显示的那样(即在对调查发现应用规则操作或其他更新之后)。
规则顺序的工作原理
创建自动化规则时,您可以为每条规则分配一个顺序。这决定了 Security Hub CSPM 应用您的自动化规则的顺序,当多个规则与同一个调查发现或调查发现字段相关时,这变得非常重要。
当多个规则操作与同一个调查发现或调查发现字段相关时,规则顺序数值最高的规则将应用于最后并产生最终效果。
在 Security Hub CSPM 控制台中创建规则时,Security Hub CSPM 会根据规则的创建顺序自动分配规则顺序。最近创建的规则具有最低的规则顺序数值,因此首先适用。Security Hub CSPM 按升序应用后续规则。
当您通过 Security Hub CSPM API 或 Amazon CLI 创建规则时,Security Hub CSPM 会首先应用 RuleOrder 数值最低的规则。然后它按升序应用后续规则。如果多个调查发现具有相同的 RuleOrder,则 Security Hub CSPM 会先为 UpdatedAt 字段应用具有较早值的规则(也就是说,最近编辑的规则应用在最后)。
您可以随时修改规则顺序。
规则顺序示例:
规则 A(规则顺序为 1):
-
规则 A 条件
-
ProductName=Security Hub CSPM -
Resources.Type为:S3 Bucket -
Compliance.Status=FAILED -
RecordState为:NEW -
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。