1
0

More than 3 years have passed since last update.

goofysでは、EC2インスタンスメタデータ(IMDSv2)を参照できない件

Last updated at Posted at 2021-09-01

起きたこと

Security Hubで指摘される、Instance Metadata Service Version 2 (IMDSv2) の改善要求
を対策したら、goofysでのS3マウントが失敗するようになった

goofysからS3の認証は、インスタンスプロファイルで行っていました

/var/log/messages.
Aug 30 14:38:08 xxxxxxxxx /usr/local/bin/goofys[1784]: s3.ERROR code=NoCredentialProviders msg=no valid providers in chain. Deprecated.#012#011For verbose messaging see aws.Config.CredentialsChainVerboseErrors, err=<nil>
Aug 30 14:38:08 xxxxxxxxx /usr/local/bin/goofys[1784]: fuse.ERROR *fuseops.ReadDirOp error: NoCredentialProviders: no valid providers in chain. Deprecated.
Aug 30 14:38:08 xxxxxxxxx /usr/local/bin/goofys[1784]: fuse.ERROR #011For verbose messaging see aws.Config.CredentialsChainVerboseErrors

同じ様にS3マウントしている他のサーバでは起きないので、色々と違いを調べたところ
問題が発生するサーバの方だけ、Security Hub指摘に対応していた所が差異でした
Credentialsが通らなくなっているのでかなり怪しいと言うことで
IMDSv1を利用できるように戻したところ、問題なくCredentialsも通りマウントできるようになりました

どうやら、goofysがまだIMDSv2に対応していない様です

EC2 インスタンスでは、Instance Metadata Service Version 2 (IMDSv2) を使用する必要があります

[EC2.8] This control checks whether your Amazon Elastic Compute Cloud (Amazon EC2) instance metadata version is configured with Instance Metadata Service Version 2 (IMDSv2). The control passes if HttpTokens is set to required for IMDSv2. The control fails if HttpTokens is set to optional. 修復手順

IMDSv1のSSRF脆弱については、徳丸浩先生の記事が一番わかりやすかったので、ご紹介しておきます。

SSRF対策としてAmazonから発表されたIMDSv2の効果と限界

IMDSv2の使用に移行する

既存インスタンスのインスタンスメタデータオプションの変更

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

IMDSv1を利用可能にする

aws ec2 modify-instance-metadata-options \
    --instance-id i-1234567898abcdef0 \
    --http-tokens optional \
    --http-endpoint enabled
1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0