这两天的 Windows 全球蓝屏事件让大家又一次看到了光鲜软件背后的脆落。借此我们也来回顾另一个软件巨头 Salesforce 史上最严重的一次安全事故。事情发生在 2019 年 5 月 19 日,同样是一个周五。 Salesforce 的工程师往旗下产品 Pardot (B2B Marketing Cloud 的前身)的生产环境发布了一个数据库变更脚本。
不幸的是这个脚本的逻辑出现了错误,给了所有组织下所有用户 MODIFY ALL 的权限。
所谓的 MODIFY ALL 就是可以让组织成员可以随意访问和修改组织下的任何信息。 Salesforce 发现问题后,立马意识到大事不妙。为了快速止血,防止恶意篡改,Salesforce 就直接把服务下线了。而且出于谨慎考虑,对于但凡曾经使用过 Pardot 的用户,Salesforce 不仅是把 Pardot 服务下线,而是把所有其他服务都下线了。接下来就是工程师连轴转的修复,前后花了 15 个小时,才把服务重新上线。
从 Reddit 的帖子上,我们依然能隐约感受到当时的热度 (TIFU 是今天我搞砸了的缩写)。- 数据库变更是高危操作,公司应该配备完善的变更上线流程。
如果您想避免类似 Salesforce 的故障,可以考虑引入 Bytebase,它包括了提交,自动检查,人工审核,发布,回滚的全生命周期。并且支持了 MySQL, PostgreSQL, Oracle, SQL Server, MongoDB, ClickHouse 等市面上所有主流的数据库,以及和 GitLab, GitHub 等主流代码仓库的集成。
Bytebase 产品介绍
代码全开源!数据库工具届的瑞士军刀,替代多款工具的一站式数据库开发平台
Bytebase 2.21.0 - 不同数据库引擎可配置不同 SQL 审核规则
Bytebase 签约澳洲 School Bytes,助力教务管理 SaaS 规范化数据库批量变更