离职员工从删库到跑路,咋办?

栏目: IT资讯 · 发布时间: 7年前

内容简介:离职员工从删库到跑路,咋办?

6 月 11 日,Verelox 的所有客户数据被一个离职工程师删除,事故非常严重。Verelox 是荷兰海牙的一家云主机商。它成立于 2014,以 VPS、服务器出租和托管为主。它的 VPS 基于 KVM 架构,分 HDD 和 SSD,有加拿大、荷兰、法国三处数据中心,也支持 Windows 系统,支持按小时和月付。事故发生后,Verelox 在官网上公布了该事件,并全力为客户恢复数据,但是,已经不可能恢复全部数据。

删除云主机上的客户数据相当于暴力破坏公司核心资产,是一种犯罪行为,该工程师一定会受到法律的制裁,但是巨大的损失已经造成,无法挽回。

比离职员工删库跑路更频繁发生的是各种意外删除数据的事件。

2017 年 1 月 31 日 23:00 左右,Gitlab 一名系统管理员在极度疲劳的情况下,尝试删除一个空的目录,结果指令发往了另外一台服务器的命令窗口,等他回过神来的时候,27 分钟过去, 终止删除操作为时已晚,大约 300 GB 左右的数据只剩下约 4.5 GB。 GitLab.com 丢失了 6 小时的数据库数据(问题,合并请求,用户,评论,片段等)。

4 月 5 日,知名的 VPS 服务商 DigitalOcean 出现了一次删除生产数据库的事故。删库导致 DigitalOcean 的控制面板和 API 无法正常使用,时间长达 4 小时 56 分。DigitalOcean 官博撰文致歉,并说明了事故前后过程:“ 在 2017 年 4 月 5 日 10:24 AM EDT,我们开始收到公共服务功能失效的警报。在警报最初的 3 分钟,我们发现主数据库已经被删除了。4 分钟后,我们开始从一台有延迟的数据库副本着手恢复。在接下来的 4 个小时中,我们复制并把数据恢复到主备副本。服务中断这么长时间,主要是因为从副本把数据恢复到在线服务器这个过程非常耗时。” 此次事故的根本原因是工程师驱动的配置错误。有个用于自动化测试的程序,错误使用了生产证书。

无论是主观还是无意,数据库被删除,都是互联网公司难以承受之重,Fintech 公司尤其无法接受跟钱相关的数据丢失,技术团队必须要防患于未然。

离职员工从删库到跑路,咋办?

首先要防止的是,数据库被开发人员误删。

开发人员是否需要连接生产数据?有人说需要,有人说不需要。不同的情况下有不同的道理。这里我们分开来讨论。如果开发人员不需要直接连接数据库,是最好不过的了,就杜绝了数据被开发人员删除的危险,也没有数据被泄露的风险,也不会因为敲出了一个 select * from xxx 造成负载异常升高。

如果开发人员需要连接呢?通常需要做到以下两点:

– 如果开发人员需要能连接生产数据库,需要给到只读账号,且需要一个人一个账号

– 如果生产库有从库/备库,最好能让开发人员连接从库/备库。

其次,需要防止数据被管理员删除。事实上,Verelox 的数据就是被不开心的系统管理员恶意删除的。管理员不能使用 root 账号直接在操作系统层面操作数据文件,尽量使用客户端从远端连接到数据库进行维护。由于意外失误,像 Gitlab 管理员一样,在昏昏欲睡的时候,rm -rf 清掉整个硬盘的事故也太多了,需要使用堡垒机等 工具 配合屏蔽这类高危命令。最后,尽量减少使用图形工具,因为太多的图形工具,会隐含的具有某些功能,如 autocommit,设置字符集等。

第三,如何防止数据被程序删除呢?通常,架构设计上需要注意,重要数据永远不要直接删除,标记为“删除”状态。不能给程序的用户 all privileges。Insert、delete、update 各类命令的权限单独赋予。

第四,我们也要防黑客。应用的网络进行分层设计。接入层,应用层,数据层。数据层只对固定的应用服务器开放。数据库永远只放在内网,监听在内网 IP 上。

第五,必须有周密的备份,即使管理员跑路也不怕。数据的物理备份和逻辑备份相互补充,文件不小心被删除的,用物理备份恢复;表被 drop 掉的,用逻辑备份恢复。备份也经常需要演练。因为一方面要保证我们的备份可用;另外一个方面我们也需要对多久可以恢复负责。对 CTO 及运维负责人而言,备份情况也需要每天检查。

最后,请各位读者牢记强哥的独家私藏小秘籍:

  • 数据文件被删除了,复制可以救命;数据表被 drop 掉了,延时复制可以救命;
  • 数据文件被 rm 掉了,不要急,在不关闭进程的情况通过 linux 的方法恢复文件;
  • oracle 的 flaskback query,flashback database 等;
  • 在 mysql,sql server 维护数据的时候关闭 autocommit,待确认数据正确之后再提交;
  • 各种数据库的基于时间点的数据恢复,有些时候真的非常有用,所以一定要进行周期性的演练。

当然,最好的办法还是好好照顾自家运维人员,开心工作开心生活,减少人肉运维,不要疲劳驾驶,也不要闹到通过删库报复公司报复社会的程度。

运维不易,请多多关爱。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Servlet&JSP学习笔记

Servlet&JSP学习笔记

林信良 / 清华大学出版社 / 2010-4 / 48.00元

《Servlet&JSP学习笔记》以“在线书签”项目贯穿全书,随着每一章的讲述都在适当的时候将 Servlet & JSP技术应用于“在线书签”程序之中,并作适当修改,以了解完整的应用程序构建方法。《Servlet&JSP学习笔记》内容包括简单的Web应用程序,开发简单的Servlet & JSP合理管理,JSP的使用,整合数据库等相关内容,《Servlet&JSP学习笔记》适合Servlet ......一起来看看 《Servlet&JSP学习笔记》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换