[アップデート]AWS Security HubにAWS Configルールの評価結果を統合できるようになりました

Configルールの評価結果がSecurity Hubに統合できるようになったよ!
2022.06.08

アップデートでSecurity HubにConfigで作成したカスタムルールの評価結果を統合できるようになりました。

AWS Security Hub now receives AWS Config managed and custom rule evaluation results

Security Hubの統合できる製品のドキュメント(英語)に、AWS Config (Sends findings)が追加されています。

Available AWS service integrations - AWS Security Hub

このアップデートでConfigルールの評価結果がSecurity Hubからも確認できるようになりました。これまでGuardDutyなどのセキュリティサービスが統合されていたSecurity Hubですが、さらにConfigまでカバーしてくれるのは嬉しいですね。

確認してみる

さっそくアップデートでどのように変わったのか見てみましょう。

Security Hubへの統合

コンソールからSecurity Hubの「統合」を確認してみます。統合できるサービスの一覧が表示され、Configの項目がすでにありました。

Configが有効化されているリージョンでは自動で連携されるように設定されているので、特に設定は必要ありません。

Configルールの作成

実際にConfigルールの評価結果をSecurity Hubで確認したいので、お試しでConfigルールを作成していきます。

Configで「EBSデフォルト暗号化が有効化されているか」をチェックするマネージドルール「ec2-ebs-encryption-by-default」を利用してConfigルールを作成しました。(他の設定は全てデフォルト)

作成したConfigルールを手動で「再評価」を実行します。

あらかじめEBSデフォルト暗号化を無効化した環境で試しているので、更新すると非準拠としてリソースが表示されました。

Security Hubから確認してみる

先ほど非準拠となったConfigルールが統合されたSecurity Hubから確認してみます。

最初に確認した「統合」のコンソール画面から「結果を参照」をクリックすると、対象となっているリソースが確認できます。

すでにいくつか統合された評価結果があり、先ほど非準拠となった「ec2-ebs-encryption-by-default」のConfigルールもFailedのステータスで確認できました。

タイトルをクリックすると、結果の詳細を確認することも可能です。

検出結果の詳細

Security Hubへ統合されたConfigルールの評価結果はASFF形式に変換されます。他のサービス統合と同じなので、通知する際にも同じように実装が可能です。

以下はドキュメントに記載されているサンプルです。

Available AWS service integrations - AWS Security Hub

{
	"SchemaVersion": "2018-10-08",
	"Id": "arn:aws:config:eu-central-1:123456789012:config-rule/config-rule-mburzq/finding/45g070df80cb50b68fa6a43594kc6fda1e517932",
	"ProductArn": "arn:aws:securityhub:eu-central-1::product/aws/config",
	"ProductName": "Config",
	"CompanyName": "AWS",
	"Region": "eu-central-1",
	"GeneratorId": "arn:aws:config:eu-central-1:123456789012:config-rule/config-rule-mburzq",
	"AwsAccountId": "123456789012",
	"Types": [
		"Software and Configuration Checks"
	],
	"CreatedAt": "2022-04-15T05:00:37.181Z",
	"UpdatedAt": "2022-04-19T21:20:15.056Z",
	"Severity": {
		"Label": "MEDIUM",
		"Normalized": 40
	},
	"Title": "s3-bucket-level-public-access-prohibited-config-integration-demo",
	"Description": "This finding is created for a resource compliance change for config rule: s3-bucket-level-public-access-prohibited-config-integration-demo",
	"ProductFields": {
		"aws/securityhub/ProductName": "Config",
		"aws/securityhub/CompanyName": "AWS",
		"aws/securityhub/FindingId": "arn:aws:securityhub:eu-central-1::product/aws/config/arn:aws:config:eu-central-1:123456789012:config-rule/config-rule-mburzq/finding/46f070df80cd50b68fa6a43594dc5fda1e517902",
		"aws/config/ConfigRuleArn": "arn:aws:config:eu-central-1:123456789012:config-rule/config-rule-mburzq",
		"aws/config/ConfigRuleName": "s3-bucket-level-public-access-prohibited-config-integration-demo",
		"aws/config/ConfigComplianceType": "NON_COMPLIANT"
	},
	"Resources": [{
		"Type": "AwsS3Bucket",
		"Id": "arn:aws:s3:::config-integration-demo-bucket",
		"Partition": "aws",
		"Region": "eu-central-1",
		"Details": {
			"AwsS3Bucket": {
				"OwnerId": "4edbba300f1caa608fba2aad2c8fcfe30c32ca32777f64451eec4fb2a0f10d8c",
				"CreatedAt": "2022-04-15T04:32:53.000Z"
			}
		}
	}],
	"Compliance": {
		"Status": "FAILED"
	},
	"WorkflowState": "NEW",
	"Workflow": {
		"Status": "NEW"
	},
	"RecordState": "ACTIVE",
	"FindingProviderFields": {
		"Severity": {
			"Label": "MEDIUM"
		},
		"Types": [
			"Software and Configuration Checks"
		]
	}
}

通知の実装をしたい場合、Security Hubを経由するとリージョン集約先だけで実装できるのでおすすめです。以下はGuardDutyの例ですが、Configでも同じイメージで実装できるはずです。

【小ネタ】GuardDuty 通知は Security Hub 経由で行うとリージョン集約ができて便利 | DevelopersIO

おわりに

Security HubがConfigの統合でさらに便利になりました。Configルールでリソース監視を行なっている環境では、通知の実装をシンプルにできるいいアップデートです。ぜひ活用してセキュリティイベントをさらにSecurity Hubで一元管理してみてください。