返回顶部
首页 > 资讯 > 数据库 >又见删库...
  • 516
分享到

又见删库...

又见删库... 2018-09-18 16:09:44 516人浏览 猪猪侠
摘要

0. 事件回顾 2020.2.23日 18:56,员工通过VPN登入服务器并实施破坏。 2020.2.23日 19时,系统监控报告故障并启动应急方案。 2020.2.24日 微盟公司向警方报案。 2020.2.25日 7时,恢复部分生产环境

又见删库...

0. 事件回顾

2020.2.23日 18:56,员工通过VPN登入服务器并实施破坏。 2020.2.23日 19时,系统监控报告故障并启动应急方案。 2020.2.24日 微盟公司向警方报案。 2020.2.25日 7时,恢复部分生产环境和数据,并预计到凌晨0点能完成恢复,并向新用户恢复业务,但老用户预计还要到2月28日晚上才能恢复。

1. 为什么会发生"删库"

从官方发布的公告来看,是因为运维部的核心员工刻意进行的破坏,也就是说,这是人为的、恶意的、有计划的破坏行为,而不是我们最常见的误操作或黑客入侵所致。

不过,从我的经验来看,这起事件未必是真的人为破坏,具体分析就不贴了。总之,我对官方的公告存疑。不过也不能改变人为破坏这个事实,就看公安机关怎么定性了。

我们要做的是,进行反思和预防此类事件一再发生,这也是本文的用意。

此外这种意外事故受害的除了公司、员工,更无辜的是客户,我们祝福微盟能救回更多数据,将损失最小化。

2. 事故恢复的速度如何

从上面的回顾时间点来看,我认为恢复的速度并不算快。

我经过侧面了解,这起事件主要的影响是数据库的主备库都被删了,并且执行的是类似"rm -fr /"这样的操作。这种行为,基本上只能通过其他备库,或物理备份来恢复了。

从事后恢复情况来看,应该是没有更多可用的备库了,但备份数据应该是还有的,所以才需要花费这么长时间。

此外,备份数据恢复完后,通常还需要有一个校验核对的过程,所以一般会先发公告安抚客户的情绪。

不过新旧用户恢复服务的时间并不同,我们由此甚至可以猜测,备份机制可能不合理,新数据的备份更及时,旧数据的备份有延误,或者比如因为旧数据的量太大了导致延迟更久。

这次更糟糕的事,赶上特殊情况,大家都在家远程办公,协同起来肯定更慢,也影响了恢复速度,真是祸不单行。幸运的是,听说腾讯云已有多位技术专家参与了拯救工作,希望能尽快恢复。

3. 事件反思和预防

这次的事件,不同于常见的黑客入侵或误操作,而是源于内部发起的破坏,这种是最可怕、最难防范的行为。

我相信绝超过80%甚至90%的中小型公司,都无法避免这个问题。毕竟中小型公司的人员规模有限,想要进行非常细致的权限分级也不太现实,更容易因此降低工作效率和员工的积极性。

尽管如此,我们也尝试做点什么来预防此类事件再次发生。

首先,是权限分级

我们知道,为了提高工作效率,会部署自动化运维工具。但这样一来,也极大增加了误操作带来的风险。本次事件中,短时间内造成大面积服务器故障,基本可以断定是因为工具批量分发命令导致的。

所以,一定要进行权限分级,也包括业务范围分级。例如可以尝试以下方案: a. 角色分级。 区分业务运维、系统运维、网络运维、DBA等多重角色,每个角色都只能接触自己所负责的那票业务服务器,以及相应可执行的权限。 例如,业务运维、网络运维、DBA等都不能执行系统层的rm指令,系统运维也不能执行数据库的指令。 b. 权限分级。 区分一级执行权限、二级执行权限及审批权限。 例如,我们可以实施这样一套方案,一级权限的人发起某个操作请求,有审批权限的审核校验这个命令是否合理,再由二级权限的人去真正实施,这样基本可以防范人为破坏了,除非最后落地时是由同一个人来承担所有角色,或者嫌麻烦绕过这个规范。

分级措施想做到位,就得有足够的人员,公司上市的目的就是通过融资以改善运营状况,该招人就招人吧。

其次,备份、备份、备份

备份的重要性无需多言。

但其实,不只是做了备份就可以的,还有几点要注意的。 a. 除了本地备份,还应该有异地备份,并且要区分本地备份和异地备份责任人的权限,交由不同等级的人管理,防止恶意破坏时,把全套备份都一把火烧了。 b. 除了逻辑备份外,还应该有物理备份,物理备份恢复起来会更快一些。 c. 除了备份,还应该做好备份校验,确保备份的有效性,也就是随机抽取备份集进行恢复测试,确保备份文件的可用性(我多年运维从业经历,仅有一次比较严重的故障,就是栽在没及时进行备份恢复测试校验)。

最后,做好防灾演练

防灾演练的确比较难做,毕竟没几个人敢真的在线上全盘执行"rm -fr /"这样的操作。

不过依然可以模拟各种可能的情况,以及不同情况的组合,再针对这些情况制定不同的预案,然后在开发、测试环境尝试进行演练。

而且要不定期的进行演练,让各个岗位的责任人熟悉整套流程。就像在日本,中小学总是不定期进行防灾演练一样,演练次数多了,真遇到问题时,自然就不慌了,恢复起来也会更快。

最后的最后,多给员工一些必要的关怀和培训吧。还有,作为管理者,对负责后端的运维部门也多给些重视,运维部门一旦出个事故,是真的有可能会搞垮一家上市公司的,这并不是没有前车之鉴。

延伸阅读

  • Mysql数据安全策略
  • 我猜你一定达不到要求的《mysql安全策略》
  • 简单几招提高Mysql安全性
您可能感兴趣的文档:

--结束END--

本文标题: 又见删库...

本文链接: https://lsjlt.com/news/4593.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 又见删库...
    0. 事件回顾 2020.2.23日 18:56,员工通过VPN登入服务器并实施破坏。 2020.2.23日 19时,系统监控报告故障并启动应急方案。 2020.2.24日 微盟公司向警方报案。 2020.2.25日 7时,恢复部分生产环境...
    99+
    2018-09-18
    又见删库...
  • linux文件删除后又生成
    在Linux系统中,当一个文件被删除后,它并不会立即从磁盘上被完全删除。相反,它只是从文件系统的目录结构中被移除,并标记为可被重用的...
    99+
    2023-09-13
    linux
  • 关于Spring的@Transaction导致数据库回滚全部生效问题(又删库跑路)
    1 前言 很多需要使用事务的场景,都只是在方法上直接添加个@Transactional注解 但是,你以为这真的够了吗? 事务如果未达到完美效果,在开发和测试阶段都难以被发现,因为...
    99+
    2024-04-02
  • sql 常见增删改查
    操作数据(DML) 2.1 插入数据(添加)插入语句:一次插入操作只插入一行.INSERT INTO table_name (column1,column2,column3...)VALUES(v...
    99+
    2024-04-02
  • linux文件删除后又生成的原理是什么
    在Linux系统中,当你删除一个文件时,实际上是将该文件的索引节点(inode)标记为可重用状态,并且将其所占用的磁盘空间标记为空闲...
    99+
    2023-09-16
    linux
  • win7流氓软件删除又自动恢复怎么办
    使用win7的的小伙伴有没有遇到过这种情况,电脑自动安装了流氓软件,然后你卸载之后过段时间发现它又回来了,win7流氓软件删除又自动恢复怎么办呢下面小编就来教大家怎么阻止win7自动安装流氓软件,一起来看看吧.方法一:1、首先我们按“win...
    99+
    2023-07-13
  • 又双叒叕 get 了 七个超强的 Python 库
    ​有一句谚语:"不必重新造轮子"。Python库是这方面的最好例子。它可以帮助你以一种简单的方式编写复杂而耗时的功能。据我所知,一个好的项目会使用一些最好的库。1. PySnooper我们正在编写一个通过返回位列表将数字转换为二进制的函数。...
    99+
    2023-05-14
    项目 Python PySnooper
  • 【MySQL】初见数据库
    目录 什么是MySQL 为什么要使用数据库 数据库基础 数据库的本质 存储引擎 常用操作 登录mysql 创建数据库 使用数据库 查看数据库 创建数据库表 查看表 向表中插入数据 查询表中数据 什么是MySQL 🍒在我们...
    99+
    2023-09-09
    数据库 mysql
  • oracle 手工删库
    今天因为插入中文是乱码,发现字符集不是ZHS16GBK,所以准备删除了重新建SYS@icsdb >alter database close;alter database close*第 1 行出现错误...
    99+
    2024-04-02
  • mysql数据库常见基本操作实例分析【创建、查看、修改及删除数据库】
    本文实例讲述了mysql数据库常见基本操作。分享给大家供大家参考,具体如下: 本节相关: 创建数据库 查看数据库 修改数据库 删除数据库 首发时间:2018-02-13 20:47 修改: ...
    99+
    2022-05-22
    mysql 数据库 基本操作 创建 查看 修改 删除
  • (python)NumPy 库常见版本
    前言         NumPy 库有许多版本,每个版本都有不同的功能和改进。以下是一些常见的 NumPy 版本. 后续,会列举版本变化前后的函数方法变更. 版本变化 NumPy 1.0.0:这是 NumPy 库的初始版本,于2006年发...
    99+
    2023-09-29
    python
  • 频发:故障排除之又见 ORA-4031丨云和恩墨技术通讯
    亲爱的读者朋友: 为了及时共享行业案例,通知共性问题,达成共享和提前预防,我们整理和编辑了《云和恩墨技术通讯》,通过对过去一段时间的知识回顾,故障归纳,以期提供有价值的信息供大家参考。同时,我们也希...
    99+
    2024-04-02
  • MySQL 删除数据库
    MySQL 删除数据库使用 mysqladmin 删除数据库使用普通用户登陆mysql服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库。所以我们这边使用root用户登录,root用户拥有最高权...
    99+
    2024-04-02
  • MongoDB 删除数据库
    rszhou:PRIMARY> show dbsadmin 0.000GBlocal 146.588GBdb_chunqiu 1163.1...
    99+
    2024-04-02
  • oracle手工删除库
    无法使用图形界面时,我们需要手动删除数据库一、手动删除文件系统数据库   1.停止监听,防止有新的连接产生,同时,在数据库配置了em的,也需要停止     ...
    99+
    2024-04-02
  • mysql删库不跑路
    上周夜里,一个奢侈品电商网站的程序员手抖,把阿里云rds的某个库给删了,当时都11点多了,心中一万个羊驼在奔腾,还好,没让我出手,小弟就把它给恢复了。昨天上午,又一个网站的程序员手抖,给一个还要用的库给...
    99+
    2024-04-02
  • MySQL删除数据库
    目录 一、drop命令删除数据库 二、使用mysqladmin删除数据库 三、使用PHP脚本删除数据库 一、drop命令删除数据库 使用普通用户登陆 MySQL 服务器,可能需要特定的权限来创建或者删除 MySQL 数据库,所以这边使用...
    99+
    2023-08-31
    数据库 mysql php
  • github中删除仓库
    GitHub是全球最大的开源社区,它提供了优秀的版本控制和协作工具,可以方便地进行代码管理和协作开发。在使用GitHub的过程中,我们可能会创建一些不需要的仓库,需要将这些仓库删除。下面将为大家介绍如何在GitHub中删除仓库。打开GitH...
    99+
    2023-10-22
  • 写着简单跑得又快的数据库语言 SPL
    数据库语言的目标SQL为什么不行SPL为什么能行 数据库语言的目标 要说清这个目标,先要理解数据库是做什么的。 数据库这个软件,名字中有个“库”字,会让人觉得它主要是为了存储的。其实不然,数据库实现的重要功能有两条:计算、事务!也就是我们常...
    99+
    2023-09-01
    数据库 sql mysql
  • 清华大学Python库安装指南:简单又高效
    清华镜像:简便高效的Python库安装指南 导语:随着Python在数据科学、人工智能和Web开发等领域的普及,越来越多的开发者和研究者开始使用Python编程语言。而Python库的安装是使用Python开发时必不可少的一步。...
    99+
    2024-01-16
    清华镜像 简便高效
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作