誰かがハードコードされた「AWS-cognito-identity-poolID」を使って私のs3にハッキングできますか?


8

まず、クライアント側のJSファイルにawsの「accessKey」と「securityKey」をハードコードしましたが、非常に安全ではなかったので、「aws-cognito」について読み、次の方法で新しいJSを実装しました。

それでも、誰かがハードコーディングされた「AWS-cognito-identity-poolID」を使用して私のs3にハッキングできる1つのことに混乱していますか?または、他のセキュリティ対策を講じる必要がありますか?

ありがとう、
ジェイキー


unauthアクセスを使用しているようです。つまり、そのID IDを持つユーザーは誰でもアップロードできます。
Ninad Gaikwad

そして、どのように誰がアイデンティティIDでアップロードできますか?
Jaikey Sarraf、

非認証アクセスを許可するように設定した場合は、誰でも使用できます。それがunauthのポイントです。
Ninad Gaikwad

回答:


3

ハックの定義

あなたの質問の文脈でハッキングが何を意味するのかわかりません。
バケット内のオブジェクトの削除やアクセスなど、「誰でもファイルのアップロードとは異なる何かを実行できる」という意味だと思います。

あなたの解決策

Ninadはすでに上記で述べたように、「認証されていないIDへのアクセスを有効にする」[1]を有効にすることにより、現在のアプローチを使用できます。次に、2つの役割を作成する必要があります。そのうちの1つは「非認証ユーザー」用です。そのロールPutObject権限をS3バケットに付与できます。これにより、ページにアクセスするすべての人がS3バケットにオブジェクトをアップロードできます。IdentityPoolIdはパブリックな値(つまり、機密ではない)であるため、これはあなたが意図していることであり、セキュリティの観点からは問題ありません。

別の解決策

おそらく、Amazon Cognitoを使用して目的を達成する必要はないでしょう。たぶん、S3にバケットポリシーを追加して、PutObjectの権限を全員に付与するだけで十分です。

これは安全ですか?

ただし、S3バケットへの直接公開書き込みアクセスを有効にすることお勧めしません。 誰かがアップロードフォームをスパムしてWebサイトを悪用する場合、書き込み操作とデータストレージに対するS3料金が発生します。

Amazon CloudFrontを介してデータを送信し、レートベースのルール[2]でWAFを適用するか、S3アップロードの前にカスタムのレート制限サービスを実装することをお勧めします。これにより、悪意のあるアクティビティに適切に対応できるようになります。

参考文献

[1] https://docs.aws.amazon.com/cognito/latest/developerguide/identity-pools.html
[2] https://aws.amazon.com/about-aws/whats-new/2019/08 / lower-threshold-for-aws-waf-rate-based-rules /


こんにちは、S3バケットへの直接のパブリック読み取り/書き込みアクセスをすでに無効にしたので、ありがとうございます。また、WAFを使用しています。しかし、私はすべてのユーザーが自分のCVをアップロードしたり、削除したり、S3に変更したりできるようにしたいのですが、私のWebサイトに登録していません。次に、IAMロールを作成し、クライアント側のJSに表示されるアクセス認証情報を作成しました。これは、ハッカーがAWS-CLIでこの認証情報を使用して、読み取り、書き込み、削除などのすべてのアクションを実行できるため、安全ではありませんでした。そこで、AWS-cognitoを使用し、ドメインにのみ固有のCORSをs3で有効にしました。ここで私の質問は始まりますが、今は安全ですか?
Jaikey Sarraf、

2

はい、クライアント側で「AWS-Cognito-Identity-Pool」を介して使用している場合、s3バケットは安全です。また、特定のドメインからのみアクションを許可するCORSを有効にして、誰かが直接アップロードまたはリストバケットを試行した場合に「アクセス-拒否されました」。


ええ、それは本当です、セキュリティは実際には単なる満足であり、私たちはできる限りのことをしました。私も個人的に他のawsスクリプトに認証情報を入れてみましたが、許可されたドメインにアップロードしたときにのみ機能しました。それ以外の場合は機能しませんでした
Jaikey Sarraf

0

また、ローカルノードのみが読み取れるように、ハードコードされたアクセスのファイルr / w資格情報を設定していることを確認してください。ちなみに、答えは常に「はい」です。それは、誰かが「ハッキング」に従事する意思があるかどうかだけの問題です。ここで人々が言っ​​たことに従ってください、そしてあなたは安全です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.