红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

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

  • 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:12749

评论

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

质效提升 | QA不做业务需求测试,你怎么看?

laofo

DevOps cicd 研发效能 持续交付 质量赋能

Go 常量

小万哥

Go 程序员 云原生 后端 开发

生成式AI:未来内容产业的变革力量

百度开发者中心

人工智能 百度文心一言

生成式AI助力人工智能下半场

百度开发者中心

人工智能 百度文心一言

RHG之人工智能漏洞挖掘

云起无垠

生成式AI:人工智能新生产力

百度开发者中心

人工智能 百度文心一言

学习Java 8 Stream,提升编码能力!

互联网工科生

Java stream Java11 Stream API

面部表情识别研究:解读情绪的密码

来自四九城儿

生成式AI在电信行业的有所为与有所不为

百度开发者中心

人工智能 文心一言

【第1讲】Python3.11的下载、安装和卸载,有手就能学会

程序员晚枫

Python 安装 入门

低代码平台轻松玩转业务规则

鲸品堂

低代码 低代码开发 企业号 8 月 PK 榜

2023-08-14:用go语言写算法。给出两个长度相同的字符串 str1 和 str2 请你帮忙判断字符串 str1 能不能在 零次 或 多次 转化 后变成字符串 str2 每一次转化时,你可以将

福大大架构师每日一题

福大大架构师每日一题

C++11时间日期库chrono的使用

攻城狮Wayne

深度开发者故事 | 华为云API Explorer 自动化运维的得力助手

华为云PaaS服务小智

华为 API 华为云

使用 Amazon MemoryDB for Redis 作为 JuiceFS 的元数据引擎

亚马逊云科技 (Amazon Web Services)

Amazon

ARTS 打卡第 5 天

自由

ARTS 打卡计划

SaaS出海:黄粱易得,黄金难收

ToB行业头条

NLP文本匹配任务Text Matching 有监督训练:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践

汀丶人工智能

人工智能 自然语言处理 文本匹配

NLP文本匹配任务Text Matching 有监督训练:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践

汀丶人工智能

人工智能 自然语言处理 文本匹配算法

鱼龙混杂的网络营销行业:入行新人如何规划职业

石头IT视角

CPU 缓存行

红袖添香

Java 多线程 MESI 缓存行 伪共享

可行性研究报告编制方案

金陵老街

读《芯片浪潮》,学习台积电张忠谋的管理之道

博文视点Broadview

软件测试/测试开发丨Python 常用第三方库 yaml

测试人

Python 程序员 软件测试 测试开发

面部表情识别:心理学与计算机科学的交汇点

来自四九城儿

更方便的集成使用!IoTDB plugin 上线 Grafana 官网!

Apache IoTDB

生成式AI发展前景展望:创新、应用与市场规模

百度开发者中心

人工智能 百度文心一言

面部表情识别技术的伦理问题与应对策略

来自四九城儿

ByConity 首次 TPC-DS 测试结果发布 & 新活动邀请!

字节跳动开源

大数据 开源 字节跳动 数仓 社区

React和Vue的区别,大家怎么看?

FinFish

Vue React 小程序容器 混合app

SpringBoot有几种获取Request对象的方法?

王磊

java面试

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