腾讯 CDN 在 2023 年 1 月 5 日开始对 cdn 的 https 请求计费。价格为每万次请求 0.05 元 /万次请求。
但是在恶意攻击时,用户会产生天价的可能会产生费用。
比如一个随便主机,可以每秒钟发起 220 次 https 请求,每分钟发起 13000 次请求。每小时 80 万次。 这样一天下来会有约 100 元的 https 请求费用。一个月会有 3000 的请求费用。
下面的信息是被攻击后的流量和请求数:
总流量 65.16 GB 平均流量命中率 56.3 % 请求数 2602.35 万
如果你在腾讯云里预存的费用较多,恭喜你要当冤大头了。 估计预存费用用完后才发现。
如果你发现了被攻击,然后按照腾讯官方的建议,需要设置 CDN 业务的 QPS 、IP 黑名单、区域限制。这样请求的状态码为 514 。不计费。
https://cloud.tencent.com/document/product/228/11201#m2-5
Q:IP 限频产生的 HTTPS 请求数是否计费? A:IP 限频、IP 黑白名单、区域访问控制产生的 HTTPS 拒绝请求均不纳入 HTTPS 计费数据,状态码为 514 。
Q:IP 黑白名单产生的 HTTPS 请求数是否计费? A:IP 限频、IP 黑白名单、区域访问控制产生的 HTTPS 拒绝请求均不纳入 HTTPS 计费数据,状态码为 514 。
上面的措施中,IP 黑名单、区域访问控制,都是被攻击后的针对攻击者 IP 和区域的事后措施。唯有 QPS 可以事先设定,预防攻击导致的费用。
然而,不幸的是,腾讯 CDN 业务的 https 计费可能是推出太仓促,上述规则并不一定生效。设置 QPS 后,请求的状态码为 403 ,仍然会计费。 打电话找客服,客服说先扣费。 如果确认是设置了 QPS ,下个月会返还。
xxxxx 2023-01-14 11:51:06 你们的方案是 现在你们的业务系统有问题。 每小时会扣 5 元,每天扣 120 ,每月 3600 先扣费。 然后在下个月再返回给我? 为什么你们的业务逻辑问题,需要用户承担这部分费用?
腾讯云工程师 2023-01-14 11:53:26 您好,配置 ip 黑名单后依然先返回 403 状态,未返回 514 不计费问题这边会尽快进行修复解决;
对于先扣费,再退您费用的方案这边再沟通核实下,请稍等。
没法子,只能先停了腾讯的 CDN 业务。客户也建议我停掉,要不就先把存几千块,让计费系统先扣了再算账。
被腾讯和攻击者搞的没有办法。
我想着让 腾讯 cdn 能返回 514 。
首先,把 refer 的检查去掉。
然后,用户请求的是一个被删除的文件。我把这个文件加回来。
然后重新开启 cdn 。
然后呢,攻击者在请求到文件后,就没有再发送请求了。
查看请求者的 UA ,是一个 windows 主机。
说明了啥?
估计是用户就是开启了一个迅雷下载之类的 P2P 下载工具。 然后 下载的资源被 cdn 限制。返回了 403 。 但是下载工具不屈不饶的发送请求(频率达到 200 次每秒)。 等我在 cdn 侧模拟了用户的这个资源,允许下载后,对方的下载软件检查到下载成功,就停止下载了。
于是业务就恢复了正常。
于是整个事件的剧情就成了: 流氓迅雷(揣测对方是迅雷下载) 和 狗日的腾讯 干上了。 让我的银子哗哗的往下掉。。。
所以 用腾讯的 CDN 的小心一下。你用户的一个 多线程 下载工具的反复尝试,就可能导致你收到一个天价的 https 请求账单。 如果从攻击的角度,https 请求的攻击,显然比流量攻击更经济。