麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

记录一次诡异的GIS大屏技术问题排查

事情发生在3个月前,当时我们的WebGIS大屏项目正在用于参加一个领导视察(这可能是这个系统最有用的地方了),结果在领导来的前一天晚上,项目经理突然打电话给我说:xxx,不好了,你快看看GIS大屏底图旁边的东西除了数据其他的都没了,什么也显示不出来。

我一听,这不是逗我吗?这个GIS大屏两边除了数据就是数据啊...耐不住领导的催促,不情愿的打开系统,打眼一看,见了鬼了,我们用于展示的酷炫动图没了。打开控制台一看,果然资源报错了,顺藤摸瓜发现是CDN不返回了。登录上我的个人CDN后台一看,啧,欠费了(为什么用个人CDN,因为小公司,用量不大)。那有啥说的,充200。

又过了大概一个月,我在那个GIS大屏新增功能debug时候,发现CDN又报错了,当时也没多想,毕竟刚刚参加了展会,把演示地址放出去了,这不也说明我们系统访问量高嘛(此刻我还在和老大吹嘘我们系统访问量高),也没多想再充200。

说到这大家是不是以为我在记录流水账?可是又过了不到一个月,又收到了七牛云的账单提醒,说流量又要没了。这就有点扯犊子了,展会过了两个月了,哪来的流量?并且这趋势是越来越猛,而我们的系统都要下了。

初步排查

虽然CDN的钱可以找公司要一点,但这明显的不正常访问还是引起了我的注意,于是打开了七牛云后台。

好家伙,短短不到一天时间,江苏地区直接刷了接近5个G的流量,然后看了一下细化统计,发现是集中对CDN中的大图做了频繁的访问。

然后再看一下IP地址,发现几个量大的都集中在几个IP里。

好嘛,这是被恶意攻击刷量了。

解决方案

既然找到了原因,就去找解决方法了,联系了七牛云的技术团队,这个团队比较高傲,大家沟通的时候注意一下语气,否则可能被骂,目前七牛云提供官方解决方案非常简陋。

主要有Referer 防盗链、时间戳防盗链、回源鉴权、IP 黑白名单、UA 黑白名单5种,然后就没了。

首先说 Referer 防盗链,这玩意没什么用,设置了也一样,因为这个非常好破解。

时间戳防盗链是有用的,通过对时间有关的字符串进行签名,将时间、签名信息通过一定的方式传递给 CDN 边缘节点服务器进行鉴权,从而正确响应合法请求、拒绝非法请求。相比于 referer 防盗链,时间戳防盗链的安全性更强,推荐打开。

回源鉴权功能更强大,对 CDN 接收到的访问请求进行鉴权,适用于对防盗链有很高实时性要求的场景。但使用这个能力也需要开发者有比较强的开发能力(或者比较有钱),需要自己在后台开发配置一个类似WAF(Web Application Firewall)的服务,自己制订策略来拦截非法请求。

IP 黑白名单,这个是最简单最强大的一种方式,就是把恶意访问的IP地址(比如小编遇到的大量的江苏宿迁IP),集中记录下来,然后加入黑名单。但这个方法有个弊端,就是当你抓到的时候,它已经刷完了,损失已经造成了。

UA 黑白名单和 Referer 防盗链一样没用,太容易伪造了,这里不赘述。

后续措施

找到解决方案之后小编大约做了如下解决方案。

首先是技术侧的。

  1. 添加 IP 黑名单,对恶意IP进行封禁,这里有个技巧是使用/16/24 来进行IP段的封禁。比如192.168.0.0/16,所表示的IP地址范围是从192.168.0.0到192.168.255.255;192.168.0.0/24表示的IP地址范围是从192.168.0.0到192.168.0.255。因为小编发现基本的IP就是那几个,并且跳着来,使用这种方法之后会清净不少。
  2. 打开时间戳防盗链,这个改造量不大,可以接受。
  3. 回源鉴权方案启用,这个找了公司的运维团队,后续等他们反馈,我们更倾向于找一个成熟的WAF解决方案。

另外业务侧,找公司用到的bucket统一迁移到阿里云,不再使用七牛云。这里的一个原因是七牛云的团队比较傲矫,态度很谜之自信;另一个原因就是七牛云目前的技术功能太差,基本的流量管理功能都没有,比如:设置带宽上限、设置单请求限速、设置带宽限速等都不提供,甚至流量包用完直接停用也不支持,要不是我们这边业务出问题,提前发现可能会出巨额账单。不过反过来想想也是,反正损失的是你的钱,又不是他们七牛云的钱,七牛云反而能多挣钱,为什么要上这种减少收入的功能呢?

最后就是法律层面,如果造成的损失过大的话,可以报警(但小编这边损失的钱比较少,就没计较了),另外七牛云作为平台方,在大流量单个IP重复刷量并未及时发现异常并向客户预警,是可以追究平台责任。当然你直接问他们不会理你的,直接拨打 021-12345,公司名称:上海七牛信息技术有限公司,公司地址:上海市浦东新区博霞路66号(这两个信息一定要提供),亲测是有用的,可以退钱。当然如果你想折腾,也可以收集恶意访问的日志,向当地的运营商投诉,或者向当地警方投诉。

总结

虽然一套措施下来问题解决了(其实偶尔也会有新的突破限制),但小编还是没想明白为什么会遭遇这种恶意刷量,以及这种刷量的意义是什么。有人说这是平台故意刷,但我相信七牛云虽然态度不好功能不强大,这种事情还不至于。也有人说是PCDN,为了平衡大流量上传,需要刷一点下载流量,但我们这种小家小户的能有多少流量刷啊,为啥不找个大平台。后面找了一圈,至今也没明白

那最后就可能是小编自己的原因了,如果小编哪篇推文冒犯了大家,小编这里给大家赔个不是,小编一个月微信的广子费用可能都没200,感谢您的大恩大德,请您放过,谢谢。

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子
没有下文

留言板(小编看到第一时间回复)