資格情報をマシンに保存できます (または、転送、使用してから削除できます)。
scp
カスタム暗号化を実行する必要がないように、セキュリティで保護されたチャネル (キー ペアなどの非対話型認証を使用するなど) を介して資格情報を転送できます(0400
常に、キー ファイルに対してアクセス許可が適切に設定されていることを確認するだけです)。たとえば、マスターファイルにアクセス許可を設定して使用しますscp -p
)
上記で質問の回答が得られない場合は、より具体的な詳細をご記入ください。あなたのセットアップが何であり、あなたが達成しようとしていること。EC2 アクションは、中央の場所から複数のノードで開始されますか? 複数のノードと中央の場所の間で SSH を使用できますか? 等。
編集
AMI をパラメータ化して、AMI をインスタンス化する人が最初にユーザー データ ( ec2-run-instances -f user-data-file
) に AWS キーを入力することを要求することを検討しましたか? AMI は、これらのインスタンスごとのパラメータを から動的に取得できますhttp://169.254.169.254/1.0/user-data
。
アップデート
OK、これまでに説明したさまざまなアプローチのセキュリティを考慮した比較を次に示します。
- 暗号化されていないAMI に保存されている場合のデータのセキュリティ
user-data
- 低い
- 平文データは、AMI へのログオンに成功し、、 、 などにアクセスできるすべてのユーザーがアクセスできます (平文 にアクセスできます) 。
telnet
curl
wget
http://169.254.169.254/1.0/user-data
- プロキシ要求攻撃に対して脆弱です (たとえば、攻撃者は、AMI で実行されているかどうかに関係なく、平文を取得して転送するように Apache に要求します
http://169.254.169.254/1.0/user-data
) 。
- AMI に保存され、簡単に取得できるキーで暗号化 (または復号化可能)された場合のデータのセキュリティ
user-data
- 低い
- 簡単に入手できるキー (パスワード) には、次のものが含まれる場合があります。
- ABI 内のスクリプトにハードコーディングされたキー (攻撃者が ABI を取得できる場所)
- AMI 自体のスクリプトにハードコーディングされたキー。スクリプトは、AMI にログオンしたすべてのユーザーが読み取ることができます。
- 公開鍵など、その他の簡単に取得できる情報。
- 任意の秘密鍵 (公開鍵はすぐに取得できる場合があります)
- 簡単に入手できるキー (パスワード) が与えられた場合、ポイント 1 で特定されたのと同じ問題が適用されます。
- 復号化されたデータには、AMI へのログオンに成功し、、 、 などにアクセスできるすべてのユーザーがアクセスできます (クリアテキストにアクセスできます) 。
telnet
curl
wget
http://169.254.169.254/1.0/user-data
- プロキシ リクエスト攻撃に対して脆弱です (たとえば、攻撃者は AMI で実行されているかどうかに関係なく、Apache に暗号化された を取得して転送するように
http://169.254.169.254/1.0/user-data
要求し、後で簡単に取得できるキーで復号化します)。
- AMI に保存され、簡単に取得できないキーで暗号化された場合のデータのセキュリティ
user-data
- 平均
- 暗号化されたデータには、AMI へのログオンに成功し、、 、 などにアクセスできるすべてのユーザーがアクセスできます (暗号化された にアクセスできます)
。
telnet
curl
wget
http://169.254.169.254/1.0/user-data
- 暗号化されたデータの復号化は、ブルート フォース攻撃を使用して行うことができます。
- 安全な場所に AMI に保存されている場合のデータのセキュリティ(暗号化しても付加価値はありません)
- より高い
- データにアクセスできるのは、操作するためにデータを必要とする 1 人のユーザーのみです。
- 例: マスク 0600 または 0400 の user:user が所有するファイル
- 攻撃者がデータにアクセスするには、特定のユーザーになりすます必要があります。
root
ユーザーの直接ログオンを拒否するなどの追加のセキュリティ レイヤー (対話型の偽装のためにパススルーする必要がある) により、セキュリティが向上します。
そのため、AMI を使用する方法は最も安全ではありません。マシン上の任意のuser-data
ユーザーへのアクセスを取得すると(最も弱い点)、データが危険にさらされるからです。
これは、S3 資格情報が限られた期間 (つまり、デプロイ プロセスの間のみ) のみ必要である場合、 AWS がそれを使用したときに内容を上書きまたは削除することを許可している場合に緩和される可能性がありますuser-data
(ただし、これは可能であれば、デプロイ プロセス中に一時的な S3 クレデンシャルを作成することもできます (user-data
デプロイ プロセスが完了し、AWS でクレデンシャルが無効化された後、これらのクレデンシャルを侵害すると、セキュリティが失われます)。脅威。)
上記が適用されない場合 (例: 展開されたノードに必要な S3 資格情報が無期限に必要) または不可能な場合 (例: 展開のためだけに一時的な S3 資格情報を発行できない)、最良の方法は、弾丸とscp
資格情報をさまざまなノードに、おそらく並行して噛むことです。 、正しい所有権と権限を持つ。