写点什么

微盟删库事件的深度复盘报告

  • 2020-04-22
  • 本文字数:4151 字

    阅读完需:约 14 分钟

微盟删库事件的深度复盘报告

引言

人有“三不朽”:立德、立功、 立言。人无德不立,德才兼备,方堪大任,致良知。

本次故障及事件简要回顾

  • 2020 年 2 月 23 日,18:56 分,微盟研发中心运维部核心运维人员通过 VPN 登入服务器,并对线上生产环境进行了恶意破坏;

  • 2 月 23 日 19 时,微盟内部系统监控报警,出现大面积服务集群无法响应;

  • 2 月 25 日 7 时,生产环境和数据部分恢复,预计 25 日晚 24 点完成生产环境修复,新用户恢复业务。老用户预计到 2 月 28 日晚上才能恢复。


微盟事后对恶意破坏生产环境的嫌疑人进行追踪分析,成功定位到嫌疑人登录账号及 IP 地址,并于 24 日向宝山公安局报案。目前犯罪嫌疑人已被宝山区公安局刑事拘留,承认了犯罪事实。

事件影响

首先最直接的是经济上惨痛损失。本次事件对微盟自身及行业都有较大影响。据相关统计,截至 2020 年 2 月 25 日 10 点整,微盟集团报 5.620 港元,跌幅 5.23%。2 月 24 日至 2 月 25 日 10 点整,微盟集团市值约蒸发 12.53 亿港元,同时带给微盟客户的损失不可估量。


对于微盟的老用户,将面临超过 5 天的系统故障。对疫情期间本来正在经受门店歇业重创的商家来说,则是双重致命打击,真可谓屋漏又逢连阴雨。


其次,更深层次的是微盟的社会公信力受到较大影响。此事件是典型的运维安全侧事件倒灌公司经营危机,此事件或将极大影响微盟的社会形象和商业生态。难免会让公众质疑其管理、服务和技术。


再者,此次事件对 IT 圈,对运维同行,对远程办公等等,都将是一次深深的警示教育,让人深思,深刻警醒,也因此对运维发展,IT 与企业业务关系都将产生深远影响。

网友说法

就在前天晚上的晚餐时间,微盟出了一件大事,一个心情剧烈波动的运维同学删除了数据库,哗然一片,幸运的是,在微盟和腾讯云的努力下,相关的数据都在有条不紊的恢复当中。


回溯这两年的删库事件,可以说层出不穷,有误删的,有介质损坏的,有人为的,单从这件事来说,非常严重,始作俑者被拘留,企业受到很大的损失。所以怎么吸取教训,怎么避免,下面通过网友对微盟事件的一言一语,面面俱到,管中窥豹,可见一斑,以部分预见事件全貌。


高手总在网友间,他们懂礼仪,知法律,通技术,会管理,下面就来看看各位网友怎么评议微盟事件:



大咖观点一:需要什么样的权限来约束运维?

很多人纠结于当今远程办公场景下的 VPN 的权限,此权限不是彼权限,今天我们谈的是有关危险行为限制方面的权限,而不是运维职位所需要的履职权限。


其实人的行为比预想中的更加危险,尤其对于要害职位更甚,而这个危险一般来自于


不知道这个行为有多么危险;


会故意的执行这个明明知道非常危险的一个行为,所以对于权限的控制首先要从对危险行为限制开始。


一直以来,笔者始终觉得在生产线环境下通过命令的方式是一种非常不好的习惯,在领导前面炫技的除外。


在我看来,一个公司的运维的技术能力强弱、安全管控体系是否完善完全可以通过运维人员的具体操作和权限控制来看出一二,完全人肉的敲命令显得运维能力和安全管控体系越弱,自动化平台化进行运维能力的输出,则运维能力和安全管控体系越强。


rm、mv、alias 等危险命令应受到严格的制约;应使用尽量细化的权限认证;禁止直接使用 root 用户,这些耳熟能详的其实都是运维的门规,在日常运维中属于必备的 checklist。可事实真的如此吗?如何通过这些有效的手段来限制这些危险的行为?


一个良好的运维输出能力应该是这样的,人管代码,代码管机器,而不是人管机器。大家可能还记得 DevOps 的宗旨,提高组织级的效率和质量,放在这里,何尝不是一种很好的解决办法,危险的行为通过机器来执行。从信息审计的角度来看,每一次的现网环境的改动,也是一点变更,也是一次环境的发布,你可以追踪,可以回溯,可以记录,可以审计。


我们又回到阿西莫夫.机器人三定律,定律三:除非违背第一及第二定律,机器人必须保护自己。当一些危险的行为发生时,作为系统的使用者和管理者理应进行防范,除了 checklist 以外,还有更好的方式吗?那就是分而治之,操作人发起操作请求,审核人审核操作请求,机器来执行请求。


过于放大权限的控制,其实也是不对的,这属于一种开倒车,并不是所有的动作都是具备危险行为的动作。因为故障和灾难不同,除了人为的,老天有时候也会跟你作对,介质损坏,设备故障,病毒感染都会让你的权限管控失去作用,该发生的故障都会不请自来,你的 checklist、运维流程和权限系统将会毫无作用,所以需要什么样的权限来约束运维,又不会增加太多的人力物力财力,无非三点。(一)框定极具危险行为的动作;(二)平台化自动化的运维方式;(三)线上复核的流程。

大咖观点二:备份该怎么做?

对于观点一中提到的,当你的 checklist 和权限控制都无法 hold 住的时候,你需要的是一个具备实操的备份和恢复的手段。


通常来说,在没有热备份的情况下执行危险操作,不亚于开着 200 迈的跑车不系安全带,活着是你幸运。而在此次事故中,我们发现恢复时间是最亮的电,不亚于顺丰删库事件中的恢复时间,十分的漫长。


经过仔细分析,除了始作俑者同时删除了主备两套库,只保留了冷备份,这也是不幸中的万幸,备份大家都有,那备份到底行不行?


备份时间的问题,全量和增量时间会影响你备份数据的数据失真,打个比方,你备份数据恢复到现网环境,在这时间段内,你对数据有一些增删改,那么你备份的数据就存在失真,所以你需要热备份,且还需要备份所有 DDL 和 DML 语句的记录。


恢复的验证,很多公司执行备份策略数年中,从没进行过恢复测试,其实真正有重大故障或灾难来临时,你会发现,各种问题让你恢复失败,比如介质问题、数据问题,还有操作问题。

反思和总结

工程师的职业道德

首先运维以这种形象走向社会的前台中央,为同行所不齿,常言道,出来混是要还的!正如一位行业前辈专家所言:删数据是犯法的行为,践踏了技术人员的底线,应该严惩!


在谈工程师道德操守前,理一下道德、制度、法律的关系,准确说靠道德和职业素养约束自身,靠制度规避风险,靠法律惩罚违规。其实所有风险完全靠技术来解决,成本将会非常的高昂,只有通过制度、技术,企业文化,价值观各个方面来预防和警戒。


对于管理者来说,要使员工有所成就,意味着要把人看成是一种有着特殊的生理与心理特点、能力、缺陷以及拥有不同行为模式的有机样本,还意味着要把人力资源看成是活生生的人而不是物。


对于工程师来说,需要的不仅仅的操守,更需要的是对法律和职业的敬畏之心,人生在世,要对自己负责,对家人负责,对社会负责。

云厂商的选择

云计算引爆了互联网的发展,越来越多的企业选择了上云,同样可以预见,云计算的明天就像今天的电力一样,完全成为了信息经济社会的基础资源。


因此,云厂商的选择格外重要。对于微盟来说,事故发生后,腾讯云技术团队就第一时间与微盟对齐,研究制定修复方案,协助微盟将损失降到最低。


删库事件是不幸的,但选择腾讯云又是幸运的,不难想象,如果没有腾讯云的协助,后果可以想象。

法律法规普及

根据《最高人民法院、最高人民检察院关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》第四条:


破坏计算机信息系统功能、数据或者应用程序,具有下列情形之一的,应当认定为刑法第二百八十六条第一款和第二款规定的“后果严重”:


(一)造成十台以上计算机信息系统的主要软件或者硬件不能正常运行的;


(二)对二十台以上计算机信息系统中存储、处理或者传输的数据进行删除、修改、增加操作的;


(三)违法所得五千元以上或者造成经济损失一万元以上的;


(四)造成为一百台以上计算机信息系统提供域名解析、身份认证、计费等基础服务或者为一万以上用户提供服务的计算机信息系统不能正常运行累计一小时以上的;


(五)造成其他严重后果的。


实施前款规定行为,具有下列情形之一的,应当认定为破坏计算机信息系统“后果特别严重”:


(一)数量或者数额达到前款第(一)项至第(三)项规定标准五倍以上的;


(二)造成为五百台以上计算机信息系统提供域名解析、身份认证、计费等基础服务或者为五万以上用户提供服务的计算机信息系统不能正常运行累计一小时以上的;


(三)破坏国家机关或者金融、电信、交通、教育、医疗、能源等领域提供公共服务的计算机信息系统的功能、数据或者应用程序,致使生产、生活受到严重影响或者造成恶劣社会影响的;


(四)造成其他特别严重后果的。


根据《中华人民共和国网络安全法》第二十一条:国家实行网络安全等级保护制度。网络运营者应当按照网络安全等级保护制度的要求,履行下列安全保护义务,保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或者被窃取、篡改:


(一)制定内部安全管理制度和操作规程,确定网络安全负责人,落实网络安全保护责任;(二)采取防范计算机病毒和网络攻击、网络侵入等危害网络安全行为的技术措施;(三)采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月;(四)采取数据分类、重要数据备份和加密等措施;(五)法律、行政法规规定的其他义务。

安全意识

安全意识培训不能少,安全不仅仅是安全技术的责任,更是企业中每一个人的责任,按照网络安全法,谁运营谁负责,因此企业法人更需要义无反顾的承担运营安全第一人的角色。


安全运维是一个立体工程,全员工程,尽可能降低每个环节的风险,才能降低整体的风险面!单一防御面一失万无,没有 100%的安全,但安全意识是万无一失的核心基因。

文化底蕴思考

中国文化,源远流长,讲究仁义,立德为先。以德立本,无本不立。本立而道生,道生则万达,正如古训:人有“三不朽”,立德、立功、 立言。


孔子所谓的仁,其实就是佛家讲的大彻大悟、明心见性后的境界,一旦大彻大悟后,就会明白这个世界根本无我无他,万物本是一体的,整个世界,整个宇宙都是我们自己。


王阳明曾说过,“无善无恶心之体,有善有恶意之动,知善知恶是良知,为善去恶是格物。”


结语


古人说:“大学之道,在明明德,在亲民,在止于至善。”核心价值观,其实就是一种德,既是个人的德,也是一种大德,就是国家的德、社会的德。国无德不兴,人无德不立。


服人者,以德服为上、以才服为中、以力服为下。作为有技术特色职业运维同行,希望大家共勉,唯有德才兼备,方堪国家大任,致大道良知。


本文转载自技术琐话公众号。


原文链接:https://mp.weixin.qq.com/s/s3vTxerygn1ABS4dzlES1Q


2020-04-22 17:121051

评论

发布
暂无评论
发现更多内容

《鸿蒙理论知识04》HarmonyOS概述之系统定义

孙叫兽

鸿蒙 鸿蒙系统 引航计划

计划会议要开始了,产品负责人却没来…

华为云开发者联盟

Scrum PO 开发团队 计划会议 Sprint

分布式系统中协调和复制技术的原理

博文视点Broadview

MapReduce 示例:减少 Hadoop MapReduce 中的侧连接

华为云开发者联盟

hadoop mapreduce 排序 侧连接 联接

Opus从入门到精通(二):编解码器使用

轻口味

android 音视频 编解码 9月日更

Canal Admin 高可用集群使用教程

Se7en

架构实战课程 模块三作业

Frank

如何将外连接向内连接转换?

华为云开发者联盟

sql 数仓 GaussDB(DWS) 外连接 内连接

模块3-作业

笑看风雨情

疯狂复习半个月,全栈系统化的学习路线

Java 程序员 后端

《鸿蒙理论知识06》HarmonyOS概述之应用开发基础知识

孙叫兽

鸿蒙 HarmonyOS 鸿蒙系统 引航计划 领航计划

数据中心建设很复杂,但选择却能很简单:华为数据中心的多维创新

Python——静态方法与类方法、类的导入

在即

9月日更

简单聊聊汽车OTA给OEM和Tire1带来的变化

SOA开发者

程序员 职业成长 汽车

Apollo 配置中心详细教程

牧小农

Apollo 阿波罗

28分钟完成一款Python游戏,《客服戏翻总裁牌》

梦想橡皮擦

9月日更

【上汽零束SOA】云管端一体化SOA软件平台系列介绍之五:服务实现篇

SOA开发者平台

软件 车联网 物联网 汽车

netty系列之:在netty中处理CORS

程序那些事

Java Netty 程序那些事 响应式系统

3年才能驾驭新技术,不如试试这个低代码魔方

华为云开发者联盟

低代码 开发 华为云应用魔方 应用程序 魔方

百度智慧输入,会是企业降本增效的“新生产力”吗?

ToB行业头条

百度 企业服务 百度输入法

疯狂涨知识,spring全方位深入探索,

Java 程序员 后端

乘着汽车智能化的浪潮,“汽车人”职业方向的选择(一)

SOA开发者

软件 职业成长 汽车

《鸿蒙理论知识03》HarmonyOS概述之系统安全

孙叫兽

鸿蒙 鸿蒙开发 鸿蒙系统 引航计划

Vue进阶(幺幺玖):element-ui table组件适应性问题(横向滚动条)

No Silver Bullet

Vue 9月日更

穿越时空,跟我一起探索云栖数字谷(2021云栖大会免费送票)

阿里云CloudImagine

人工智能 云计算 阿里云 行业资讯 视频云

【上汽零束SOA】云管端一体化SOA软件平台系列介绍之五:服务实现篇

SOA开发者

软件 SOA

Apache APISIX 社区周报 | 2021 8.30-9.12

API7.ai 技术团队

Apache 开源 API网关 APISIX 社区周报

《鸿蒙理论知识05》HarmonyOS概述之下载与安装软件

孙叫兽

鸿蒙 鸿蒙系统 引航计划

微盟删库事件的深度复盘报告_文化 & 方法_技术琐话_InfoQ精选文章