2017-12-04 1 views
0

私は写真ギャラリーを含むウェブサイトで作業しています。これらの画像はAmazon S3に保存されています。 Amazonは10k GETリクエストあたり$ 0.01の料金を請求するので、潜在的なトロールは、1日に何百万件ものページ要求を行うボットで大幅にコストを引き上げる可能性があります。Amazon S3では、トロール/嘆きの人がボットで数百万のGETリクエストを作成できないようにすることはできますか?

これから自分自身を簡単に保護する方法はありますか?

答えて

0

最も簡単な戦略は、画像にランダム化されたURLを作成することです。

これらのURLは、お客様のページ情報で提供することができます。しかし、彼らはbruteforcerによって推測することができず、通常yoursite /画像/ long_random_string

+0

イメージを含むWebページ(通常は20-30)をロードするだけで、一連のGETリクエストがS3にトリガされます。 – dwaasheid

+0

cssスプライトについて読むhttps://www.w3schools.com/css/css_image_sprites.asp 埋め込み画像用の画像サーバへの呼び出しを減らすのに役立ちます。 s3画像を減らす戦略はありません。 gzipされたバンドルをダウンロードした後、JSを使用してページを展開し、新しくダウンロードしたイメージでページを更新する以外の方法があります。非常に複雑で非標準です。 –

0

のようなものは、あなたのS3オブジェクト画像のAWS CloudFrontのサービスを追加しますので、404

につながります。したがって、キャッシュされたデータをエッジ位置から取得します。

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/MigrateS3ToCloudFront.html

+0

+1とhttps://aws.amazon.com/blogs/security/how-to-protect-your-web-application-against-ddos-attacks-by-using-amazon-route-53-anda-a- content-delivery-network/ – jarnohenneman

+0

CloudFrontは優れたサービスですが、誰かがあなたの帯域幅や要求ごとの請求書を悪用しようとした場合、これは本質的に影響を与えません。 CloudFrontは特定のバケットのS3よりもはるかに多くのトラフィックを処理できるため、これは理論的な露出を増加させます。 –

0

@のモハン・shanmugamが指摘したように、あなたはS3バケットとしてあなたの原点とCloudFrontのCDNを使用する必要があります。外部エンティティがS3バケットを直接攻撃するのは悪い習慣と考えられます。

http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html

CloudFrontの配信では、あなただけのディストリビューションからのアクセスを許可するためにあなたのS3バケットのセキュリティポリシーを変更することができます。これにより、URLがわかっていてもS3への直接アクセスがブロックされます。

実際には、S3に対する直接的なDDoSの試行でAWSがAPIリクエストを抑制しなければならないため、追加費用を心配する前にウェブサイトのパフォーマンスに苦しむ可能性があります。

さらに、CloudFrontディストリビューションの前にAWS WAFを設定して、セキュリティ関連の懸念事項の高度な制御に使用することができます。

関連する問題