本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解 Security Hub 中的自动化规则
自动化规则可用于自动更新 AWS Security Hub中的调查发现。提取调查发现时,Security Hub 可以应用各种规则操作,例如隐藏调查发现、更改其严重性以及添加注释。此类规则操作会修改符合您指定的条件的调查发现。
自动化规则用例的示例如下:
-
如果调查发现的资源 ID 指的是业务关键型资源,则将调查发现的严重性提升为
CRITICAL
。 -
如果调查发现影响特定生产账户中的资源,则将调查发现的严重性从
HIGH
提升到CRITICAL
。 -
分配具有
SUPPRESSED
工作流程状态INFORMATIONAL
严重性的特定调查发现。
您只能通过 Security Hub 管理员账户创建和管理自动化规则。
规则适用于新的和更新后的调查发现。您可以从头开始创建自定义规则,也可以使用 Security Hub 提供的规则模板。您也可以从模板开始创建规则,然后根据需要对其进行修改。
定义规则条件和规则操作
通过 Security Hub 管理员账户,您可以通过定义一个或多个规则条件以及一个或多个规则操作,以此创建自动化规则。当调查发现与定义的条件相匹配时,Security Hub 会对其应用规则操作。有关可用条件和操作的更多信息,请参阅 可用的规则条件和规则操作。
对于每个管理员账户,Security Hub 目前最多支持 100 条自动化规则。
Security Hub 管理员账户还可以编辑、查看和删除自动化规则。规则适用于管理员账户及其所有成员账户中的匹配调查发现。通过提供成员帐户IDs作为规则标准,Security Hub 管理员还可以使用自动化规则来更新或隐藏特定成员帐户中的搜索结果。
自动化规则仅适用于其创建时 AWS 区域 所在的。要在多个区域中应用规则,管理员必须在每个区域中创建规则。这可以通过 Security Hub 控制台、Security Hub API 或AWS CloudFormation。您也可以使用多区域部署脚本
可用的规则条件和规则操作
目前支持以下 AWS 安全查找格式 (ASFF) 字段作为自动化规则的标准:
规则标准 | 筛选条件运算符 | 字段类型 |
---|---|---|
AwsAccountId
|
CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS,
PREFIX_NOT_EQUALS
|
String |
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
|
String |
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
|
String |
FirstObservedAt
|
Start, End, DateRange
|
日期(格式为 2022-12-01T21:47:39.269Z) |
GeneratorId
|
CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS,
PREFIX_NOT_EQUALS
|
String |
Id
|
CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS,
PREFIX_NOT_EQUALS
|
String |
LastObservedAt
|
Start, End, DateRange
|
日期(格式为 2022-12-01T21:47:39.269Z) |
NoteText
|
CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS,
PREFIX_NOT_EQUALS
|
String |
NoteUpdatedAt
|
Start, End, DateRange
|
日期(格式为 2022-12-01T21:47:39.269Z) |
NoteUpdatedBy
|
CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS,
PREFIX_NOT_EQUALS
|
String |
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
|
String |
ResourceDetailsOther
|
CONTAINS, EQUALS, NOT_CONTAINS, NOT_EQUALS
|
Map |
ResourceId
|
CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS,
PREFIX_NOT_EQUALS
|
String |
ResourcePartition
|
CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS,
PREFIX_NOT_EQUALS
|
字符串 |
ResourceRegion
|
CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS,
PREFIX_NOT_EQUALS
|
String |
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
|
String |
Title
|
CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS,
PREFIX_NOT_EQUALS
|
字符串 |
Type
|
CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS,
PREFIX_NOT_EQUALS
|
String |
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
|
String |
WorkflowStatus
|
Is, Is Not
|
选择:[NEW 、NOTIFIED 、RESOLVED 、SUPPRESSED ] |
对于标记为字符串字段的条件,在同一字段上使用不同的筛选运算符会影响评估逻辑。有关更多信息,请参阅 StringFilter在AWS Security Hub API参考资料中。
每个标准都支持可用于筛选匹配调查发现的最大值数。有关每个标准的限制,请参见 AutomationRulesFindingFilters在AWS Security Hub API参考资料中。
目前支持将以下ASFF字段作为自动化规则的操作:
-
Confidence
-
Criticality
-
Note
-
RelatedFindings
-
Severity
-
Types
-
UserDefinedFields
-
VerificationState
-
Workflow
有关特定ASFF字段的更多信息,请参阅AWS 安全调查结果格式 (ASFF) 语法。
提示
如果您希望 Security Hub 停止为特定控件生成调查发现,我们建议您禁用该控件,而不是使用自动化规则。当您禁用某个控件时,Security Hub 会停止对其运行安全检查,并停止为其生成调查发现,因此您不会为该控件支付费用。对于符合定义标准的结果,我们建议使用自动化规则来更改特定ASFF字段的值。有关禁用控件的详细信息,请参阅 在 Security Hub 中禁用控件。
自动化规则评估的调查发现
自动化规则会评估 Security Hub 通过生成或提取的新发现和更新结果 BatchImportFindings在创建规则之后进行操作。Security Hub 每 12 至 24 小时或在关联资源状态发生变化时更新控件调查发现。有关更多信息,请参阅运行安全检查的计划。
自动化规则会评估提供者提供的原始调查发现。提供商可以通过 Security Hub 的BatchImportFindings
运营提供新发现并更新现有发现API。当您在创建规则后通过更新查找字段时,不会触发规则 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 控制台中创建或编辑规则时,控制台会显示符合规则条件的调查发现的预览。虽然自动化规则会评估调查结果提供者发送的原始调查结果,但控制台预览会反映调查结果的最终状态,就像在对调查结果的响应中显示的那样 GetFindingsAPI操作(即在对调查结果应用规则操作或其他更新之后)。
规则顺序的工作原理
创建自动化规则时,您可以为每条规则分配一个顺序。这决定了 Security Hub 应用您的自动化规则的顺序,当多个规则与同一个调查发现或调查发现字段相关时,这变得非常重要。
当多个规则操作与同一个调查发现或调查发现字段相关时,规则顺序数值最高的规则将应用于最后并产生最终效果。
在 Security Hub 控制台中创建规则时,Security Hub 会根据规则的创建顺序自动分配规则顺序。最近创建的规则具有最低的规则顺序数值,因此首先适用。Security Hub 按升序应用后续规则。
当您通过 Security Hub API 或创建规则时 AWS CLI,Security Hub 会RuleOrder
首先应用数值最低的规则。然后它按升序应用后续规则。如果多个调查发现有相同的 RuleOrder
,则 Security Hub 会先为 UpdatedAt
字段应用具有较早值的规则(也就是说,最近编辑的规则应用在最后)。
您可以随时修改规则顺序。
规则顺序示例:
规则 A(规则顺序为 1
):
-
规则 A 条件
-
ProductName
=Security Hub
-
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 结果。接下来,规则 B 操作将应用于具有指定账户 ID 的 Security Hub 结果。在此示例中,由于规则 B 最后适用,因此调查发现中来自指定账户 ID 的 Severity
的最终值为 INFORMATIONAL
。根据规则 A 操作,在匹配调查发现中 Confidence
的最终值为 95
。