Cloud Security Maturity Model·AWS v3.0.0

ドラッグで移動 · ピンチでズーム

基礎 アイデンティティとアクセス管理

c2.7 EC2 インスタンスで IMDSv2 を強制する

EC2 のインスタンスメタデータサービス(IMDS)は、キーをハードコードせずに済むよう、一時的でローテーションされる認証情報をインスタンスに渡します。あらゆる場所で IMDSv2 を必須にしてください。IMDSv2 はセッション保護を追加し、IMDSv1 が脆弱だった SSRF 経由の認証情報窃取を防ぎます。

実装ガイダンス

なぜ IMDSv2 か

インスタンスメタデータサービスは、ハードコードや配布をせずに、一時的で頻繁にローテーションされる認証情報をインスタンスに提供します。IMDSv2 はリクエストをセッション指向(トークンが必要)にするため、攻撃者が server-side request forgery(SSRF)の脆弱性を通じてメタデータエンドポイントに到達し、その認証情報を盗むことを防ぎます。

実施すべきこと

1. 新規インスタンスの起動は現在 IMDSv2 がデフォルトですが、その変更より前に作成されたインスタンスは IMDSv1 を許可したままの場合があります。新規起動がデフォルトで IMDSv2 を必須にすることを確認し、古いインスタンスを再構成してください。 2. AWS Security Hub CSPM のコントロール EC2.8 または AWS Config の ec2-imdsv2-check ルールで非準拠を検出します。 3. まだ IMDSv1 を許可しているインスタンスを IMDSv2 必須に設定し、フリート全体で IMDSv1 を無効化します。Get the full benefits of IMDSv2 を参照してください。

CLI で実行する

既存のインスタンスで IMDSv2 を必須にする(IMDSv1 を無効化する):

aws ec2 modify-instance-metadata-options \
  --instance-id i-0123456789abcdef0 \
  --http-tokens required \
  --http-endpoint enabled

アカウント内のすべての新規起動でデフォルトで IMDSv2 を必須にする:

aws ec2 modify-instance-metadata-defaults \
  --http-tokens required \
  --http-endpoint enabled

How to validate

  • インスタンスは IMDSv2 を必須にするよう構成されていますか?
  • 新規の EC2 起動がデフォルトで IMDSv2 を必須にすることを確認しましたか?
  • まだ IMDSv1 を許可しているインスタンスを検出するために AWS Security Hub CSPM または AWS Config を使っていますか?

Threats addressed

  • IMDSv1 をまだ許可しているインスタンス上で SSRF に脆弱なアプリケーションは、メタデータエンドポイントからインスタンスの認証情報を読み取らされ、インスタンス外部で悪用される可能性があります。

AWS サービス

Amazon EC2 AWS Security Hub AWS Config

料金

追加料金なし

Amazon EC2 での IMDSv2 の適用は追加料金なしで提供されます。

Framework mappings

AWS CAF

Well-Architected

NIST CSF

References