オープンファイアウォール、リバースプロキシ、サーバサイドリクエストフォージェリ(SSRF)の脆弱性に対する防御を強化するために、AWSはこの頃、新しいAmazon EC2インスタンスタイプがEC2インスタンスメタデータサービス(IMDSv2)のバージョン2のみをサポートすると発表した。移行サポートとして、顧客は引き続きIMDSv1を利用できる予定である。
IMDSは、一時的で頻繁にローテーションされる認証情報へのアクセスを提供し、機密性の高い認証情報をハードコードしたり、インスタンスに配布したりする必要性を排除する。2019年に導入されたIMDSv2は、2段階のプロセスを必要とするが、異なる脆弱性(誤設定されたウェブサイト・アプリケーション・ファイアウォール、誤設定されたリバースプロキシ、パッチが適用されていないSSRFの脆弱性、誤設定されたレイヤー3ファイアウォールおよびネットワークアドレス変換)に対する追加の保護レイヤーを提供する。
SSRFの脆弱性を利用したAWSのメタデータサービスの悪用は長年知られている問題であり、AWSのバイスプレジデント兼チーフエバンジェリストであるJeff Barr氏は、2024年半ばからのデフォルト変更の必要性を説明している。
v1サービスはリクエスト/レスポンス型のアクセス方式を使用し、v2サービスはセッション指向の方式を使用します…(中略)多くのアプリケーションやインスタンスがすでにIMDSv2を使用し、その恩恵を受けていますが、AWSアカウントレベルでIMDSv1が無効化されて初めて、その恩恵をフルに享受できるようになるのです。
IMDSv2 では、HTTP PUT リクエストを使用してシークレットトークンを作成する必要がある。
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`。curl http://169.254.169.254/latest/meta-data/profile -H "X-aws-ec2-metadata-token: $TOKEN"
ソース:AWS Blog
AWS SecurityのシニアテクニカルプログラムマネージャであるSaju Sivaji氏と、AWSのプリンシパルプロダクトマネージャであるJosh Levinson氏はこの頃、IMDSv2のメリットをフルに活用し、IMDSv1を無効にする方法を説明した。
IMDSはインスタンス自体によって提供されますが、IMDSへの呼び出しはソフトウェアから行われます。つまり、IMDSv1を無効にする前に、ソフトウェアがIMDSv2をサポートしていなければならないのです。
2024年2月、AWSは顧客がアカウントレベルでデフォルトとしてIMDSv1の使用を制御できるようにする新しいAPI機能を導入する予定だ、とBarr氏は付け加える。
IMDSv1の利用は、すでにIAMポリシー(既存の権限を取り上げて制限する)、またはアカウント、組織単位(OU)、組織全体にグローバルに適用されるSCPとして制御が可能です。
この新しいデフォルトとタイムラインはコミュニティから好評を得ており、ユーザーのHolaGuacamola氏はRedditでコメントしている。
ようやくだ。私たちはコンプライアンスのために、すべてのインスタンスでV1をオフにするために多くの作業をしなければならなかった。
クラウドプロバイダーの間では、IMDSは一般的なアプローチであり、マイクロソフトはこの頃、攻撃者がクラウド環境にラテラルムーブメント(水平移動。攻撃者が侵入口となった地点からネットワークの他の部分に拡散させるプロセス)を試みたSQLテクニックを文書化している。
AWSは、IMDSv2への移行を容易にするための様々なツールを提供している。IMDS Packet Analyzerは、インスタンスのブートフェーズからIMDSv1のコールを特定し、ログに記録するオープンソースツールであり、MetadataNoTokenは、IMDSv1を使用するコールの数を追跡するCloudWatchメトリックであり、特定のIAMポリシーとSCPは、IMDSv2を使用するように構成されている場合にのみインスタンスを起動できるようにする。
全てのコンソールの "クイックスタート "起動とAmazon Linux 2023は既にデフォルトでIMDSv2を使用している。