2015年9月1日, 阿里云官方发布公告 向用户致歉,称“因云盾安骑士server组件的恶意文件查杀功能升级触发了bug,导致部分服务器的少量可执行文件被误隔离……对于受影响的客户,我们将立即启动百倍时间赔偿”。9月3日,云盾负责人吴瀚清在自己的微信公众号发布了《 危机时刻,我只心疼我们的客户 》对事故进行总结。InfoQ针对此次事故采访了云盾负责人吴瀚清。
吴瀚清:我现在阿里云主要是负责云盾这个安全品牌。我们想把云盾建设成为互联网安全的基础设施,中国IT的大环境跟国外相比还不够成熟,在云计算安全方面有一些基本的攻防问题需要解决。我们的很多客户对安全并不了解,但是他们的业务有很强的安全需求,所以我们想帮助客户多解决一些这方面的问题,这是云盾诞生的前提。所以我们在云盾里推出了许多产品,比如像DDoS防护产品,比如这次出故障的安骑士,这是一款服务器安全产品,主要防止黑客入侵,另外还有一些Web应用防火墙,等等。
吴瀚清:这次故障发生在9月1号早上,我们一位安骑士服务端的研发工程师修改了一行代码,由于改动很小所以就绕过了整个测试的流程,直接把代码发布上线了。发布到第一批机器并观察了半小时之后,并没有发现异常问题,于是这位工程师把剩余的机器也发布上线了。到11点40多的时候,客服开始接到工单,用户反应新启的进行被杀掉、程序文件也被删除。我们在12点的时候定位到了问题,同时对这次发布进行了回滚,制止了问题的蔓延。但是之前反馈问题的用户,需要一个文件恢复的过程。我们在系统设计的时候,对于这种异常情况估计不足,尤其是这次情况特殊,并没有批量恢复的机制。因此,我们需要临时写一个程序,下发到受影响的客户服务器上,帮助客户恢复被删除的文件。下午3点多的时候我们写完了这个程序,并进行了一些调试,下午5点的时候对程序正式下发,下午7点多的时候恢复了受影响的客户文件。
在故障发生的时候,很多客户在微博上情绪比较激动,也有一些人借着这个故障在造谣,说阿里云的信息产生了泄漏,这个事情其实是不属实的。阿里云官方也进行了辟谣,这纯粹是一个技术上的故障,跟安全问题没有太大的关系。
吴瀚清:安骑士有一个功能是恶意文件查杀,这个功能有一个黑名单机制,这个黑名单是人工运营的,我们会把人工确认过的恶意文件加入到这个黑名单中。这行代码的逻辑有一个条件判断错误——把所有新启动的文件全部判断为了恶意文件,被加进黑名单中的文件进程于是被阻断、文件被删除。
吴瀚清:这次是灰度发布的。工程师首先发布了一部分机器,然后观察了半个多小时之后才把剩下的都发布到线上,但是在灰度发布的过程中我们的报警阀值的设置是有缺陷的,没有在第一时间发现这个问题。我们在客户端的发布是有严格的灰度发布流程,整个客户端的发布大概要经过1~2个月的时间。但这一次是Server端的灰度发布,这个机制还不完善,这也是我们接下来要改进的重点。
吴瀚清:这个具体数据不是很方便透漏,但是卸载的用户不是很多,大部分用户还是选择相信我们。
吴瀚清:阿里云上第三方的安全产品已经有一、二十家了,我们现在也在积极联系国内和国外的安全厂商,帮助他们的安全产品上云。但是阿里云深层的API和网络架构也在进行调整以及设计的过程中,国内有几家大的安全厂商正在跟我们一起参与设计,一些重量级的虚拟化的安全产品正在入驻我们的云市场。
吴瀚清:主要是一些服务类的产品,比如渗透测试类、主机加固类,也有一些是服务器安全检查的工具。
吴瀚清:“百倍时间赔偿”好像除了阿里云也没有其他家做这样的事情,这是阿里云定下的一个策略。实际上我们跟运营商去谈的时候也很难有这样的处理机制,运营商根本不知道你的业务跑的是什么东西,所以很难对你的业务进行定量的评估。从这一点上来说,阿里云“百倍时间赔偿”还是比较有诚意。在微博上也可以看到用户的一些反馈,我也能理解用户的业务损失可能远远不止这百倍时间的赔偿,但是我们目前也只能做到这一步了。
吴瀚清:主要是四个方面。第一是研发流程进一步的夯实,我们会有专门的运营体系和团队来改进我们的研发流程;第二是我们的监控和报警体制会进一步的完善,这一次也暴露出来了这方面的问题;第三是我们的产品架构设计会重新调整,一些强的功能、带有自保护的功能会上线;最后我们会对组织架构进行一些调整,通过管理来保障未来不再发生这样的事情。
从产品策略的角度来说,我们会更明显地告知用户安骑士都做了哪些事情;同时我们会把安骑士变成一个用户可关闭、可卸载的产品,过去我们做的不好的地方我们会一一把它改善。
吴瀚清:我们一直都是鼓励的态度,这其实和云盾本身是没有太大关系的。我们只是画了一条线,就是阿里云的安全都是包含了哪些东西——这是我们看到的云计算安全应该要有的功能和服务。但这不是说其他的第三方安全厂商不能来做,我们非常希望——也非常鼓励第三方安全厂商入驻阿里云。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 )。