如何防止在S3上下载暴力文件?

时间:2015-10-14 12:11:23

标签: amazon-web-services amazon-s3

我在S3上存储用户图像,默认情况下是可读的。

我也需要直接从网上访问图片。

但是,我想防止黑客强行破坏网址并下载我的图片。

例如,我的S3图片网址为http://s3.aws.com/test.png

他们可以进行暴力测试并下载所有内容吗?

我无法将我的存储桶中的项目设置为私有,因为我需要直接从网络访问。

知道怎么预防吗?

2 个答案:

答案 0 :(得分:4)

使用良好的安全性不会影响您直接从网络访问的能力"。如果使用了适当的权限,则可以从Web访问Amazon S3中的所有内容。

默认情况下,Amazon S3中的所有内容都是私有的。

然后可以通过多种方式分配访问内容的权限:

  • 直接在对象上(例如,制作一个对象' public')
  • 通过存储桶策略(例如,如果从特定范围的IP地址访问,则允许访问子目录,在特定时间内,但仅通过HTTPS)
  • 通过分配给 IAM用户的策略(要求用户在访问Amazon S3时进行身份验证)
  • 通过有时间限制的Pre-signed URL

最有趣的是预签名网址。这是计算的 URL,允许在有限的时间段内访问Amazon S3对象。应用程序可以生成预签名URL并将链接包含在网页中(例如,作为<img>标记的一部分)。这样,您的应用程序确定是否允许用户访问对象,并可以限制链接的工作持续时间。

答案 1 :(得分:1)

您应该确保内容安全,并使用Pre-signed URLs仅允许访问您网站的授权访问者。您必须编写一些代码才能使其正常工作,但它是安全的。