Security Hub automation rulesで検出結果を更新または抑制できるようになったので、検証してみました。
アップデート概要
- 検出結果のさまざまなフィールドの自動更新、検出結果の抑制、重大度やワークフローステータスの更新、メモの追加が可能
事前準備
Security Hubのメニューに「オートメーション」が追加されています。
今回は更新と抑止を検証したいので、それぞれの共同を確認するために、ブロックパブリックアクセスを無効にしたS3バケットを2つ用意します。
検出結果の重要度を変更する
S3バケット「test1-automation-rules-bucket」のブロックパブリックアクセスが無効であることを検出させ、その重要度を変更します。
「オートメーション」→「ルールを作成」から、ルールテンプレート「Elevate severity of findings that relate to important resources」を選択します。
条件で、ResourceIdにS3バケットに「test1-automation-rules-bucket」のARNを指定します。
重要度はデフォルトで「CRITICAL」になっています。
ルールステータスが「有効」になっていることを確認し、「ルールを作成」を押下します。
複数のコントロールで検出されるため、今回は「AWS基礎セキュリティのベストプラクティス v1.0.0」から「[S3.8] S3 Block Public Access setting should be enabled at the bucket level」に絞って確認します。
SecurityHubの定期チェック後に検出結果を確認してみると、本コントロールの重要度は通常HIGHですが、CRITICALに変更されていることが分かります。
また、自動アクションに記載されているノートが反映されています。
詳細の画面も同様に変更されています。
また、履歴タブから「オートメーション」が重要度とノートを変更したことが記録されています。
JSONログを確認すると、元の重要度はSeverity.Originalに保持され、Severity.Labelに変更後の値が記録されています。
また、Noto.Textにノートが記録されています。
{ "SchemaVersion": "2018-10-08", "Id": "arn:aws:securityhub:ap-northeast-1:xxxxxxxxxxxx:subscription/aws-foundational-security-best-practices/v/1.0.0/S3.8/finding/xxxxxxxxxxxx", "ProductArn": "arn:aws:securityhub:ap-northeast-1::product/aws/securityhub", "ProductName": "Security Hub", "CompanyName": "AWS", "Region": "ap-northeast-1", "GeneratorId": "aws-foundational-security-best-practices/v/1.0.0/S3.8", "AwsAccountId": "xxxxxxxxxxxx", "Types": [ "Software and Configuration Checks/Industry and Regulatory Standards/AWS-Foundational-Security-Best-Practices" ], "FirstObservedAt": "2023-06-26T04:04:35.301Z", "LastObservedAt": "2023-06-26T04:04:42.291Z", "CreatedAt": "2023-06-26T04:04:35.301Z", "UpdatedAt": "2023-06-26T04:04:35.301Z", "Severity": { "Product": 70, "Label": "CRITICAL", "Normalized": 70, "Original": "HIGH" }, "Title": "S3.8 S3 Block Public Access setting should be enabled at the bucket-level", (省略) "Note": { "Text": "This is a critical resource. Please review ASAP.", "UpdatedBy": "sechub-automation", "UpdatedAt": "2023-06-26T04:04:45.635Z" }, (省略)
検出結果を抑制する
S3バケット「test2-automation-rules-bucket」のブロックパブリックアクセスが無効であることを検出させ、その検出を抑制します。
「オートメーション」→「ルールを作成」から、ルールテンプレート「Suppress informational findings」を選択します。
条件で、ResourceIdにS3バケットに「test2-automation-rules-bucket」のARNを指定します。
ワークフローステータスはデフォルトで「SUPPRESSED」になっています。
ルールステータスが「有効」になっていることを確認し、「ルールを作成」を押下します。
先ほどと同様、「AWS基礎セキュリティのベストプラクティス v1.0.0」から「[S3.8] S3 Block Public Access setting should be enabled at the bucket level」に絞って確認します。
ワークフローのステータスが「SUPPRESSED」に変更されています。
また、自動アクションに記載されているノートが反映されています。
詳細の画面も同様に変更されています。
また、履歴タブから「オートメーション」がステータスとノートを変更したことが記録されています。
JSONログを確認すると、Workflow.Statuslに抑制を表す「SUPPRESSED」が記録されています。
また、Noto.Textにノートが記録されています。
{ "SchemaVersion": "2018-10-08", "Id": "arn:aws:securityhub:ap-northeast-1:xxxxxxxxxxxx:subscription/aws-foundational-security-best-practices/v/1.0.0/S3.8/finding/xxxxxxxxxxxx", "ProductArn": "arn:aws:securityhub:ap-northeast-1::product/aws/securityhub", "ProductName": "Security Hub", "CompanyName": "AWS", "Region": "ap-northeast-1", "GeneratorId": "aws-foundational-security-best-practices/v/1.0.0/S3.8", "AwsAccountId": "xxxxxxxxxxxx", "Types": [ "Software and Configuration Checks/Industry and Regulatory Standards/AWS-Foundational-Security-Best-Practices" ], "FirstObservedAt": "2023-06-26T04:04:35.301Z", "LastObservedAt": "2023-06-26T04:04:40.573Z", "CreatedAt": "2023-06-26T04:04:35.301Z", "UpdatedAt": "2023-06-26T04:04:35.301Z", (省略) "Workflow": { "Status": "SUPPRESSED" }, "RecordState": "ACTIVE", "Note": { "Text": "Automatically suppress this bucket", "UpdatedBy": "sechub-automation", "UpdatedAt": "2023-06-26T04:04:42.523Z" }, (省略)
まとめ
Security Hub automation rulesで検出結果を更新または抑制することができました。
これまで、手動で対応していた運用を、事前にルールを定義することで自動化することができます。
きめ細やかな条件を指定できることで運用が楽になると思うので、ぜひ活用してみてください。