如何保护我的Amazon S3存储桶

时间:2012-06-08 05:04:55

标签: php security amazon-s3

我有Amazon S3,其中包含一堆我的视频(用于网络营销)。我还有图像,脚本,打包课程,视频教程,各种东西。所有文件都通过我的亚马逊桶中的不同文件夹进行排序。

问题是,使用某些Amazon S3 Bucket翻录程序的所有人都可以轻松使用所有文件。你只需输入水桶名称,然后就可以扯掉所有东西。我还收到了亚马逊发来的一封电子邮件,说我的存储桶不安全且可公开访问。

我想我必须设置一些存储桶策略?

我需要能够将视频嵌入我的各种网站(视频挤压页面)。此外,在我的培训区域,它也有嵌入式视频教程,以及一些供会员下载的zip文件,等等。我的JWPlayer SWF控制器文件和匹配的jwplayer.js文件都位于我的Amazon S3上(因此它加载速度快,我的所有视频嵌入都使用它,所以我没有jwplayer在很多站点上传20次不同的时间)。

我如何才能公开访问Bucket,但它仍然可以嵌入我的网页。我无法将其设置为仅允许域,因为它将在许多站点中使用。我可以从我的服务器的IP中允许它吗?如果我确实让它使用域名,我可以将1个站点作为重定向来设置引用者。就像一个有权访问S3的控制PHP文件......

任何帮助,链接,如何使我的工作和安全的见解都会很棒。提前谢谢!

1 个答案:

答案 0 :(得分:-1)

您需要创建仅在您的网页上共享的特殊链接,并且这些链接有时间限制。这样,如果链接在网络上传出,它们只会持续几秒钟,几分钟或几小时。在我的情况下,我创建了一个会员网站,其中一个人必须登录才能获得链接。即便如此,如果这些成员在网上剪切/粘贴这些链接,链接也会在半小时内死亡。

我在PHP here中讨论了我为此创建的函数。更多信息是here

我在PHP中的功能有效,但它还没有处理子文件夹,这也是我在其上放置stackoverflow问题单的原因。