Don*_*ins 20 amazon hotlinking amazon-cloudfront
我使用Amazon Cloudfront托管我所有网站的图像和视频,以便更快地为我的用户提供服务,这些用户遍布全球.我还将非常积极的前向缓存应用于Cloudfront上托管的元素,设置Cache-Control为public, max-age=7776000.
我最近发现我的烦恼是第三方网站正在与我的Cloudfront服务器进行热链接,以便在未经授权的情况下在自己的页面上显示图像.
我已经配置.htaccess为阻止我自己的服务器上的热链接,但是没有找到在Cloudfront上执行此操作的方法,这似乎本身不支持该功能.而且,令人讨厌的是,亚马逊的Bucket Policies(可用于防止热链接)仅对S3产生影响,它们对CloudFront分发没有影响[ link ].如果您想利用这些政策,您必须直接从S3提供内容.
在我的服务器日志中搜索hotlinkers并手动更改文件名并不是一个真实的选择,尽管我一直在这样做以结束最明显的攻击.
欢迎大家提出意见.
Bla*_*ise 10
确保也在原点上处理Referer标题.
我们有很多热门链接问题.最后,我们为许多图像创建了css sprites.向底部/侧面添加空白区域或将图像组合在一起.
我们使用CSS在我们的页面上正确显示它们,但是除非他们复制了CSS/HTML,否则任何热链接都会错误地显示图像.
我们发现他们不打扰(或不知道如何).
自2015年10月起,您可以使用AWS WAF限制对Cloudfront文件的访问。这是AWS上的一篇文章,其中宣布了WAF,并说明了您可以使用该功能。这是一篇帮助我设置第一个ACL来限制基于引荐来源的访问权限的文章。
基本上,我创建了一个默认动作为DENY的新ACL。我添加了一个规则,用于检查我的域名的引荐来源标头字符串的结尾(小写)。如果通过该规则,则允许访问。
在将ACL分配给Cloudfront发行版之后,我尝试直接在Chrome中加载我的数据文件之一,但出现此错误:
小智 2
据我所知,目前还没有解决方案,但我有一些可能相关、可能不相关的建议......
第一:很多人在 Cloudfront 支持论坛上问过这个问题。例如,请参见此处和此处。
显然,AWS 从热链接中受益:点击次数越多,他们向我们收取的费用就越多!我认为我们(Cloudfront 用户)需要启动某种精心策划的活动,让他们提供引用检查作为一项功能。
我想到的另一个临时解决方案是更改用于将流量发送到 cloudfront/s3 的 CNAME。假设您当前将所有图像发送至:
cdn.blahblahblah.com(重定向到某个 cloudfront/s3 存储桶)
您可以将其更改为 cdn2.blahblahblah.com 并删除 cdn.blahblahblah.com 的 DNS 条目
作为 DNS 更改,这将在其流量到达您的服务器之前淘汰当前正在热链接的所有人员:DNS 条目将根本无法查找。您必须不断更改 cdn CNAME 才能使其生效(例如每月一次?),但它会起作用。
这实际上是一个比看起来更大的问题,因为这意味着人们可以更轻松地抓取您网站页面的整个副本(包括图像) - 因此,您丢失的不仅仅是图像,也不仅仅是您为提供这些图像而付费。搜索引擎有时会得出结论,您的页面是副本,副本是原件......然后您的流量就会爆炸。
我正在考虑放弃 Cloudfront,转而采用战略定位的超快专用服务器(从一个地方向全世界提供所有内容),以便让我对此类事情有更多的控制权。
无论如何,我希望其他人有更好的答案!
| 归档时间: |
|
| 查看次数: |
11054 次 |
| 最近记录: |