前言
笔者所在单位是一家小型创业公司,目前产品正在成长阶段,日活跃用户只有区区几万人次,并发只有日均 85/QPS,自建机房,带宽 100MB。在这样的背景下,完全没想过一个小产品会招来黑客的光顾,而且一来就是好几天。
起因
事情的起因来源于某个惬意的下午,从市场接收到客户反馈,部分地区客户无法打开产品页面,由于是周末且之前也发生过机房网络故障,运维并未引起重视,以为是网络问题,放置不管。但是到傍晚19点左右,情况突然变得很严重,90%的客户都在反馈无法打开产品页面;
这一下子就炸锅了。
首先,马上安排运维人员排查机房网络问题,然后技术人员查看服务日志、流量监控是否正常。马上就发现了问题,服务器CPU运行平稳,流量只有 3次/s,很明显,流量未进入服务器,被拦截在防火墙外面了;过了5分钟,收到运维人员反馈:机房反馈,突然收到大量数据包请求,
流量高达30GB,目前已启动限流措施!
事情非常明了,服务遭到了 DDOS 攻击!
怎么办,怎么办,怎么办!
防御
大家都在干等着,什么也做不了,等机房处理,这是运维人员的处理意见。等机房处理是非常愚蠢的想法,后面会讲到。
攻击持续了大约 3 个小时,晚上 22:00 左右,攻击停止,服务恢复,这期间,市场只能一直安抚客户,而大家也一致认为这是一场随机的攻击,居然也都洗洗睡了,事实证明大错特错。
第二天白天流量恢复正常,大家还认为这就是个恶作剧,然后傍晚 17 点左右,又有部分客户反馈无法打开产品页面,这次持续了 10 分钟后停止,机房也未收到任何警报(小机房坑爹啊),
晚上 19:00 又准时开始攻击,这次持续了 10 个小时,整个产品线几乎瘫痪,只有微信端很小的流量进来。
这次情况就很难受了,大家都不好过,我的建议是马上上高防IP,联系机房,说是提供 3000RMB/月 的流量防御,最高 30GB,我说好,先上着,寥胜于无吧。第二天,马上安排财务付款购买,上了机房自带的高防IP后,果然奏效了,产品浏览正常,好事多磨,这是谁说的,
下午的攻击又准时的出现,这次高防IP发挥了左右,扛住了 10 分钟,然后也瘫痪了!!!
换IP!
马上安排运维人员更换 IP 地址,然后扛住了 30 分钟,新IP也宣告沦陷,我就奇怪了,黑客也太厉害了,这么快就找到新 IP 了?,机房告知:更换 IP 只支持更换 C 段,我….
流量不够,IP暴露,事情的发展对我方很不利。
这个时候我在想,要是认了个爸爸该多好!爸爸,哎爸爸,马爸爸啊,找阿里云啊,此时已是周四了,距离收到攻击报告已过去了3天了。
哈,我的天啊。财务外出,无法续费。
联系阿里高防IP服务技术专家,说可以内部提供加速服务(不收费),我说好,你们沟通一下,我马上去提个工单,把工单号发给技术专家内部安排沟通,备案问题得以顺利解决。
接下来就是接入高防IP服务。
不得不说,阿里的敬业精神,对接群里面分别拉了技术、商务、运维、客服,各种问题全方位快速响应,在周五下班前,完美接入了高防IP服务,基础 30GB,弹性 60GB。
波澜又起
下班后,我坐在电脑前想,IP暴露的问题还是没有解决,这个是非常大的隐患啊,还没来得及细想,攻击就来了 还是 30GB流量,不过,高防IP服务全部都清洗过去了,只造成了些许困扰,大家认为,肯定是没有问题了,都下班走人。到了晚上,部分客户反馈,安卓客户端无法浏览部分网页,报证书链不完整的问题,钉钉电话联系阿里技术专家,彼时技术专家已下班,从电话里依稀听到孩子嬉戏的声音。
经过详细沟通后,重新上传 https 证书,合并证书链后解决。
第二天周六,一如往常的平静,到下午 14:00 ,突然收到阿里高防IP服务警报,服务黑洞中….登录云盾查看流量,收到DDOS流量包超过 60GB,最高达到 100 GB,高防IP服务自动停止防御,发送警报短信,联系技术专家后,解决方案是提示防御弹性到 300GB,手动解除黑洞,故障解除,接下来的周日、周一,又收到几波攻击,最高达到 150GB,但是都有惊无险的安全度过。
转机
事情的转机出现在某个夜深人静的晚上,从遥远的华中地区来的一个电话,某个市场区域代理反馈,接到一个自称黑客要求合作的电话,已将录音发送给技术团队,我们一听,就是勒索啊,说这几天都在由于他们在“测试”,帮我们产品找漏洞,如果付钱给他们,他们可以保证我们的产品在“全球”范围内不会再发生这种事情,我们商量了一下,觉得和他进一步的接触。
经过两天的沟通,还是无法得到对方的有效信息,就此作罢,黑客约定第二天“展示实力”,第二天,预约的时间,攻击没有到来,1个小时后,收到阿里高防IP服务短信反馈,监控到一波 30GB的流量攻击,已平稳度过,截至发文时,服务运行平稳,流量稳定,无攻击,阿门!
总结
- 从此事件中可以看出,我方对安全问题不重视,这也是初创企业普遍存在的问题,运维人员意识出现幸存者偏差,有侥幸心里。
- 在攻击初始出现的时候,没有预案,无法应对,被动等待机房处理,而机房能力和服务水平较弱,无法应对这种小规模的攻击。
唯一能做的就是将我方业务下线,俗称“拔线”,完全不理我方感受,简单粗暴,所以在初创时期,千万不要作死自建机房,除非有成熟的机房运作经验 - 我方只有单机房,无法更换B段以上IP,IP地址直接暴露,更是自己找死。
- 经此事件后,我方决定部分业务上云,特别要建立堡垒机方案,全面排查系统、业务、应用级别漏洞。
- 建立多机房备灾和故障转移方案,建立应对突发事件的预案,建立预警方案。
- 在事故处理期间还检测出防火墙老化产生的问题,更换了防火墙、IP地址,加强运维人员管理意识,提升业务水平。
结语
系统的升级非一朝一夕,意识最重要,不怕事故,就怕没有处理方案,出了事情千万不能瞒报、误报,主管领导要全方位的了解各种情况,深挖问题,结合实际,做出最快、最优的处理决定。
从业者都应该保持对这份职业的敬重。