“人类是一种神奇的生物,这种生物每天都会生产一些谜一样的行为”
–佚名
言归正传,23日发生的“某知名SAAS公司删库跑路事件”正是该公司一名核心运维人员的“迷之行为”,目前老用户数据还未能完全恢复,故障已逾4天,市值蒸发15亿港元。如果说911事件纽约银行的破产清算是给全世界上的一堂课,那么这次的“删库事件”就是数据安全的又一次警钟。
看到类似事件时,我们会思考“这是可以避免的么?”、“这该如何避免?”
运维人员操作服务器,通常是单刀赴会,误操作或者操作失败的后果更是立竿见影,这种情景像极了美国西部快枪手的1v1对刚,不成功便成仁。
那么我们应该如何确保最后是对手倒在血泊之中,而我们屹立不倒呢?方法很简单,找一群帮手冲上去群殴,这不就完了?
现实中,我们可以为运维人员找来诸多辅助,比如时下热门的DEVOPS平台,创造软件系统来维护系统运行以替代传统模型中的人工操作。
它并不是那么容易实现的,那么我们DEVOPS平台拆解开来,看看哪些功能是可以避免此类事件的发生的。
1. 权限分割
明确每个岗位职责,切分权限,限制个体对整体业务的影响。
也就是说,如果someone进行了误操作或者想干坏事儿,都只能作用于他的权限范围
2. 流程化
敏感操作流程化,需经负责人审批、留档,完全闭环,便于发现操作隐患及时终止,也方便事后追踪
3. 自动化
以MySQL为例,DevOPS平台可以自动备份数据、binlog文件、堡垒机功能实现限制数据库主从服务器以及定期备份归档服务器的同时在线以及访问间隔、按时按需测试备份的可用性,这样确保你能时刻能有一份冷备数据可使用,并为防止业务数据的人为销毁提供相对可靠的保障。
以上三点可以由于OPS平台代劳,也能通过人肉实现,它们相互交织增益,能为我们提供一个富有安全感的工作环境,那还有谁会说运维是个”危险职业”呢?
人类能设计出无限接近绝对安全的产品或制度,但我们也时常需为便捷、成本等因素让路,我们不断折中、让步,这才让系统越发地不安全。运维人需明白技术底线,并以谨慎、务实、严谨的心态工作,这才是让保证系统安全的万金油。