17

Amazon のツールを使用して Web アプリを構築しています。とても満足していますが、セキュリティ上の懸念があります。

現在、複数の EC2 インスタンス、S3、SimpleDB、SQS を使用しています。さまざまなサービスへのリクエストを認証するには、アクセス識別子を含めます(ログインが必要です)。

たとえば、EC2 インスタンスから S3 にファイルをアップロードするには、EC2 インスタンスにAccess Key IDSecret Access Keyが必要です。

これは基本的に、ユーザー名とパスワードがインスタンスに含まれている必要があることを意味します。

インスタンスの 1 つが侵害された場合、Amazon のすべての資産が侵害されます。キーは、S3 および SimpleDB データのアップロード/置換、EC2 インスタンスの開始および停止などに使用できます。

侵害された 1 つのホストの被害を最小限に抑えるにはどうすればよいですか?

私が最初に考えたのは、アカウントごとに複数の識別子を取得して、行われた変更を追跡し、「ハッキングされた」アカウントをすばやく取り消すことができるようにすることです。Amazon は、アカウントごとに複数の認証情報セットをサポートしていません。

次に考えたのは、複数のアカウントを作成し、ACL を使用してアクセスを制御することでした。残念ながら、すべてのサービスが他のアカウントにデータへのアクセスを許可することをサポートしているわけではありません。さらに、帯域幅は使用量が増えるほど安くなるため、すべてを 1 つのアカウントで処理するのが理想的です。

誰かがこの問題に対処したか、少なくとも考えましたか?

4

4 に答える 4

5

AWSでは、 Identity andAccessManagementを使用して複数のユーザーを作成できます。これにより、いずれかのシナリオを実装できます。

EC2インスタンスごとにIAMユーザーを定義することをお勧めします。これにより、対応するEC2インスタンスが侵害された場合に、特定のユーザー(またはそのアクセスキーのみ)へのアクセスを取り消すことができます。また、きめ細かい権限を使用して、ユーザーが呼び出すことができるAPIを制限できます。アクセスできるリソース(たとえば、ユーザーに特定のバケットへのアップロードのみを許可する)。

于 2011-06-23T06:51:54.083 に答える
5

あなたができることは、単一のスーパーロックダウンされた「認証サーバー」を持つことです。秘密鍵はこの 1 つのサーバーにのみ存在し、他のすべてのサーバーは許可を求める必要があります。さまざまなサーバーに独自のキーを割り当て、IP アドレスでロックダウンすることもできます。そうすれば、サーバーが危険にさらされた場合、「認証サーバー」からそのキーを取り消すだけです。

これは、AWS 認証の仕組みにより可能です。Web サーバーがファイルを S3 にアップロードする必要があるとします。まず、AWS リクエストを生成し、そのリクエストをカスタム サーバー キーと共に「認証サーバー」に送信します。認証サーバーはリクエストを認証し、クリプト マジックを実行し、認証された文字列を Web サーバーに返します。ウェブサーバーはこれを使用して、S3 にアップロードするファイルとともにリクエストを実際に送信できます。

于 2008-09-25T17:20:34.990 に答える
3

さらに、AWS IAM ロールを使用すると、インスタンスにキーを配置するのではなく、EC2 インスタンスにアクセス許可を割り当てることができます。http://aws.typepad.com/aws/2012/06/iam-roles-for-ec2-instances-simplified-secure-access-to-aws-service-apis-from-ec2.htmlのブログ投稿を参照してください。 ほとんどの SDK は、ロールによって作成された一時キーを利用します。

于 2013-06-22T05:16:09.377 に答える
1

AWS では、考え直しの懸念に対処する「一括請求」を提供しています。

https://aws-portal.amazon.com/gp/aws/developer/account/index.html?ie=UTF8&action=consolidated-billing

「一括請求を使用すると、単一の支払いアカウントを指定することで、社内の複数のアマゾン ウェブ サービス (AWS) アカウントの支払いを統合できます。すべてのアカウントで発生した AWS コストをまとめて表示したり、詳細なコスト レポートを取得したりできます。支払いアカウントに関連付けられた個々の AWS アカウントのそれぞれ. 一括請求は、すべてのアカウントの使用量をロールアップすることで、より低価格のボリューム層にすばやく到達できるため、全体的なコストを削減することもできます.」

于 2010-09-07T16:40:27.603 に答える