Kanji
・クラウドエンジニア / フリーランス ・1993年生まれ ・愛媛県出身 / 東京都渋谷区在住 ・AWS歴5年 プロフィールの詳細
目次
[Account.1]
[IAM.28]
[EC2.8]
[S3.22]
CloudWatch.1
14
1.16
IAM.1
2024年4月にこの記事を最初に書いた時点では、AWS Security Hub は CIS AWS Foundations Benchmark v1.2.0 と v1.4.0 にしか対応しておらず、v3.0.0 をチェックするにはオープンソースの Prowler を使うしかありませんでした。
その後、AWS Security Hub CSPM が CIS AWS Foundations Benchmark v3.0.0(2024年5月) 、さらに v5.0.0(2025年) を正式サポートしたことで、現在では Security Hub 標準機能だけでも CIS v3.0.0 / v5.0.0 の多くの項目を継続監視できるようになっています。
ところが、僕が担当している AWS Organizations マルチアカウント環境で「これでようやく Prowler を外して Security Hub の CIS v3.0.0 標準一本に統合できる」と考え、旧 CIS v1.4.0 標準を無効化して v3.0.0 へ切り替えた際、思わぬ落とし穴にハマりました。
切り替えた翌週にコントロール一覧を棚卸ししたところ、それまで CIS v1.4.0 で自動チェックされていた Section 4(CloudWatch Logs メトリクスフィルタとアラームによるルートアカウント使用・IAM ポリシー変更・コンソール認証失敗・VPC/SG 変更等の監視:計14項目) と、 1.16 ( *:* フル管理者権限ポリシーのアタッチ禁止:旧 [IAM.1] ) が、Security Hub の CIS v3.0.0 / v5.0.0 標準からごっそり消えていたのです。
*:*
[IAM.1]
原因を公式ドキュメントのコントロールマッピングで調べてみると、CIS 側の仕様改定で Section 4 のメトリクスフィルタ項目が Automated から Manual (手動確認)へ分類変更されたことに伴い、Security Hub CSPM の CIS v3.0.0 / v5.0.0 標準では [CloudWatch.1] 〜 [CloudWatch.14] がすべて「未サポート(Not supported – manual check)」として除外されていました。また、 [IAM.1] も CIS v3.0.0 / v5.0.0 の標準マッピングからは外れており、AWS Foundational Security Best Practices(FSBP)側を有効にしておかないと評価されない仕様になっていました。
Automated
Manual
[CloudWatch.1]
[CloudWatch.14]
こうした現場での手戻りを経てたどり着いた結論は、 「単一ツールで CIS ベンチマークを完結させるのではなく、CI/CD での事前ブロック(CFn Guard)、AWS Config 連動の常時 CSPM(Security Hub)、Manual 扱い項目まで API で網羅する深層監査(Prowler v4/v5)の 3 層で役割分担する」 という構成です。
▲ CFn Guard(Shift-Left)・Security Hub CSPM(常時監視)・Prowler v4/v5(深層監査)を組み合わせた CIS ベンチマーク 3層監査構成図
まずは AWS Security Hub CSPM、AWS CloudFormation Guard( cfn-guard )、Prowler の 3 ツールについて、CIS AWS Foundations Benchmark の各バージョン対応状況とアーキテクチャ上の特性を比較します。
cfn-guard
cis_1.4_aws
cis_1.5_aws
cis_2.0_aws
cis_3.0_aws
cis_4.0_aws
cis_5.0_aws
Security Hub CSPM は AWS Organizations の委任管理者および「中央設定(Central Configuration)」を使って、全メンバーアカウント・全リージョンへ一括適用できるのが最大の強みです。また、「統合コントロール検出結果(Consolidated Control Findings)」を有効にしておけば、CIS v3.0.0 と FSBP(AWS 基礎セキュリティのベストプラクティス)の双方に同じコントロール(例: [S3.8] や [EC2.8] )が含まれていても、裏側の AWS Config ルール評価は 1 回に統合されるため、Config の評価課金が二重に膨らむのを防げます。
[S3.8]
一方で、以下の 2 つの限界を理解しておく必要があります。
1.13
1.18
1.2
us-east-1
ap-northeast-1
cfn-guard は AWS 公式のオープンソース CLI ツールで、デプロイ前の CloudFormation テンプレート(YAML / JSON)や Terraform plan JSON に対してポリシー検査を行います。AWS 公式のルールリポジトリ( aws-guard-rules-registry )に CIS ベンチマーク Level 1 / Level 2 のルールセットが用意されていますが、あくまで「テンプレート上に記述できるリソース属性(S3 パブリックアクセスブロック、RDS 暗号化、SG のポート開放など計 18 項目)」しかチェックできません。アカウント全体のルート MFA 状態やアクセスキーのローテーション日数などは検査できないため、CI/CD パイプラインのゲートキーパーとして割り切って使います。
aws-guard-rules-registry
Prowler は Boto3 を通じて AWS API を直接叩いて監査するため、AWS Config を有効化していないリージョンやサンドボックスアカウントでも即座に全 62 項目をスキャンできます。特に、Security Hub が CIS v3.0.0 / v5.0.0 で切り捨てた Section 4( 4.1 〜 4.15 の CloudWatch メトリクスフィルタとアラームの存在確認)を API 経由で完全自動チェックできる 点が、現場で Prowler を手放せない最大の理由です。
4.1
4.15
これから CIS AWS Foundations Benchmark v3.0.0 または v5.0.0 準拠を目指す場合、あるいは旧 CIS v1.4.0 から移行する場合の判断フローを整理しました。
現場のパイプラインや CLI から各ツールを実行する際の最新コマンドは以下の通りです。
# 1. AWS Security Hub CSPM で CIS v3.0.0 / v5.0.0 標準を有効化 (AWS CLI) aws securityhub batch-enable-standards \ --standards-subscription-requests \ StandardsArn="arn:aws:securityhub:ap-northeast-1::standards/cis-aws-foundations-benchmark/v/3.0.0" \ StandardsArn="arn:aws:securityhub:ap-northeast-1::standards/cis-aws-foundations-benchmark/v/5.0.0" # 2. Prowler v4 / v5 で CIS v3.0.0 (または v5.0.0) を指定してスキャンし Security Hub へ送信 prowler aws --compliance cis_3.0_aws --security-hub --region ap-northeast-1 # 3. CloudFormation Guard (cfn-guard) でデプロイ前のテンプレートを静的検証 cfn-guard validate \ --data ./template.yaml \ --rules ./aws-guard-rules-registry/rules/aws/amazon_s3/ \ --show-summary fail
CIS AWS Foundations Benchmark v3.0.0 の全 62 項目について、AWS Security Hub CSPM(v3.0.0 / v5.0.0 の公式コントロール ID)、CFn Guard、Prowler(v4 / v5)の対応状況を一覧化しました。
[Control.ID]
△ (v3.0対象外)
v3.0.0 では、新たに 1.15 ( [IAM.2] グループ経由の権限付与)、 1.19 ( [IAM.26] 期限切れ SSL/TLS 証明書削除)、 1.20 ( [IAM.28] IAM Access Analyzer 有効化)、 1.22 ( [IAM.27] CloudShell フルアクセス制限)の 4 項目が Security Hub で新規サポートされました。一方、 1.16 ( *:* 管理者ポリシー禁止)は CIS v3.0.0 / v5.0.0 標準単体では評価されないため注意が必要です。
1.15
[IAM.2]
1.19
[IAM.26]
1.20
1.22
[IAM.27]
Storage セクションは Security Hub の CIS v3.0.0 対応によってカバー率が大きく向上した領域です。旧 v1.4.0 では未対応だった RDS の自動マイナーバージョンアップグレード( 2.3.2 : [RDS.13] )、RDS パブリックアクセス禁止( 2.3.3 : [RDS.2] )、EFS 暗号化( 2.4.1 : [EFS.1] )がすべて自動評価されるようになりました。なお、CIS v5.0.0 では EC2 EBS 暗号化( 2.2.1 )が Section 5( 5.1.1 )へ移動し、新たに RDS Multi-AZ 構成( 2.2.4 : [RDS.5] / [RDS.15] )が追加されています。
2.3.2
[RDS.13]
2.3.3
[RDS.2]
2.4.1
[EFS.1]
2.2.1
5.1.1
2.2.4
[RDS.5]
[RDS.15]
Logging セクションは、S3 オブジェクトレベルの書き込み・読み取りデータイベント記録( 3.8 : [S3.22] 、 3.9 : [S3.23] )が Security Hub v3.0.0 で追加されたことにより、 全 9 項目すべてが Security Hub と Prowler の双方で 100% 自動チェック可能 になっています。
3.8
3.9
[S3.23]
冒頭の実体験で触れた通り、 Section 4 は Security Hub の CIS v3.0.0 / v5.0.0 標準では 1 項目もサポートされていません 。CIS v3.0.0 で 4.1 〜 4.15 がすべて Manual 扱いになったため、Security Hub 側でも Not supported – manual check として対象外になりました。
Not supported – manual check
もし Security Hub だけで 4.3 〜 4.14 の CloudWatch Logs メトリクスフィルタ&アラームを継続チェックしたい場合は、旧 CIS v1.4.0 標準の該当コントロール( [CloudWatch.1] 、 [CloudWatch.4] 〜 [CloudWatch.14] )を無効化せずに残す か、 Prowler( 4.1 〜 4.16 すべてを API で自動判定可能) を併用する必要があります。
4.3
4.14
[CloudWatch.4]
4.16
Networking セクションでは、旧 v1.4.0 で未対応またはポート22/3389限定だった IPv4/IPv6 のリモート管理ポート開放チェック( 5.2 : [EC2.53] 、 5.3 : [EC2.54] )と、EC2 インスタンスメタデータサービス IMDSv2 の強制( 5.6 : [EC2.8] )が Security Hub v3.0.0 で正式サポートされました。残る未サポート項目は 5.5 (VPC ピアリングのルートテーブル最小権限化:Manual)のみです。
5.2
[EC2.53]
5.3
[EC2.54]
5.6
5.5
全 62 項目(CIS AWS Foundations Benchmark v3.0.0)に対する各ツールの実質カバー数を集計すると以下のようになります。
[CloudWatch.1, 4〜14]
正直なところ、今後 CIS v5.0.0 以降へ完全に軸足を移していく中で、Section 4 のような「CloudWatch Logs のメトリクスフィルタ+SNS アラーム」という古典的な仕組みをいつまで維持すべきかは僕自身も悩むことがあります。実運用では Amazon EventBridge で CloudTrail イベントを直接拾う方がシンプルで遅延も少ないのですが、外部監査やセキュリティチェックシートで「CIS ベンチマーク準拠」を求められる現場では、依然としてメトリクスフィルタの有無が問われます。そうした監査要件と現場の運用負荷を両立させる上でも、常時監視は Security Hub CSPM に任せつつ、週次・日次の Prowler スキャンで穴を埋めるハイブリッド構成が今のところ最もバランスの良い落としどころだと感じています。
AWS・GCP・Azureのクラウドセキュリティ監査ツール「Prowler」で独自のカスタムチェック(Custom Checks)を追加する実践ガイド。公式ドキュメントに載っていないメタデータJSON ... [続きを読む]
Security Hub では、標準という機能を有効化することでコントロールと呼ばれるセキュリティチェックルールを有効化し、 AWSのベストプラクティスに則ったセキュリティ設定をチェックすることができ ... [続きを読む]
AWS Organizations / Control Tower マルチアカウント設計、IAM Identity Center、Prowler 統制自動化、Terraform / CI/CD 構築を実務アーキテクトが直接支援します。
Google Cloud / Firebase 上で稼働する自社AIプロダクト群。AIクオンツ市場分析「Alpha Radar」およびAI印象診断「CandidLens」を公開中です。