梦想开始的地方
我们是一家创业公司,像很多团队一样,虽然不大但是有激情和有梦想,用理想驱动行动。团队成员也不是很多,大概10来个,基本都在20~25岁之间。创业之初,我们抓住了移动互联网的尾巴,在海外市场做卡牌类型的游戏,自己发行加上跟其他公司进行联合运营,获得了还算满意的成绩。今年开始决定发力国内的棋牌市场,刚开始还算比较顺利,经过半年研发,上线运营仅2个月,就积累了上千DAU。一切都在朝好的方向发展,小伙伴们都在忙着潜心研究用户需求,规划着未来,一切看起来都有条不紊地进行着。期间甚至还有上市公司向我们抛出橄榄枝,顿时让小伙伴们觉得信心倍增。可是,那个时候的我们还不曾想到,接下来的日子会是如此之灰暗和惨淡。
梦想变成梦魇
那是一个平淡无奇而又注定不平凡的下午,1点刚过,运营同学开始发力线上推广,而大家都在等着业务增长的到来。之前已经有很多次这样的期待,大家顺理成章的认为,这次的期待也能得到应有的回应。可是,大家盼来的却是一场噩梦的开始。
当天下午,一条短信打破了办公室的平静,“【阿里云】尊敬的xxx:你的IP:x.x.x.x受到的攻击流量,已超过云盾DDoS基础防护的带宽峰值,服务器的所有访问已被屏蔽⋯⋯”。紧接着就是客服群收到井喷一样的投诉,反馈游戏无法登录,再后来肯定就是玩家对游戏的无尽失望,以及我们对自己深深的责备。此时此刻,我们是蒙的,我们甚至不知道发生了什么,也不知道这条简单而普通的通知短信背后是如此惨痛的代价。
我们当中有一名小伙伴马上提出,我们不会是被人攻击了吧?听到“攻击”,大家的神经一下子绷紧起来,想想之前业务运营的顺风顺水是不是太侥幸了?如今现实残酷地摆在眼前,我机械地打开阿里云首页,一条DDoS攻击报警赫然在列,点开一看451Gbps,瞬间头皮发麻后脊背一凉。还是边上的小伙伴唤醒了已经失神的我,“看看阿里云的安全防护吧,以前参加他们云栖大会的时候有听说过云盾,应该会有产品可以防护的。”从一大堆产品目录中找到云盾,看到有DDoS高防和游戏盾两款比较match的产品。既然我们是游戏,就顺理成章地打开了游戏盾开始看。通过文档了解到,它的定位是解决T级别的DDoS攻击并且可以做到无上限的防护,也就是所谓的“无限抗”。其实当时这个我们是心里打鼓的(事实证明这个担心是多余的),因为在确认是攻击问题后,小伙伴们已经分头开始寻找解决方案,找到的结果不是价格贵得离谱,就是防护原理和效果说不清楚,我们只能看着问题干着急。抱着试试看的心里,我们提交了一份工单。试探性地想了解一下防护过程。时间一分一秒的过去,虽然当时等待的时间仅有2分半钟,但是对于当时的我来说,好像是过了一整年,除了自己的心跳和呼吸声,什么也听不到。事实证明,大厂就是大厂,在处理这些问题上比我们淡定很多,手段和方法也很多。针对我们的攻击事件类型,阿里云的安全专家也向我们推荐了游戏盾,主要是攻击峰值较大,攻击者后续应该有后手,不排除峰值越来越高。另外除了暴力型的DDoS攻击外,阿里云的安全专家也提醒我们注意CC攻击风险(后来事实证明,该来的还是会来,躲也躲不掉)。既然定了方案,那么接下来就开始进入紧张的技术对接。
忐忑不安的发布
对接过程还算比较顺利,从开通服务到拿到SDK开始对接,流程都比较顺利。这里也不得不吹一下我们的开发小哥,技术就是杠杠滴,看了一下文档经过和阿里云专家的简单沟通,大概用了2小时就完成了现有业务的SDK集成。正当我们觉得胜利在望,准备发布版本的时候,阿里云的专家紧急叫停。当时我们是拒绝的,心想难道产品有猫腻?不会坑我们的吧!原来他们一看我们要发布,赶紧把我们抓回来,他们有一套标准上线前的测试方案,来验证游戏盾的效果以及稳定性,防止接入后效果不符合预期。也非常感谢这次测试,发现了我们程序中两处很难复现又找不到原因的BUG。多次模拟攻击测试和稳定性测试,又抓出几个小BUG,在攻击防御功能符合预期后,评估了那几个BUG对业务影响不大,我们决定快速上线,优先保证业务。
终于,在中断6个小时以后,我们的业务再次“上线”。
天枰开始倾斜,胜利属于我们
发布大约1小时后,被攻击的短信告警再次响起。这一次,不止是一个IP地址被攻击,短信连续报警,瞬间我们觉得天塌了,已经不敢看短信了。心想,完蛋了,彻底失败了。但是与之前反应不同的是,仅有几个人在客服群里嚷嚷游戏掉线了,而大部分玩家都非常平静。然后嚷嚷游戏掉线的用户突然又说正常了,可能是自己网络问题。虽然此时的报警短信一直在炸,但是玩家似乎没有受到很大影响。这个是比较神奇的,更加神奇的是,我们打开游戏盾控制台的时候,发现可用的资源被黑客干掉了一小部分,但是我们的玩家在线丝毫没受到影响。我们当时其实是不相信的,反复确认数据,反复查询我们自己的数据库,结果告诉我们,攻击似乎和我们是绝缘的。难道短信告警是假的?
黑客发动大流量攻击,节点进入黑洞,但是业务没有影响
正在我们感慨这个黑科技讨论它的技术原理的时候,阿里云的专家在群里贴了一个信息再次震撼到我们了,他们已经找到了黑客用来探测和攻击的设备,并且提供了黑客在我们游戏内注册的账号ID。原来,这个才是他们真正的秘密武器。在接下来的攻防对抗中,游戏盾就好像开挂了一样,牢牢地锁死了攻击者,把攻击者和正常业务彻底地分开了。
游戏盾帮我们定位到的黑客信息以及详细调用记录(已经提交警方)
在震惊和忐忑中,我经历了人生中难熬的8小时。接下来发生的任何事情,我都已经不觉得惊奇和惶恐了。晚上9点左右,业务正在攀登高峰,告警短信又开始炸了。与之前不同的是,这一次不是流量屏蔽,而是流量清洗的告警,我们已经在游戏盾控制台看到好几十万的拦截信息。此时阿里云专家给出了缘由,原来这是一起针对我们的CC攻击。简单的说,黑客利用手中的肉鸡把自己伪装成为我们的玩家,向我们的服务器发起疯狂的网络访问。因为之前讨论中已经有预案了,因此这次攻击并没有对我们造成实质影响。除了拦截数的不断走高,我心里开始慌慌打鼓,业务并没有受到任何的影响,真的像他们说的一样,游戏盾可以100%的解决CC攻击问题!守着业务呆呆的等到凌晨3点,我噩梦中雪崩式的坍塌问题始终没有出现,业务在攻击中始终保持平稳运营。
CC攻击相关日志,业务没有任何影响
后记
第二天一早(其实当晚也基本没怎么睡),早早地来到公司对昨天的问题进行复盘。除了接入游戏盾之前的6小时玩家不可用之外,其他时段业务还是挺稳地。仔细回想起来,攻击问题我们之前一直抱着侥幸心理没做啥预案,心想着这些东西不一定会碰到。但实际情况就是,怕什么来什么。该考虑的,该布局的还是要提前做准备。
作为运维来说,用少量的代价,宁可备着不用也比出了问题干瞪眼来得好。利用游戏盾提供的攻击者信息,我们也将证据进行固定并交给警方进行报案,当然这是后面的另外一个故事了。
后来的后来
在之后的几天里,也正像阿里云安全专家估计的一样,每个业务爬坡期、业务高峰期,黑客都会利用各种手段、各种攻击方式对我们展开地毯式狂轰滥炸。短信一直在响,群里报警不断,但是业务非常平稳。经历了3天因为不断的听到短信声而导致“精神紧张神经衰弱”后,我总结出一个规律,只要短信告警不连续响超过1分钟,那就不用看。短信响了7天后,基本上就消停了。
这次经历让我感受颇丰,此时此刻我甚至有一些“感激”攻击我们黑客,让我们接触到游戏盾这款防护产品,如果没有使用游戏盾的话,就算黑客不是每天攻击,按照500G传统的IDC高防费用来算,可以直接拖垮我们,所有的努力都付诸东流。当然,作为运维Leader的我也在反思,这么好用的产品摆在阿里云上,为什么这么久了我完全不知道。当然,从甩锅的逻辑上看,游戏盾你太低调了。从防护效果上看,我还是要给游戏盾点个赞,再给阿里云打个CALL!废话了一大堆,就说这么多。
关注微信公众号:游戏陀螺(shouyoushouce),定时推送,游戏行业干货分享、爆料揭秘、互动精彩多。
元宇宙数字产业服务平台
下载「陀螺科技」APP,获取前沿深度元宇宙讯息
110777025(手游交流群)
108587679(求职招聘群)
228523944(手游运营群)
128609517(手游发行群)