参考了腾讯 COS 官方的资料: https://cloud.tencent.com/document/product/436/56651
但是似乎自定义 Header 可以绕过此限制。
大家还有什么好办法吗,怕一觉醒来房子没了(本来也没有房子~~)
1
wafm 2021-06-18 14:30:21 +08:00
首先你得说说你的应用场景啊,不清楚应用场景怎么防呢
|
2
murmur 2021-06-18 14:32:23 +08:00
国内 d 多了直接进黑洞把,欠不了太多,别人也知道你不会为 ddos 买单,但是 d 一次你要是不买高防可能会拒绝服务
|
3
JensenQian 2021-06-18 14:42:25 +08:00 via Android
不用呗
|
4
stimw 2021-06-18 14:46:37 +08:00 via Android
不想被 cos 绑架,那只能被它的 cdn 绑架。
我本来想在 cos 上套 cdn (不是腾讯云的),发现 bucket 默认不带缓存控制,又不支持整体设置头部的缓存制(只能对对象单独一个个设置),境外回源还很贵,直接放弃用 cos 了。 |
5
Macv1994 2021-06-18 14:55:58 +08:00
借贴问一下,我的 bucket 就用来存储云服务器备份的数据,会不会存在盗链的问题呢?
|
7
keyword233 2021-06-18 15:34:31 +08:00 3
单靠 COS 本身做不到防刷,另外建议 COS 前边一定要有个 CDN,不管谁家的都行,要不然用不起。(据说海外 COS cf 回源也可以减免流量费,不过我没实践过~)
给几个建议: 1. 储存桶改成私有读,然后每次请求自己签名并负责风控。(如果用腾讯云 cdn 的话也可以配置请求自动签名)(用其他 CDN 的话也可以在 ‘Policy 权限设置’ 里放行对应 CDN 回源 IP ) 2. 要注意不要暴露 COS 默认源站域名,否则可以轻松绕过你的其它措施高效地刷你流量。(记得在 CDN 上拦截掉除 2XX 以外的所有响应,因为响应中会携带储存桶信息) 3. 事实上如果找到你 COS 桶源站域名,就算你每个请求都鉴权,攻击者也可以靠刷请求次数让你破产~(无效请求也要计费) |
8
yuzo555 2021-06-18 16:30:57 +08:00
COS 套腾讯的 CDN 。
COS 私有读写,CDN 开自动私有鉴权。 然后在 CDN 上面做带宽封顶限制。 |
10
andstack 2021-06-18 17:03:17 +08:00
@keyword233 咨询过工单,cos 套上 cdn,cdn 请求数不收费
|
11
stimw 2021-06-18 17:35:55 +08:00 via Android
@yuzo555 我是用 cf 的,如果要统一配置的话就要专门加一条页面规则...我 3 条免费额度已经用完了。cos 的 bucket 不能一起设置缓存标头就不合理。
@keyword233 我也听说回源免费(包括阿里 oss ),cloudflare 官网上有标出这些合作伙伴,但我没有在腾讯云找到关于这个的文档说明... |
12
yuzo555 2021-06-18 17:58:05 +08:00
@stimw 没有这个功能完全合理...
正常情况下完全可以在 CDN 配置缓存规则。 给每一个文件都加上 Cache-Control 响应头这种需求实在太小众了,如果一定要做,可以在上传时就设置(针对 SDK 上传),或者可以设置上传后触发的云函数(针对手动上传),自动给他添加这个响应头。 |
13
Lampo1225 2021-06-18 18:03:11 +08:00
@captainm
1.referer 防盗链是一个较低级别的拦截,可以通过客户端拟定 referer 头绕过。不能完全避免。 2.使用签名的方式来防刷,需要用密钥做签名,这个安全级别很高。同时可通过腾讯云 CDN 自动生成回源签名,便于访问。 3.可以通过云监控的流量监控,当达到阈值后进行告警通知,资源所有者可及时处理和排查。 |
14
mringg 2021-06-18 18:18:06 +08:00
cos 就只做存储,流量还是从服务器走
|
15
Jirajine 2021-06-18 18:57:45 +08:00
得看场景吧,私有内部使用不公开,肯定没有问题。半公开(已登录用户请求)那就带 token 限额,做好账户风控即可。完全公开(公开文件、图床等)只能按 IP 限额,套更廉价的 cdn 也能省一些。
|
16
keyword233 2021-06-19 15:01:12 +08:00 via Android
@andstack 是的,正常状态下 CDN 请求数不计费,
我的 3 讨论的是恶意用户绕过 CDN 直接打 COS 的情况。 |
17
captainm OP @keyword233 感谢你提供的建议,这对我很有帮助。
我目前的使用场景其实比较简单:一般我使用 markdown 来写笔记,然后使用 PicGo 配合 COS 来做自己的图床(和简单的文件存储),然后把 md 内容贴到博客上去。 另外,我的域名没有备案,使用的也是境外的服务器,所以使用 COS 做文件存储会对我博客的速度很有帮助。 |
18
captainm OP @stimw 我只是用 cos 做图床和简单的文件存储,markdown 写笔记和博客时,这会很方便。另外我的域名没有备案,用的也是境外的 vps,如果想要兼顾速度的话,似乎直接用腾讯云的 cdn 比较好,因为可以不用绑定域名。如果使用其他 cdn,因为域名不备案的关系,第三方 cdn 的境外节点去腾讯 cos 回源,似乎会更慢吧...
|