这两天发生了一件震惊 IT 圈的大事,很多程序员博主的网站竟然 同时 被恶意攻击,盗刷了大把流量费,我这个老倒霉蛋自然也中招了,作为受害人,专门做了本次分享,希望其他有网站的朋友们也都小心点。
那为什么我们会同时被攻击?攻击让我们损失了多少钱?为什么我让其他朋友们也要小心点儿?怎么预防被刷流量?
这事儿可没那么简单,且听我娓娓道来。
心酸小故事
最开始我看到朋友 guide 哥发了个文章,说自己被狗咬了,点进去一看,原来是网站被攻击盗刷了 600 G 流量,白搭了 100 元流量费。
我一看,这事儿我特么可太熟悉了啊!估计不少朋友还记得我之前被网络攻击折腾的人模狗样的悲惨经历吧。
于是,我就给 guide 哥分享了我之前写过的防攻击经验文章,表示关怀。
本来以为就只有他被盯上了,谁知事情没那么简单。小林哥也发了篇文章,也说自己也被狗咬了,点进去一看果然也是被攻击者盗刷了 600 G 的流量,差不多 70 元。
奇怪,怎么也是 600 G?看到这,我已经有了一种不好的预感,意识到了事情的严重性。
慌了、慌了、我开始慌了,于是赶紧去检查了我的 cdn 服务。
卧槽尼玛!卧槽尼玛!!卧槽尼玛!!!我果然也被刷了!总共 500 G 左右!
我特么还搁那安慰别人呢?痛,这太痛了!
经过分析,我和其他博主被刷 CDN 流量的客户端主要都来自山西,而且我们被刷流量的现象是一模一样的:
- 都是晚上 7 点左右开始作案
- 都是每小时刷几十 G 的流量
- 都是只持续了几个小时,然后事了拂衣去,深藏功与名
显然,我们是被同一波人盯上了。但奇怪的是,他们竟然不全天刷流量,而是每天刷完几个小时就停手了。
不行,怎么还有点小感动。。
本来我在猜测,是不是我们这些程序员博主动了谁的蛋糕?针对我们这些人进行攻击。但是,突然发生在我身上的另一件事,让我觉得事情没那么简单。。。还有高手?
什么事情呢?有位读者反馈说自己突然无法访问我们的编程导航网站了,但其他网站都能正常访问。
因为这个网站我们接入了某家的高防 CDN,我就到后台看,这位用户的 IP 并没有封禁呀?
然后我就去问 CDN 的技术小哥,结果他来了一句:“山西太原? 那就先封着吧。。”
我:???
小哥接着说:最近山西那边全部是攻击,腾讯都被那边打了,全是家庭带宽的 IP,腾讯云那边的建议是把整个大段路由全拦截掉。
山西,等等,我突然想到了什么,我们被刷 CDN 流量的客户端不正是来自山西吗?
而且经过调研,不止我们这些程序员博主,很多公司和个人开发者、甚至据说很多高校的开源镜像站也被盗刷了流量。看来我们不是被针对了,而是被开地图炮无差别攻击。
那想必大家也会和我一样好奇啊,这些攻击者这么做有什么意义呢?我们又怎么预防自己被刷流量呢?
攻击者的意图
通过调研,发现网上有这么几种猜测:
1)怀疑某家云服务商在监守自盗
这显然不太可能,因为不止一家,各大云服务商(阿里、腾讯、百度、七牛)的 CDN 都有类似的情况。
2)一些地方运营商在刷,说是他们有跨省结算问题,会通过刷流量来打平内部账单
3)违规使用家庭宽带的黑心 IDC(数据中心)通过 PCDN 刷下载流量来降低上传 / 下载比例,来避免被运营商发现。
其实 2 和 3 可以算是同一种情况,这里我们只要了解几个概念,就能理解攻击者这么做的理由了。
1)首先是省间结算,是指运营商在 不同省份之间 进行业务结算。由于网络服务通常跨多个省份,而每个省份的网络都是独立运营的,因此在用户使用跨省的网络资源时,需要进行费用结算。运营商需要统计跨省的数据流量,并根据相关协议进行费用分摊和结算,这样有助于确保各省份的运营商在提供服务时的公平性。
2)PCDN,也就是 P2P + CDN,英文全称是 Peer to Peer Content Delivery Network,即点对点内容分发网络。这是一种利用用户的终端设备(比如家庭宽带路由器、个人电脑)来缓存和分发内容的技术。以前下载内容都要从中心服务器下载,而有了 PCDN 后,用户之间可以直接点对点连接来传输数据,这样一来服务器也省了流量、用户也能更快地上传下载内容。
听起来是不是很不错,美滋滋啊,但就是这样一个牛掰的技术,却遭到了运营商的封杀。。
为啥?当然是影响利益了!
一方面是海量 PCDN 的流量传输会对运营商网络造成压力,而且由于 PCDN 常常涉及跨省数据传输,导致运营商在省间结算时需要支付更多费用,属实是出力不讨好。
另外一方面,现在很多服务商选择更便宜的 PCDN 技术,不租你运营商的带宽了,直接抢走了运营商的收入。
因此,在省间结算期间,运营商会加大对 PCDN 等非法消耗跨省网络资源用户的打击。而最容易被盯上的,就是符合 PCDN 特点 —— 上传流量远大于下载流量 的用户。
在这个背景下,如果被盯上的是你,你会怎么做呢?
当然是狂刷下载流量,来平衡上传 / 下载比例,防止被封杀呀!所以越是有大文件资源的网站,比如镜像站点、软件安装站点,越容易被成为猎杀对象,鱼皮被刷流量的网站,正是我们提供了软件安装包的剪切助手官网。
而且晚上正好是 PCDN 上传高峰期,所以一切都变得合理了。
怎么防止被刷流量?
每次出现这种事情,我之前分享的 《我被刷几万元的血泪经验。。。》 这篇文章的含金量都在上升。
其中提到几点:
- 要保护好自己服务的唯一标识
- 要严格控制访问权限
- 要严格配置监控告警
- 要配置 IP 访问限频和用量封顶
不过为啥我这次没有及时发现自己被刷了流量呢?其实是因为攻击 IP 基本都是动态的家庭宽带,跟正常用户基本没有区别,所以也没有触发告警,有点儿温水煮青蛙的意思了。。
所以还是那个建议,能不用 CDN 就别用! 想想你的网站的访问量,是否真的有必要用 CDN 呢?
这段时间有自己网站的朋友们,也要注意保护好自己的网站,多看看数据监控。一旦发现有些异常的客户端 IP,可以用黑名单封禁掉,或者这段时间整个封禁以下山西的网段:
- 221.204.0.0/16
- 221.205.0.0/16
那我也会继续关注这个事情的后续,求点赞、在看、转发,希望更多人能看到这次的分享,减少损失。