对象存储服务流量被盗刷了

背景

家人们谁懂啊,早上起来发了日常的文章,出门的时候发现手机上腾讯云给的提示:COS欠费了。我不敢相信的我的眼睛!我之前每个月才花费几毛钱的,知道的伙伴都知道我这可是卖废品攒下来的钱!看了一下账单,我的天!

这谁顶得住,刚想去问问腾讯云的客服:你们是不是搞错了,一想,不对啊,我得先看看监控。

解决

好家伙,我在10月7日的请求数达到了1.87万次。啥概念啊,都到万次的级别了,这肯定是有人攻击了我的服务了。我再去看了我的COS存储桶,没有新增的文件,那就是读请求。是谁在恶意的刷流量,毕竟这种事情已经屡见不鲜了。在我寻找解决方案的时候,看到了一篇文章,对象存储服务被刷流量,直接造成了好几万的欠费。这要是换做我了,岂不是要直接一招回到解放前! 我吓的赶紧去看了对应的解决方案。

官方的文档是这样的:设置防盗链

我一想,这样配置的话,我可以把我常用的博客网站放在白名单里,但是我本地去写markdown文件的时候,仍然需要读的,这可咋办。对此,我去问了一下腾讯的客服,但是给我的解决方案仍然是设置防盗链。

我觉得并没有解决我想要的问题,也许解决起来很复杂。我想到了日志:日志管理概述。那为什么不把日志存储起来共我分析呢,自己写个脚本,发现异常的IP刷流量,直接记录下来,手动添加到黑名单里。说干就干,下午两点钟起来的时候看了一下日志,果然生成了。

发现日志是按照天建的文件夹,文件是每五分钟生成一个,和文章中表示的滚动生成一样的。我打开了最近10分钟内的监控页面看了一下,发现产生了一个峰值,我再次找到生成的日志文件,发现了这样的一个网址:牛客网。

意思是牛客网一直在访问我的图片,我的markdown文件中的图片它没有做一个转存操作!

正常的博客平台是这样的:

而我接触的牛客就不一样了,它直接用的我COS的地址。这就造成了:每个用户访问我的文章,其实都是变相的直接访问我的COS,增加我的下行流量;再严重一点,可以猜到我的COS地址和文件存储的规则,写脚本对我的COS文件进行轮询,流量直接拉满。

我赶紧找了我昨天晚上发布的文章看了一下:《分布式锁如何实现》。

当我点开我的文章图片的时候,它直接跳到了我的COS文件预览地址:

好家伙,把我吓的一惊。这还怎么搞,我才到这个平台发布文章,就这么点访问量都能给我的COS带来这么多的流量,后期更完蛋。

我赶紧按照官方文档配置了一下黑名单,把牛客网的加到了黑名单里。

这个时候当我尝试访问的时候,就出现了403拒绝访问的页面。

原来的文章里的图片也访问不了了,直接是403的页面。但对页面是没有影响的,顶多无法看到我文章的配图。

后续

本着很谨慎小心的态度,我做了如下的防范,光配置黑名单是不够的。

盯着监控面板

在腾讯云可监测平台里,时刻关注着COS的各种指标监控。发现异常,立即去查看日志,把可疑的网站或者IP拉入黑名单。

配置告警规则

但是一天也并不能时刻关注着监控图表,我也有疏忽的时候,这个时候监控告警规则就派上用场了。

我在可观测平台的【告警策略】中做了如下的配置:

希望下次在出现异常和恶意的流量盗刷的时候,能够及时的提醒我。

TODO:程序拉取分析

其实结合上边的两种,还是不大智能,所以我写了一个TODO项,写代码拉取监控指标数据,并分析日志文件。一旦发现监控指标超过了我能接受的阈值,立马拉取日志文件取分析,提取其中的请求信息,把IP查找出来进行拉黑处理。


好了,以上就是今天的全部内容了,觉得不错的话,记得点赞 关注支持一下哈。

shigen一起,每天不一样!

相关推荐
代码小鑫2 小时前
A035-基于Spring Boot的企业内管信息化系统
java·开发语言·spring boot·后端·spring
Spy972 小时前
django 过滤器的执行
后端·python·django
camellias_7 小时前
SpringBoot(二十三)SpringBoot集成JWT
java·spring boot·后端
tebukaopu1487 小时前
springboot如何获取控制层get和Post入参
java·spring boot·后端
昔我往昔7 小时前
SpringBoot 创建对象常见的几种方式
java·spring boot·后端
灭掉c与java7 小时前
第三章springboot数据访问
java·spring boot·后端
啊松同学8 小时前
【Java】设计模式——工厂模式
java·后端·设计模式
枫叶_v8 小时前
【SpringBoot】20 同步调用、异步调用、异步回调
java·spring boot·后端
源码121510 小时前
ASP.NET MVC宠物商城系统
后端·asp.net·宠物
Ai 编码助手11 小时前
Go语言 实现将中文转化为拼音
开发语言·后端·golang