对于删库事件,都是外行看热闹,内行吸取教训。
我们先来回顾几起恶意删库事件。
01
2020 年 2 月 23 日,微盟一员工在家通过 VPN 登录将公司数据库删除,平台用户造成了巨大的经济损失。导致微盟支付恢复数据服务费、商户赔付费及员工加班报酬等经济损失共计人民币 2260 余万元。
该员工犯破坏计算机信息系统罪,判有期徒刑六年。
02
2020 年10 月 16 日 到 17 日,原万合集团邯郸客运总站售票系统计算机编程工作人员杨某,先后两次远程到邯郸客运总站的网上自助售票系统,执行多条删表指令,导致售票渠道长时间无法使用,并丢失部分售票数据。
最终法院判决:杨某犯破坏计算机信息系统罪,判处有期徒刑九个月。
03
2021年6月18日,录某离职当日,私自将其在职期间所写的京东到家平台优惠券、预算系统以及补贴规则等代码删除,导致原定按期上线的项目延后。
最终法院判处其有期徒刑十个月。
我们应该怎样保证数据安全呢?
这里介绍几点保证数据安全的方法:
- 最小权限原则:比如代码使用的用户只赋予 select、update、insert 权限,delete 逻辑改成update逻辑实现,避免物理删除。真正的删除,交给 DBA 先备份后再物理删除。
- 合理的备份策略:定期做全备,对于MySQL这类数据库,通过Binlog备份实现增量备份,并增加异地备份,备份机器权限严格控制。
- 合理的架构:比如配置普通的从库、延迟从库或者异地从库等。
- 备份恢复演练:并不是所有的备份都能正常恢复的,所以我们要定期对备份进行恢复演练,防止备份数据无效或者恢复时不熟练导致恢复过程过久。
- 危险操作先备份:比如大批量修改数据的时候,先对数据库进行备份。
也希望各位 IT 从业者平时管理好自己的情绪,有问题及时沟通,不要做一些太过极端的事情,恶意删库,损人不利己,还很可能导致自己进去,不值得。