One self-hosted console to run your entire business — commerce, ERP, HRM, CRM & manufacturing

为勒索软件做好准备的备份:业务系统的 3-2-1-1-0 规则

如今攻击者会先对你的备份下手。本文讲解 3-2-1-1-0 规则、如何为每个系统设定 RPO 与 RTO、除数据库之外还要备份什么,以及如何在最糟的一天到来之前把恢复演练排进日历。

Author

Anichur Rahaman

3 周前12 min read1 views
为勒索软件做好准备的备份:业务系统的 3-2-1-1-0 规则

先说一个虚构的场景,并非真实客户。周五下午 4 点 40 分,一家 15 人网店的老板请 IT 外包人员把昨晚的备份恢复到一台备用服务器上,两年来没人做过这件事。大家都当它是走个过场,毕竟从 1 月起,备份面板每天早上都亮着绿色对勾。

恢复用了 11 分钟,订单表却是空的。从 3 月磁盘写满那次起,夜间任务写出的一直是被截断的导出文件,却每次都报告成功,因为没人检查过脚本的退出码。每个对勾都是真的:任务确实运行了。只是从来没人问过,这个文件到底能不能打开。

从没恢复过的备份只是一种猜测,勒索软件会把这个猜测变成损失。拿到管理员凭据的攻击者会在加密任何东西之前先找到你的备份,所以老办法“三份副本、两种介质、一份异地”已经不够用了。如今的规则多了两个数字,而且比前面三个更重要。

接下来会讲:为什么中小企业成了目标,3-2-1-1-0 在实践中意味着什么,如何为每个系统设定恢复目标,业务系统到底该备份哪些东西,以及怎样为“一切都出问题的那天”提前演练。

为什么中小企业成了目标

攻击者并不挑品牌。他们扫描暴露在外的登录入口、没打补丁的边界设备和重复使用的密码,撒网之后再看捞到了什么。小公司的弱点和大公司差不多,只是能发现问题的人少得多。

数据也印证了这一点。Verizon《2025 年数据泄露调查报告》显示,在其分析的泄露事件中,44% 涉及勒索软件,上一年为 32%。在中小企业里,这一比例高得多:88% 的泄露事件有勒索软件参与,大型组织则为 39%。同一份报告还发现,64% 的受害者没有支付赎金,赎金支付额的中位数已降至约 11.5 万美元。

最后这个数字既是好消息,也是警告。付钱的人变少,是因为能恢复的人变多了。Sophos《2026 年勒索软件现状》报告调查了 2,158 位遭遇过攻击的 IT 与安全负责人,其中数据被加密的组织里,有 66% 通过备份恢复了数据,比上一年高出 12 个百分点。即便如此,典型的恢复成本仍达到 170 万美元。

攻击者清楚备份决定成败,所以最先对备份下手。Sophos 早先一项研究发现,在遭到攻击的组织中,有 94% 的备份被攻击者尝试破坏,其中 57% 的尝试得逞。备份被攻破的受害者,支付赎金的可能性几乎翻倍,恢复成本约高出八倍。攻击者够得着的备份,算不上备份,只是另一个攻击目标。

从 3-2-1 到 3-2-1-1-0

经典规则很简单:保留 3 份数据副本,存放在 2 种不同的存储上,其中 1 份放在异地。它至今仍能应对硬件故障、失窃和火灾。但面对有备而来的入侵者,它有个漏洞:三份副本往往用同一套凭据就能全部访问。

新的规则增加了两条要求:

  • 1 份不可变或离线的副本。在保留期结束之前,任何人都无法修改或删除它,包括你自己的管理员,也包括拿到管理员密码的攻击者。
  • 0 个错误。只有恢复测试无误完成的备份,才算数。恢复测试没通过之前,它只是一种寄托。
3-2-1-1-0 规则示意图:在线系统、独立存储上的本地副本、另一账户中的异地副本、一份不可变副本,最后是恢复测试
三份副本、两种介质、一份异地、一份不可变,再加一次零错误完成的恢复测试。

条件有限也能做到。线上数据库是第一份副本;放在独立磁盘或服务器上的夜间导出是第二份;第三份送到另一家服务商的对象存储里,使用只能写入、不能删除的凭据,并开启保留锁定。这第三份副本同时满足“异地”和“不可变”两项要求。

用大白话讲不可变

不可变备份是一次写入:文件存入之后,存储服务自己就会拒绝在你设定的日期之前修改或删除它。Amazon S3 把这项功能叫作 Object Lock,一些兼容 S3 的存储也以同样的名称提供。它有两种模式,区别很关键。

  • Compliance 模式。在保留截止日期之前,任何人都不能删除或覆盖已锁定的版本,账户的 root 用户也不行,保留期也无法缩短。
  • Governance 模式。大多数用户无法删除对象,但持有特殊权限的用户可以绕过锁定。它总比没有强,却弱于 compliance 模式,因为拿到相应权限的攻击者同样可以用。

详细说明见 S3 Object Lock 文档。无论用哪家服务商,在信任它之前先确认三件事:已开启版本控制;锁定模式是 compliance(或者绕过权限掌握在不是日常管理员的人手里);保留期长于你发现攻击所需的时间。入侵可能好几周都没人察觉。

如果没有对象锁定,离线副本也能起到同样的作用:备份间隙物理断开的外置硬盘或磁带,或者由备份服务器主动拉取数据,这样生产系统手里根本没有访问备份的凭据。

为每个系统设定恢复目标

备份的每个决策都取决于两个数字。RPO(恢复点目标)是你能承受丢失多长时间的最新数据;RTO(恢复时间目标)是你能承受停机多久。它们首先是业务决策,其次才是技术配置,而且每个系统各不相同。

订单是最典型的例子。一家每小时接一百单的网店,不能丢掉一整天的订单,因为客户已经付了款,却没有任何记录可以对账。存着旧宣传册的共享文件夹,等上一周也无妨。设定目标时,先问自己:每丢失或停机一小时,要花多少钱?

层级示例目标 RPO目标 RTO方式
第 1 层:流动的资金订单、支付、库存账、会计5–15 分钟1–4 小时持续的日志传送或高频增量导出,外加每日不可变全量副本
第 2 层:日常运营客户、人事与薪资、供应商档案、上传文件24 小时8–24 小时夜间快照,存到带保留锁定的异地存储
第 3 层:工作文件文档、导出文件、报表、媒体库24 小时2–3 天带删除保护的版本化对象存储
第 4 层:归档旧发票、已关账年度、法律档案1 周1 周每月一份不可变副本,长期保留,加密

这些数字只是示例性的起点,不是标准。你自己的数字应当来自你自己的停机成本。关键在于:每个系统都有明确的层级,并且写下来。

业务系统该备份什么

大家最先想到的是数据库导出,但光靠它往往不够。如果你曾经恢复出一个起不来的系统,多半是下面某一项漏掉了。

  • 数据库。做一致性的导出或快照,不要直接复制正在使用的数据文件,并且同时保留数据库结构迁移的版本。
  • 上传文件。商品图片、发票、附件和文档通常不在数据库里。只恢复数据库不恢复文件,到处都是失效链接。
  • 配置。环境变量文件、定时任务定义、服务器与反向代理配置、支付和快递设置。
  • 密钥与机密。应用密钥、加密密钥、签名密钥。没有应用密钥,再完整的数据库备份里,加密字段也读不出来。请把它们与所保护的数据分开存放。
  • 许可证与集成。许可证文件、webhook 密钥、API 凭据,以及域名和 DNS 记录。在压力下重建这些东西,要花好几个小时。
  • 重建说明本身。一份简短的文档,写明用哪个版本的软件、哪个服务器镜像、按哪些步骤,就能从零把系统重建起来。

每份副本在离开内网之前都要加密,加密密钥要放在备份存储够不到的地方。备份被盗就是数据泄露,在很多司法辖区还需要依法上报。

让钥匙彼此分开

薄弱环节通常是隔离,而不是技术。四条规则就能覆盖大部分风险:

  1. 为不可变副本在存储服务商处使用独立账户,最好由不同的所有者登录,并配备自己的多重身份验证。
  2. 给生产服务器只写凭据:它只能新增备份,别的都不行,不能列出、读取、修改或删除。
  3. 备份存储的管理员凭据,不要放进密码管理器,也不要接入单点登录,因为攻击者可以通过一台被攻陷的笔记本摸过去。
  4. 对备份事件设置告警:任务失败、删除尝试、保留策略被改,或者整整一天没有生成新备份。

保留策略:要往回留多久

只留昨晚的备份很危险,因为悄悄潜入的入侵可能已经持续数周,昨晚的副本里或许早已带着损坏。对大多数中小企业,一个实用的方案是:每日副本保留 30 天,每周副本保留三个月,每月副本保留一年,或按会计师和当地法规的要求保留。和一次恢复的账单相比,存储便宜得多。

保留策略还能帮你挡住自己人的失误:有人误删了商品目录,有人导入了错误的表格,某个程序缺陷搞乱了一个月的价格。有了历史恢复点,这些事就从灾难变成了一个下午的活儿。

把恢复演练写进日历

3-2-1-1-0 末尾的那个“0”,是最容易被团队跳过的一步。一份从没恢复过的备份,能不能用谁也不知道:文件可能是空的,密钥可能丢了,恢复可能要 30 小时而不是三小时。这些最好在一个平静的周二就搞清楚。

每周、每月、每季度和每年的恢复演练日历,并标注各自的目标 RPO 与 RTO
恢复演练日历:小检查勤做,完整重建一年一次,每次演练都对照 RTO 计时。

从小处开始,把它变成例行公事。每周自动把最新的数据库备份恢复到一个临时环境,跑几条校验查询;每月恢复一组文件,打开几个看看;每季度在干净的服务器上完整重建一个系统并计时;每年做一次桌面推演,假设主服务器没了,旧环境谁也进不去。

每次都记下结果:日期、恢复了什么、花了多久、哪里出了问题。如果某次演练超过了你承诺的 RTO,要么改方案,要么改承诺。能自动做快照、执行保留策略、一步恢复到干净环境的调度工具,会让演练的成本低很多。下面这段简短的视频展示了一个自托管的例子,StoreConsole 的 Backups 模块,正是按这个流程运转的。

定时快照、保留策略与一键恢复演示(0:46)。

一页纸的应急手册

最先几个决定的先后顺序,比任何单个步骤都重要。每次恢复之前都要先回答两个问题:备份是否完好,并且在攻击者够不着的地方?恢复点是否早于入侵发生的时间?流程图画出了整条路径,后面的清单则是可以打印出来的精简版。

勒索软件事件第一天的流程图:隔离受影响的系统,检查备份是否完好且攻击者够不着,选择早于入侵的恢复点,在干净环境中恢复,验证,并更换所有凭据;如果备份已被攻破,就联系应急响应团队和有关部门
第一天的决策流程:两个问题决定你是动手恢复,还是先求援。

勒索软件来袭的第一个小时,人最容易做出糟糕的决定。所以要在冷静时写好手册,打印出来,并在网络之外留一份。精简版如下:

  1. 隔离。把受影响的机器从网络和备份存储上断开。如果可能需要内存取证,不要关机。
  2. 联系该联系的人。提前定好名单:总负责人、IT 联系人、保险公司、法律顾问,以及负责对客户沟通的人。
  3. 保护备份。用干净的设备轮换所有备份凭据,并确认不可变副本完好。
  4. 查清入口。恢复之前先弄清攻击者是怎么进来的并堵上,否则几天内你会被再次加密。
  5. 按层级恢复。从干净镜像重建,先恢复第 1 层并验证,再依次往下。
  6. 更换所有机密。密码、API 密钥、令牌,以及在安全的前提下更换应用密钥。
  7. 上报并复盘。在法律要求的地方通知监管机构和受影响的客户,然后写下你要改进什么。

政府发布的指南值得在需要之前读一读。美国 CISA 的 StopRansomware 资源里有一份实用的应对清单,在美国以外同样适用。

把同一个周五用上这些做法再过一遍。每周一早上 6 点,系统自动把最新的导出恢复到临时数据库,并把订单数量与生产库对比。3 月那次检查失败了,一封邮件发来:订单 0,预期约 4,200。老板喝着咖啡看完邮件,外包人员一个小时内修好脚本,而在它背后,锁定存储桶里还躺着一份由只能新增文件的密钥写入的副本。本来会是周五下午的一场意外发现,变成了周一早上的一封邮件。

核心要点

  • 攻击者最先攻击备份。凭你平时的管理员凭据就能访问的副本,会和其他数据一起被加密或删除。
  • 采用 3-2-1-1-0:三份副本、两种介质、一份异地、一份不可变或离线,恢复测试零错误。
  • 按停机成本为每个系统定 RPO 和 RTO,而不是按配置起来方便与否。
  • 备份不止数据库:文件、配置、机密、许可证和书面的重建说明都要备份,并且全部加密。
  • 独立账户、只写凭据,以及长于入侵者潜伏时间的保留期,能保住不可变副本。
  • 把恢复演练写进日历并记录结果。备份靠一次恢复来证明,而不是靠一个绿色的对勾。

Anichur Rahaman 是一名软件架构师,也是 StoreConsole 的创建者。他为成长型企业设计电商与 ERP 系统,专注于事件驱动架构、数据完整性和自托管部署。

About the Author

Anichur Rahaman

Continue Reading