翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Security Hub の自動化ルールについて
自動化ルールを使用すると、 AWS Security Hubの検出結果を自動的に更新できます。検出結果が取り込まれると、Security Hub は検出結果の非表示、重要度の変更、メモの追加など、さまざまなルールアクションを適用できます。このようなルールアクションは、指定した条件に一致する検出結果を変更します。
自動化ルールの使用例には、次のようなものがあります。
-
検出結果のリソース ID がビジネス上重要なリソースを参照している場合、検出結果の重大度を
CRITICAL
に上げます。 -
検出結果が特定の本番稼働用アカウントのリソースに影響する場合は、検出結果の重要度を
HIGH
からCRITICAL
に引き上げます。 -
INFORMATIONAL
重要度を持つSUPPRESSED
ワークフローステータスの特定の検出結果を割り当てます。
Security Hub 管理者アカウントからのみ自動化ルールを作成および管理できます。
ルールは、新しい検出結果と更新された検出結果の両方に適用されます。カスタムルールを最初から作成することも、Security Hub が提供するルールテンプレートを使用することもできます。テンプレートから開始し、必要に応じて変更することもできます。
ルール基準とルールアクションの定義
Security Hub 管理者アカウントから、1 つ以上のルール条件 と 1 つ以上のルールアクションを定義することで、自動化ルールを作成できます。検出結果が定義済みの条件と一致すると、Security Hub はその結果にルールアクションを適用します。使用可能な条件とアクションの詳細については、「使用可能なルール基準とルールアクション」を参照してください。
Security Hub は現在、管理者アカウントごとに最大 100 の自動化ルールをサポートしています。
Security Hub 管理者アカウントは、自動化ルールを編集、表示、削除できます。ルールは、管理者アカウントとすべてのメンバーアカウントの一致する検出結果に適用されます。ルール基準IDsとしてメンバーアカウントを指定することで、Security Hub 管理者は自動化ルールを使用して、特定のメンバーアカウントの結果を更新または抑制することもできます。
自動化ルールは、それが作成された AWS リージョン にのみ適用されます。複数のリージョンにルールを適用するには、管理者がリージョンごとにルールを作成する必要があります。これは、Security Hub コンソール、Security Hub API、または を使用して実行できますAWS CloudFormation。また、マルチリージョンデプロイスクリプト
使用可能なルール基準とルールアクション
現在、自動化ルールの基準として、次の AWS Security Finding 形式 (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
|
マッピング |
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
|
マッピング |
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
|
マッピング |
VerificationState
|
CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS,
PREFIX_NOT_EQUALS
|
文字列 |
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 「Security Finding 形式 (ASFF) 構文」を参照してください。
ヒント
Security Hub で特定のコントロールに関する検出結果の生成を停止したい場合は、自動化ルールを使用する代わりにコントロールを無効にすることをお勧めします。コントロールを無効にすると、Security Hub はそのコントロールに対するセキュリティチェックの実行を停止し、検出結果の生成を停止するため、そのコントロールに対する料金は発生しません。自動化ルールを使用して、定義された条件に一致する検出結果の特定のASFFフィールドの値を変更することをお勧めします。コントロールの無効化に関する詳細については、「Security Hub でのコントロールの無効化」を参照してください。
自動化ルールが評価する検出結果
自動化ルールは、Security Hub が を通じて生成または取り込む新規および更新された検出結果を評価します。 BatchImportFindings ルールを作成した後の オペレーション。Security Hub は、12~24 時間ごと、または関連リソースの状態が変化したときに、コントロール検出結果を更新します。詳細については、「Schedule for running security checks」を参照してください。
自動化ルールは、プロバイダーが提供する元の検出結果を評価します。プロバイダーは、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 コンソールでルールを作成または編集すると、コンソールにルール条件に一致する検出結果のプレビューが表示されます。自動化ルールは、検出結果プロバイダーによって送信された元の検出結果を評価しますが、コンソールプレビューは、 へのレスポンスに表示されるように、検出結果を最終状態に反映します。 GetFindings API オペレーション (つまり、ルールアクションやその他の更新が結果に適用された後)。
ルールの順序の仕組み
自動化ルールを作成するときは、各ルールに順序を割り当てます。これにより、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
です。