【Security Hub修復手順】[EC2.181] EC2 起動テンプレートは、アタッチされた EBS ボリュームの暗号化を有効にする必要があります
こんにちは、コンサルティング部の村瀬です。
皆さん、お使いの AWS 環境のセキュリティチェックはしていますか?
本記事では、AWS Security Hub による AWS 環境のセキュリティ状況スコアリングに該当する項目についての修復手順をご紹介します。
本記事の対象コントロール
[EC2.181] EC2 起動テンプレートは、アタッチされた EBS ボリュームの暗号化を有効にする必要があります
[EC2.181] EC2 launch templates should enable encryption for attached EBS volumes
前提条件
本記事は AWS Security Hub で「AWS 基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。
AWS Security Hub の詳細についてはこちらのブログをご覧ください。
対象コントロールの説明
このコントロールは、EC2 起動テンプレートに定義された EBS ボリュームの暗号化設定をチェックします。
起動テンプレートで指定されたいずれかの EBS ボリュームで、暗号化(Encrypted)が False に設定されている場合、このコントロールは失敗(FAILED)します。
注意したいのは、本コントロールが評価するのは起動テンプレートに「明示的に指定された」暗号化設定のみだという点です。次の項目は評価対象に含まれません。
- アカウントレベルの EBS デフォルト暗号化
- AMI のブロックデバイスマッピング
- ソーススナップショットの暗号化状態
つまり、これらによって実際の EBS ボリュームが暗号化される場合でも、それとは別に起動テンプレート自体の設定が評価されます。
対応しない場合のリスク
EBS ボリュームが暗号化されていない場合、ディスクに保存されたデータが不正にアクセスされるリスクがあります。
たとえばスナップショットを意図せず別アカウントに共有してしまった場合や、AWS のインフラ層への不正侵入があった場合に、データを平文で読み取られる可能性があります。
なぜ起動テンプレート側でも暗号化を明示するのか
アカウントレベルの「EBS のデフォルト暗号化」を有効化していれば、起動テンプレートで暗号化を明示していなくても、インスタンス起動時に作成される EBS ボリューム自体は暗号化されます。
ただし、ガバナンスの観点では、直接作成する EBS ボリュームと起動テンプレート経由で作成するボリュームは、同等の暗号化ポリシーで運用すべきです。
そのため、[EC2.3] アタッチされた EBS ボリュームは保管時に暗号化する必要があります とあわせて、起動テンプレート側でも Encrypted=True を明示する対応が必須です。
コントロールの確認方法
-
Security Hub コンソールを開く
-
左メニューから「検出結果」を選択

-
フィルターで対象のコントロール ID「EC2.181」を検索

-
詳細を確認する


ステークホルダーに確認
修復を行う前に、以下の点をステークホルダーに確認してください。
- 対象の起動テンプレートを利用している Auto Scaling グループや EC2 Fleet があるか
- 暗号化に利用する KMS キーの方針(AWS マネージドキー
aws/ebsを使うか、カスタマーマネージドキーを使うか) - 新しいバージョンをデフォルトに設定することで、既存の Auto Scaling グループの次回スケールアウト時に影響しないか
新しい起動テンプレートのバージョンを作成しデフォルトに設定するだけでは、既存のインスタンスや既存のボリュームには影響しません。
ただし、既存のインスタンスがリフレッシュ・置換されるタイミングで新バージョンの設定が反映されるため、運用フローへの影響有無を事前に確認してください。
修復手順
起動テンプレートは作成後に編集できないため、新しいバージョンを作成して各ブロックデバイスマッピングで暗号化を有効化したうえで、当該バージョンをデフォルトバージョンに指定します。
-
EC2 コンソールを開く
-
左メニューから「起動テンプレート」を選択

-
対象の起動テンプレートをクリック

-
「アクション」→「テンプレートを変更(新しいバージョンを作成)」を選択

-
「ソーステンプレート」で既存の最新バージョンを選択し、設定を読み込む
-
「ストレージ(ボリューム)」セクションを開き、各 EBS ボリュームの「暗号化済み」の項目を「暗号化なし」→「暗号化済み」に変更する

-
KMS キーを指定する。特別な要件がない限り AWS マネージドキー
aws/ebsを選択する(監査証跡やキーローテーション制御などのコンプライアンス要件がある場合は、カスタマーマネージドキーを選択する)
-
ページ下部の「テンプレートのバージョンを作成」を選択

作成に成功すると、次のような完了画面が表示されます。

-
起動テンプレート詳細画面に戻り、「アクション」→「デフォルトバージョンを設定」を選択

-
新しく作成したバージョン番号を選択し、「デフォルトバージョンとして設定」を選択

修復確認
修復後、Security Hub で検出結果が「PASSED」になることを確認します。

本コントロールは AWS Config の ec2-launch-templates-ebs-volume-encrypted ルールによる change-triggered 評価のため、Security Hub への反映には数分〜数十分かかる場合があります。
最後に
今回は、AWS Security Hub による AWS 環境のセキュリティ状況スコアリングに該当する項目についての修復手順をご紹介しました。
コントロールを修復して、お使いの AWS 環境のセキュリティをパワーアップさせましょう!






