Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >对象存储的流量被盗刷了

对象存储的流量被盗刷了

原创
作者头像
shigen
发布于 2023-10-09 07:48:57
发布于 2023-10-09 07:48:57
1.1K0
举报

背景

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

腾讯云COS账单
腾讯云COS账单

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

腾讯云请求数
腾讯云请求数

解决

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

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

官方给的设置防盗链的操作
官方给的设置防盗链的操作

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

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

生成的日志文件
生成的日志文件

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

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

记录的日志
记录的日志

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

博客平台转存图片流程
博客平台转存图片流程

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

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

image-20231009143208951
image-20231009143208951

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

COS文件预览地址
COS文件预览地址

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

牛客网最近发布的文章列表
牛客网最近发布的文章列表

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

防盗链黑名单配置
防盗链黑名单配置

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

访问被拒绝
访问被拒绝

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

image-20231009143940215
image-20231009143940215

后续

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

盯着监控面板

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

可观测平台监控面板
可观测平台监控面板
配置告警规则

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

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

告警规则配置
告警规则配置

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

TODO:程序拉取分析

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


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

shigen一起,每天不一样!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spring读源码系列番外篇---06----类型转换---下---ConversionService相关家族
Spring读源码系列番外篇—02—PropertyResolver的结构体系剖析—上
大忽悠爱学习
2022/05/10
6500
Spring读源码系列番外篇---06----类型转换---下---ConversionService相关家族
【死磕 Spring】----- IOC 之深入分析 Bean 的类型转换体系
我们知道不管 bean 对象里面的属性时什么类型,他们都是通过 XML 、Properties 或者其他方式来配置这些属性对象类型的。在 Spring 容器加载过程中,这些属性都是以 String 类型加载进容器的,但是最终都需要将这些 String 类型的属性转换 Bean 对象属性所对应真正的类型,要想完成这种由字符串到具体对象的转换,就需要这种转换规则相关的信息,而这些信息以及转换过程由 Spring 类型转换体系来完成。
用户1655470
2019/03/06
9460
【死磕 Spring】----- IOC 之深入分析 Bean 的类型转换体系
【小家Spring】聊聊Spring中的数据转换:Converter、ConversionService、TypeConverter、PropertyEditor
前面聊了HttpMessageConverter,它的名称叫消息转换器,所以它面向的是消息体,和Http强相关,所以该接口所在的包为:org.springframework.http.converter
YourBatman
2019/09/03
6.5K0
【小家Spring】聊聊Spring中的数据转换:Converter、ConversionService、TypeConverter、PropertyEditor
Spring读源码系列番外篇---05----类型转换---中---三种全新的类型转换器
Spring读源码系列番外篇—02—PropertyResolver的结构体系剖析—上
大忽悠爱学习
2022/05/10
1.2K0
Spring读源码系列番外篇---05----类型转换---中---三种全新的类型转换器
Spring官网阅读系列(十一):Spring中的BeanWrapper及类型转换
BeanWrapper的子类只有一个:BeanWrapperImpl,它继承了ConfigurablePropertyAccessor,这个接口的主要功能是进行属性访问,同时它又有三个父接口,接下来我们一一分析他们的功能。
秃顶的Java程序员
2020/03/29
1.4K0
4. 上新了Spring,全新一代类型转换机制
上篇文章 介绍完了Spring类型转换早期使用的PropertyEditor详细介绍,关于PropertyEditor现存的资料其实还蛮少的,希望这几篇文章能弥补这块空白,贡献一份微薄之力。
YourBatman
2022/03/08
1K0
4. 上新了Spring,全新一代类型转换机制
4. 上新了Spring,全新一代类型转换机制
上篇文章 介绍完了Spring类型转换早期使用的PropertyEditor详细介绍,关于PropertyEditor现存的资料其实还蛮少的,希望这几篇文章能弥补这块空白,贡献一份微薄之力。
YourBatman
2020/12/21
1.4K0
4. 上新了Spring,全新一代类型转换机制
Spring官网阅读(十四)Spring中的BeanWrapper及类型转换
BeanWrapper的子类只有一个:BeanWrapperImpl,它继承了ConfigurablePropertyAccessor,这个接口的主要功能是进行属性访问,同时它又有三个父接口,接下来我们一一分析他们的功能。
程序员DMZ
2020/07/07
1.6K0
Spring官网阅读(十四)Spring中的BeanWrapper及类型转换
深入分析Spring Type Conversion数据转换
  Spring 3 推出了全新的数据类型之间的转换以替换PropertyEditor转换模式,但网上并没有很好的源码解读。Spring MVC是如何用这套转换体系将页面中的数据转成相应的业务对象的呢?首先让我们看看在不使用Spring 容器的情况下,如何使用Spring的类型转换功能。
良辰美景TT
2018/09/11
6970
深入分析Spring Type Conversion数据转换
6. 抹平差异,统一类型转换服务ConversionService
通过前两篇文章的介绍已经非常熟悉Spirng 3.0全新一代的类型转换机制了,它提供的三种类型转换器(Converter、ConverterFactory、GenericConverter),分别可处理1:1、1:N、N:N的类型转换。按照Spring的设计习惯,必有一个注册中心来统一管理,负责它们的注册、删除等,它就是ConverterRegistry。
YourBatman
2020/12/28
1.4K0
6. 抹平差异,统一类型转换服务ConversionService
Spring读源码系列番外篇---03---PropertyResolver的结构体系剖析---下
Spring读源码系列番外篇—02—PropertyResolver的结构体系剖析—上
大忽悠爱学习
2022/05/10
4720
Spring读源码系列番外篇---03---PropertyResolver的结构体系剖析---下
【死磕 Spring】---- Spring 的环境&属性:PropertySource、Environment、Profile
spring.profiles.active 和 @Profile 这两个我相信各位都熟悉吧,主要功能是可以实现不同环境下(开发、测试、生产)参数配置的切换。其实关于环境的切换,小编在博客 【死磕Spring】----- IOC 之 PropertyPlaceholderConfigurer 的应用 已经介绍了利用 PropertyPlaceholderConfigurer 来实现动态切换配置环境,当然这种方法需要我们自己实现,有点儿麻烦。但是对于这种非常实际的需求,Spring 怎么可能没有提供呢?下面小编就问题来对 Spring 的环境 & 属性来做一个分析说明。
用户1655470
2019/03/06
2.9K0
【死磕 Spring】---- Spring 的环境&属性:PropertySource、Environment、Profile
9. 细节见真章,Formatter注册中心的设计很讨巧
Spring设计了org.springframework.format.Formatter格式化器接口抽象,对格式化器进行了大一统,让你只需要关心统一的API,而无需关注具体实现,相关议题上篇文章 有详细介绍。
YourBatman
2021/01/15
9290
9. 细节见真章,Formatter注册中心的设计很讨巧
Spring读源码系列番外篇04----类型转换--上---老旧的PropertyEditor
Spring读源码系列番外篇—02—PropertyResolver的结构体系剖析—上
大忽悠爱学习
2022/05/10
7290
Spring读源码系列番外篇04----类型转换--上---老旧的PropertyEditor
5. 穿过拥挤的人潮,Spring已为你制作好高级赛道
上篇文章 大篇幅把Spring全新一代类型转换器介绍完了,已经至少能够考个及格分。在介绍Spring众多内建的转换器里,我故意留下一个尾巴,放在本文专门撰文讲解。
YourBatman
2020/12/22
6600
5. 穿过拥挤的人潮,Spring已为你制作好高级赛道
关于Spring属性处理器PropertyResolver以及应用运行环境Environment的深度分析,强大的StringValueResolver使用和解析【享学Spring】
若直接提PropertyResolver或者StringValueResolver可能很小伙伴会觉得非常的陌生,但是我若提Environment和EmbeddedValueResolverAware这个感知接口,相信大部分小伙伴就能感受到一种亲切感了~。
YourBatman
2019/09/03
6.5K0
关于Spring属性处理器PropertyResolver以及应用运行环境Environment的深度分析,强大的StringValueResolver使用和解析【享学Spring】
Spring读源码系列番外篇08---BeanWrapper没有那么简单--上
Spring读源码系列番外篇08---BeanWrapper没有那么简单--上 引子 PropertyAccessor TypeConverter ConfigurablePropertyAccessor TypeConverterSupport TypeConverterDelegate AbstractPropertyAccessor AbstractNestablePropertyAccessor DirectFieldAccessor PropertyAccessor使用Demo PropertyV
大忽悠爱学习
2022/05/10
1K0
Spring读源码系列番外篇08---BeanWrapper没有那么简单--上
【死磕 Spring】----- IOC 之自定义类型转换器
在上篇文章中小编分析了 Spring ConversionService 类型转换体系,相信各位都对其有了一个清晰的认识,这篇博客将利用 ConversionService 体系来实现自己的类型转换器。
用户1655470
2019/03/06
1.2K0
Spring和性——数据的类型转换
在字符串到实体转换一文中介绍了Spring核心框架中使用PropertyEditor将任何字符串转换为数字、实体的方法。除了字符串到实体,Spring还提供了更加通用的功能在对象和对象之间进行数据转换。
随风溜达的向日葵
2018/09/19
9800
「Spring源码分析」Environment
表示当前应用系统正在运行的环境,为 profiles 和 properties 这两个重要的方面提供模型,Environment接口定义了处理profiles的相关方法,而访问property的有关方法由父接口PropertyResolver定义
花言不知梦
2020/05/14
1.7K0
「Spring源码分析」Environment
推荐阅读
Spring读源码系列番外篇---06----类型转换---下---ConversionService相关家族
6500
【死磕 Spring】----- IOC 之深入分析 Bean 的类型转换体系
9460
【小家Spring】聊聊Spring中的数据转换:Converter、ConversionService、TypeConverter、PropertyEditor
6.5K0
Spring读源码系列番外篇---05----类型转换---中---三种全新的类型转换器
1.2K0
Spring官网阅读系列(十一):Spring中的BeanWrapper及类型转换
1.4K0
4. 上新了Spring,全新一代类型转换机制
1K0
4. 上新了Spring,全新一代类型转换机制
1.4K0
Spring官网阅读(十四)Spring中的BeanWrapper及类型转换
1.6K0
深入分析Spring Type Conversion数据转换
6970
6. 抹平差异,统一类型转换服务ConversionService
1.4K0
Spring读源码系列番外篇---03---PropertyResolver的结构体系剖析---下
4720
【死磕 Spring】---- Spring 的环境&属性:PropertySource、Environment、Profile
2.9K0
9. 细节见真章,Formatter注册中心的设计很讨巧
9290
Spring读源码系列番外篇04----类型转换--上---老旧的PropertyEditor
7290
5. 穿过拥挤的人潮,Spring已为你制作好高级赛道
6600
关于Spring属性处理器PropertyResolver以及应用运行环境Environment的深度分析,强大的StringValueResolver使用和解析【享学Spring】
6.5K0
Spring读源码系列番外篇08---BeanWrapper没有那么简单--上
1K0
【死磕 Spring】----- IOC 之自定义类型转换器
1.2K0
Spring和性——数据的类型转换
9800
「Spring源码分析」Environment
1.7K0
相关推荐
Spring读源码系列番外篇---06----类型转换---下---ConversionService相关家族
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档