本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
自动化规则
自动化规则可用于自动更新 Security Hub 中的调查发现。提取调查发现时,Security Hub 可以应用各种规则操作,例如隐藏调查发现、更改其严重性以及在调查发现中添加注释。当调查发现符合您的指定标准(例如调查发现与哪个资源或账户 ID 或其标题相匹配时),此类规则操作就会生效。
自动化规则的使用案例示例包括:
-
如果调查发现的资源 ID 指的是业务关键型资源,则将调查发现的严重性提升为
CRITICAL
。 -
如果调查发现影响特定生产账户中的资源,则将调查发现的严重性从
HIGH
提升到CRITICAL
。 -
分配具有
SUPPRESSED
工作流程状态INFORMATIONAL
严重性的特定调查发现。
自动化规则可用于更新 Amazon 安全查找格式 (ASFF) 中的选定查找字段。规则适用于新的和更新后的调查发现。
您可以从头开始创建自定义规则,也可以使用 Security Hub 提供的规则模板。如果您使用规则模板,则可以根据用例的需要对其进行修改。
自动化规则的工作原理
Security Hub 管理员可以通过定义规则标准来创建自动化规则。当调查发现与定义的条件相匹配时,Security Hub 会对其应用规则操作。有关可用条件和操作的更多信息,请参阅 可用的规则条件和规则操作。
只有 Security Hub 管理员账户可以创建、删除、编辑和查看自动化规则。管理员创建的规则适用于管理员账户和所有成员账户中的调查发现。通过提供成员账户 ID 作为规则标准,Security Hub 管理员还可以使用自动化规则来更新特定成员账户中的调查发现或对调查发现采取行动。
自动化规则仅适用于其创建时 Amazon Web Services 区域 所在的。要在多个区域中应用规则,委托管理员必须在每个区域中创建规则。这可以通过 Security Hub 控制台、Security Hub API 或 Amazon CloudFormation 完成。您也可以使用多区域部署脚本
要获取自动化规则改变您的调查发现的历史记录,请参阅 查看发现历史记录。
重要
自动化规则适用于 Security Hub 在您创建规则后生成或提取的新的和更新后的调查发现。Security Hub 每 12 至 24 小时或在关联资源状态发生变化时更新控件调查发现。有关更多信息,请参阅运行安全检查的计划。自动化规则评估提供商提供的原始查找字段。通过BatchUpdateFindings操作创建规则后,当您更新查找字段时,不会触发规则。
Security Hub 目前最多支持管理员账户的 100 条自动化规则。
规则顺序
创建自动化规则时,您可以为每条规则分配一个顺序。这决定了 Security Hub 应用您的自动化规则的顺序,当多个规则与同一个调查发现或调查发现字段相关时,这变得非常重要。
当多个规则操作与同一个调查发现或调查发现字段相关时,规则顺序数值最高的规则将应用于最后并产生最终效果。
在 Security Hub 控制台中创建规则时,Security Hub 会根据规则的创建顺序自动分配规则顺序。最近创建的规则具有最低的规则顺序数值,因此首先适用。Security Hub 按升序应用后续规则。
当您通过 Security Hub API 或创建规则时 Amazon 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
。
可用的规则条件和规则操作
目前支持以下 ASFF 字段作为自动化规则的条件。
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 ] |
目前支持以下 ASFF 字段作为自动化规则的操作:
-
Confidence
-
Criticality
-
Note
-
RelatedFindings
-
Severity
-
Types
-
UserDefinedFields
-
VerificationState
-
Workflow
有关特定 ASFF 字段的更多信息,请参阅 Amazon 安全调查发现格式(ASFF)语法和 ASFF 示例。
提示
如果您希望 Security Hub 停止为特定控件生成调查发现,我们建议您禁用该控件,而不是使用自动化规则。当您禁用某个控件时,Security Hub 会停止对其运行安全检查,并停止为其生成调查发现,因此您不会为该控件支付费用。对于符合定义条件的调查发现,我们建议使用自动化规则来更改特定 ASFF 字段的值。有关禁用控件的详细信息,请参阅 在所有标准中启用和禁用控件。
创建自动化规则
您可以从头开始创建自定义规则,也可以使用预先填充的 Security Hub 规则模板。
您一次只能创建一条自动化规则。要创建多个自动化规则,请多次遵循控制台过程,或者使用所需的参数多次调用 API 或命令。
您必须在您希望规则应用于调查发现的每个区域和账户中创建自动化规则。
当您在 Security Hub 控制台中创建自动化规则时,Security Hub 会显示您的规则所适用的调查发现预览。如果您的规则条件包含“CONTAINS”或“NOT_CONTAINS”筛选条件,则当前不支持预览。您可以为映射和字符串字段类型选择这些筛选条件。
重要
Amazon 建议您不要在规则名称、描述或其他字段中包含个人身份、机密或敏感信息。
使用模板创建规则(仅限控制台)
目前,只有 Security Hub 控制台支持规则模板。这些模板反映了自动化规则的常见用例,可以帮助您开始使用该功能。完成以下步骤以在控制台中的模板创建自动化规则。
创建自定义规则
选择您的首选方式,完成以下步骤以创建自定义自动化规则。
查看自动化规则
选择您的首选方法,然后按照步骤查看您的自动化规则和每条规则的详细信息。
编辑自动化规则
当您编辑自动化规则时,更改将应用于规则编辑后 Security Hub 生成或提取的新增的或更新后的调查发现。
选择您的首选方式,按照步骤编辑自动化规则的内容。您只需一个请求即可编辑一条或多条规则。有关编辑规则顺序的说明,请参阅 编辑规则顺序。
编辑规则顺序
在某些情况下,您可能希望保持规则条件和操作不变,但要更改 Security Hub 应用自动化规则的顺序。选择您喜欢的方法,然后按照步骤编辑规则顺序。
删除自动化规则
当您删除自动化规则时,Security Hub 会将其从您的账户中删除,并且不再将该规则应用于调查发现。
选择您的首选方法,然后按照步骤删除自动化规则。您可以在单个请求中删除一个或多个规则。
提示
除了删除之外,您还可以禁用规则。这会保留该规则以备将来使用,但是在您启用该规则之前,Security Hub 不会将该规则应用于任何匹配的调查发现。
自动化规则示例
本节包括常见用例的一些自动化规则示例。这些示例与 Security Hub 控制台中的规则模板相对应。
当特定资源(例如 S3 存储桶)面临风险时,将严重性提升为“严重”
在本示例中,当 ResourceId
在调查发现中的对象是特定的 Amazon Simple Storage Service(Amazon S3)存储桶时,匹配规则条件。规则操作是将匹配调查发现的严重性更改为 CRITICAL
。您可以修改此模板以应用于其他资源。
API 请求示例:
{ "IsTerminal":
true
, "RuleName": "Elevate severity of findings that relate to important resources
", "RuleOrder":1
, "RuleStatus": "ENABLED
", "Description": "Elevate finding severity to
", "Criteria": { "ProductName": [{ "Value": "CRITICAL
when specific resource such as an S3 bucket is at riskSecurity Hub
", "Comparison": "EQUALS
" }], "ComplianceStatus": [{ "Value": "FAILED
", "Comparison": "EQUALS
" }], "RecordState": [{ "Value": "ACTIVE
", "Comparison": "EQUALS
" }], "WorkflowStatus": [{ "Value": "NEW
", "Comparison": "EQUALS
" }], "ResourceId": [{ "Value": "arn:aws:s3:::examplebucket/developers/design_info.doc
", "Comparison": "EQUALS
" }] }, "Actions": [{ "Type": "FINDING_FIELDS_UPDATE", "FindingFieldsUpdate": { "Severity": { "Label": "CRITICAL
" }, "Note": { "Text": "This is a critical resource. Please review ASAP.
", "UpdatedBy": "sechub-automation
" } } }] }
示例 CLI 命令:
aws securityhub create-automation-rule \ --is-terminal \ --rule-name
"
\ --rule-orderElevate severity of findings that relate to important resources
"\ --rule-status
1
"
\ --descriptionENABLED
""
\ --criteria '{ "ProductName": [{ "Value":Elevate finding severity to
"CRITICAL
when specific resource such as an S3 bucket is at risk"
, "Comparison":Security Hub
""
}], "ComplianceStatus": [{ "Value":EQUALS
""
, "Comparison":FAILED
""
}], "RecordState": [{ "Value":EQUALS
""
, "Comparison":ACTIVE
""
}], "WorkflowStatus": [{ "Value":EQUALS
""
, "Comparison":NEW
""
}], "ResourceId": [{ "Value":EQUALS
""arn:aws:
, "Comparison":s3:::examplebucket/developers/design_info.doc
""
}] }' \ --actions '[{ "Type":EQUALS
""FINDING_FIELDS_UPDATE"
, "FindingFieldsUpdate": { "Severity": { "Label":"
}, "Note": { "Text":CRITICAL
""
, "UpdatedBy":This is a critical resource. Please review ASAP.
""
} } }]' \ --regionsechub-automation
"
us-east-1
提高与生产账户中资源相关调查发现的严重性
在此示例中,当在特定的生产账户中生成 HIGH
严重级别的调查发现时,匹配规则条件。规则操作是将匹配调查发现的严重性更改为 CRITICAL
。
API 请求示例:
{ "IsTerminal":
false
, "RuleName": "Elevate severity for production accounts
", "RuleOrder":1
, "RuleStatus": "ENABLED
", "Description": "Elevate finding severity from
", "Criteria": { "ProductName": [{ "Value": "HIGH
toCRITICAL
for findings that relate to resources in specific production accountsSecurity Hub
", "Comparison": "EQUALS
" }], "ComplianceStatus": [{ "Value": "FAILED
", "Comparison": "EQUALS
" }], "RecordState": [{ "Value": "ACTIVE
", "Comparison": "EQUALS
" }], "WorkflowStatus": [{ "Value": "NEW
", "Comparison": "EQUALS
" }], "SeverityLabel": [{ "Value": "HIGH
", "Comparison": "EQUALS
" }], "AwsAccountId": [ { "Value": "111122223333
", "Comparison": "EQUALS
" }, { "Value": "123456789012
", "Comparison": "EQUALS
" }] }, "Actions": [{ "Type": "FINDING_FIELDS_UPDATE", "FindingFieldsUpdate": { "Severity": { "Label": "CRITICAL
" }, "Note": { "Text": "A resource in production accounts is at risk. Please review ASAP.
", "UpdatedBy": "sechub-automation
" } } }] }
示例 CLI 命令:
aws securityhub create-automation-rule \ --no-is-terminal \ --rule-name
"
\ --rule-orderElevate severity of findings that relate to resources in production accounts
"\ --rule-status
1
"
\ --descriptionENABLED
""
\ --criteria '{ "ProductName": [{ "Value":Elevate finding severity from
"HIGH
toCRITICAL
for findings that relate to resources in specific production accounts"
, "Comparison":Security Hub
""
}], "ComplianceStatus": [{ "Value":EQUALS
""
, "Comparison":FAILED
""
}], "RecordState": [{ "Value":EQUALS
""
, "Comparison":ACTIVE
""
}], "SeverityLabel": [{ "Value":EQUALS
""
, "Comparison":HIGH
""
}], "AwsAccountId": [ { "Value":EQUALS
""
, "Comparison":111122223333
""
}, { "Value":EQUALS
""
, "Comparison":123456789012
""
}] }' \ --actions '[{ "Type":EQUALS
""FINDING_FIELDS_UPDATE"
, "FindingFieldsUpdate": { "Severity": { "Label":"
}, "Note": { "Text":CRITICAL
""
, "UpdatedBy":A resource in production accounts is at risk. Please review ASAP.
""
} } }]' \ --regionsechub-automation
"
us-east-1
隐藏信息性结果
在此示例中,与从亚马逊发送到 Security Hub 的INFORMATIONAL
严重性调查结果的规则标准相匹配 GuardDuty。规则操作是将匹配调查发现的工作流程状态更改为 SUPPRESSED
。
API 请求示例:
{ "IsTerminal":
false
, "RuleName": "Suppress informational findings
", "RuleOrder":1
, "RuleStatus": "ENABLED
", "Description": "Suppress GuardDuty findings with
", "Criteria": { "ProductName": [{ "Value": "INFORMATIONAL
severityGuardDuty
", "Comparison": "EQUALS
" }], "RecordState": [{ "Value": "ACTIVE
", "Comparison": "EQUALS
" }], "WorkflowStatus": [{ "Value": "NEW
", "Comparison": "EQUALS
" }], "SeverityLabel": [{ "Value": "INFORMATIONAL
", "Comparison": "EQUALS
" }] }, "Actions": [{ "Type": "FINDING_FIELDS_UPDATE", "FindingFieldsUpdate": { "Workflow": { "Status": "SUPPRESSED
" }, "Note": { "Text": "Automatically suppress GuardDuty findings with
", "UpdatedBy": "INFORMATIONAL
severitysechub-automation
" } } }] }
示例 CLI 命令:
aws securityhub create-automation-rule \ --no-is-terminal \ --rule-name
"
\ --rule-orderSuppress informational findings
"\ --rule-status
1
"
\ --descriptionENABLED
""
\ --criteria '{ "ProductName": [{ "Value":Suppress GuardDuty findings with
"INFORMATIONAL
severity"
, "Comparison":GuardDuty
""
}], "ComplianceStatus": [{ "Value":EQUALS
""
, "Comparison":FAILED
""
}], "RecordState": [{ "Value":EQUALS
""
, "Comparison":ACTIVE
""
}], "WorkflowStatus": [{ "Value":EQUALS
""
, "Comparison":NEW
""
}], "SeverityLabel": [{ "Value":EQUALS
""
, "Comparison":INFORMATIONAL
""
}] }' \ --actions '[{ "Type":EQUALS
""FINDING_FIELDS_UPDATE"
, "FindingFieldsUpdate": { "Workflow": { "Status":"
}, "Note": { "Text":SUPPRESSED
""
, "UpdatedBy":Automatically suppress GuardDuty findings with
"INFORMATIONAL
severity"
} } }]' \ --regionsechub-automation
"
us-east-1