
核心要点(TL;DR)
- 3-2-1 备份是勒索病毒防护的底线:3 份数据、2 种介质、1 份离线。
- 离线副本必须物理断开或不可变,否则会被一并加密。
- 备份不做恢复演练等于没有备份,建议每季度至少一次。
- 备份账号应独立且只写,避免勒索病毒横向删除备份。
很多运维在主机被勒索病毒加密后才想起检查备份,结果发现备份盘一直在线、共享目录可写、备份账号和生产账号同权限,攻击者顺手把备份一起加密。勒索病毒防护的底线不是杀毒软件,而是一份攻击者碰不到、并且验证过能恢复的备份。下面按 3-2-1 原则给出可直接照做的落地步骤,从介质规划到离线副本脚本、恢复演练与检查清单,面向要动手解决问题的运维与站长。
一、先明确目标:3-2-1 到底怎么落到你的机架上
3-2-1 指 3 份数据副本、2 种不同介质、1 份离线或异地。对中小站点,可落成如下组合:
| 层级 | 位置 | 介质 | 在线状态 | 作用 |
|---|---|---|---|---|
| 副本1 | 生产服务器 | 本地 SSD/HDD | 在线 | 业务运行 |
| 副本2 | 备份服务器/NAS | 独立磁盘 | 在线只写 | 日常快速恢复 |
| 副本3 | 异地或保险柜 | 移动硬盘/磁带/对象存储 | 离线或不可变 | 勒索兜底 |
关键约束:副本2 的备份账号必须与生产账号分离,仅授予写入与追加权限,禁止删除;副本3 在同步窗口之外必须物理断开或处于不可变保留期。否则 3-2-1 只是纸面数字。
二、准备离线介质与独立备份账号
以一台 Linux 备份机加一块外接移动硬盘为例:
- 准备独立备份用户,禁止登录 shell:
useradd -r -s /usr/sbin/nologin backup && mkdir -p /srv/backup && chown backup:backup /srv/backup - 生产端只给该用户写入权限,用独立 SSH 密钥,禁用密码登录,并在备份机
/etc/ssh/sshd_config中限制来源 IP。 - 移动硬盘格式化为 ext4,卷标固定为
OFFLINE01,便于脚本按标签挂载,避免设备名漂移。 - 硬盘平时锁入柜中,仅在同步窗口接入,同步完成后立即卸载断电。
不要把离线硬盘长期插在机器上并自动挂载,勒索病毒会遍历所有挂载点,离线副本一旦在线就失去意义。
三、编写离线副本同步脚本(含校验与卸载)
核心思路:挂载 → rsync 增量同步 → 生成校验清单 → 卸载断电。示例脚本保存为 /usr/local/bin/offline-sync.sh:
#!/bin/bash set -euo pipefail LABEL=OFFLINE01 MNT=/mnt/offline SRC="/srv/backup/" DEV=$(blkid -L $LABEL) mount -o ro=no $DEV $MNT rsync -aHAX --delete --numeric-ids \ --exclude '*.tmp' \ $SRC $MNT/snapshot-$(date +%F)/ find $MNT/snapshot-$(date +%F) -type f -print0 \ | xargs -0 sha256sum > $MNT/sha256-$(date +%F).txt sync umount $MNT
要点:使用 --delete 时务必确认目标目录是快照子目录而非根目录;校验清单单独存放,恢复前先比对;同步窗口尽量安排在业务低峰并限速,避免影响生产。若使用对象存储,开启版本控制与对象锁,保留期设为 30 天以上,同样能达到不可变效果。
四、加固备份链路,防止被横向删除
- 权限最小化:备份账号只写不删,NAS 上关闭 SMB 匿名访问,禁用 NTLMv1。
- 网络隔离:备份网段与办公网、生产管理网分开,仅放行必要端口。
- 凭据分离:备份 SSH 密钥不放在生产 Web 目录,不与数据库口令同库保存。
- 日志告警:对备份目录的删除、重命名操作开启审计,异常即告警。
在防护建议层面,可在边界与主机侧部署 AegisX 的入侵检测与文件完整性监控能力,对批量加密行为和备份目录异常写入做实时告警,把发现时间从「事后」提前到「加密进行中」,为断开网络、保住离线副本争取窗口。
五、恢复演练:把备份变成可交付能力
每季度至少演练一次,流程固定:
- 从保险柜取出离线硬盘,接入隔离演练机,比对
sha256sum -c清单。 - 恢复数据库与站点文件到隔离环境,启动服务并验证关键业务接口。
- 记录恢复耗时(RTO)与数据丢失窗口(RPO),与业务目标比对。
- 演练后重新生成校验清单,硬盘回柜,更新演练记录。
若演练中发现备份文件损坏、缺少密钥或恢复脚本失效,立即修复并重跑,不要等到真被勒索病毒加密时才验证。
六、落地检查清单
- □ 是否存在 3 份副本、2 种介质、1 份离线或不可变?
- □ 备份账号是否独立、只写、禁止删除?
- □ 离线硬盘是否在同步后卸载并锁柜?
- □ 是否保留校验清单并定期比对?
- □ 最近一次恢复演练是否在 90 天内?
- □ 备份目录异常写入是否有告警?
行动建议:本周先完成备份账号分离与离线硬盘首次同步,把脚本纳入 cron;本月内完成一次完整恢复演练并记录 RTO/RPO。勒索病毒防护拼的不是工具数量,而是那份攻击者拿不到、你确认真能恢复的离线副本。
常见问题(FAQ)
3-2-1 备份原则具体指什么?
3-2-1 指至少保留 3 份数据副本,存放在 2 种不同介质上,其中 1 份放在异地或离线环境。这样单点故障、介质损坏或勒索病毒加密都不会同时摧毁全部副本。落地时通常组合为本地生产盘、本地备份服务器加异地或离线冷备,并配合定期恢复演练验证可用性。
离线副本和普通备份有什么区别?
普通备份通常在线可写,勒索病毒拿到域账号或备份服务器权限后可一并加密或删除。离线副本强调与网络物理断开或写入后不可修改,例如拔掉的移动硬盘、磁带、只读挂载或对象存储的不可变策略。区别在于攻击面:离线副本在同步窗口之外对勒索病毒不可见,因此能保住最后一份可恢复数据。
没有预算买磁带库,怎么做离线备份?
可用移动硬盘加脚本实现:备份完成后自动挂载、rsync 同步、记录校验值并立即卸载断电,硬盘平时锁柜保管。也可用支持对象锁的云存储开启不可变保留期,或用一次性写入的蓝光盘。关键是同步窗口尽量短、凭据独立、备份完成后断开,避免长期在线暴露给勒索病毒。
备份多久做一次恢复演练?
建议至少每季度一次,核心业务可每月一次。演练要覆盖完整恢复流程:从离线介质取出、校验完整性、恢复到隔离环境、验证数据库一致性与业务可用性,并记录耗时。只做备份不演练,往往在真正被勒索病毒加密后才发现备份文件损坏或缺少密钥,损失无法挽回。
勒索病毒加密后还能恢复数据吗?
部分老旧家族存在解密工具,但多数现代勒索病毒使用强加密且会窃取数据,付费解密并不可靠。正确做法是立即隔离受感染主机、保留现场取证,然后从离线副本恢复。恢复前要确认备份未被污染、系统已重装或加固,否则可能二次感染。日常做好 3-2-1 备份才是根本。