灾难恢复
灾难总会发生——硬盘损坏、勒索软件、人为误操作、机房失火。有备份 = 能恢复。
灾难类型与应对
Section titled “灾难类型与应对”1. 单条数据误删
Section titled “1. 单条数据误删”场景:运营手抖删了关键产品。
恢复:
-
进用户管理 → 操作日志
-
找到该删除操作
-
看变更前数据
-
手工重新录入
RTO:分钟级。
详见 角色与权限 - 操作日志。
2. 大量数据误删 / 误改
Section titled “2. 大量数据误删 / 误改”场景:某员工误用批量操作删了一类产品。
恢复:
-
立刻冻结写操作(让运维临时关闭后台)
-
从最近备份恢复整个数据表
-
保留备份后新产生的数据(人工合并)
-
验证
-
追责:看操作日志确认是谁
RTO:1-4 小时。
3. 整个数据库损坏
Section titled “3. 整个数据库损坏”场景:服务器崩溃 / 磁盘故障 / 数据库文件损坏。
恢复:
-
修复硬件(让运维换硬盘 / 换服务器)
-
重装 BangNiCMS(系统代码)
-
从备份恢复数据库:
- 选最近的完整备份
- 应用之后所有的增量备份
-
从备份恢复媒体目录
-
重启服务
-
健康检查
-
验证:抽样、登录、提交测试询盘
RTO:4-12 小时。
RPO:取决于备份频率(每天备份 → 最多丢 24h 数据)。
4. 勒索软件
Section titled “4. 勒索软件”场景:黑客加密了所有数据 + 备份,要求赎金。
恢复:
-
不要支付赎金(黑名单条款 + 无保证恢复)
-
断网:让运维隔离受感染服务器
-
取证:保留服务器状态供调查
-
重建:
- 全新服务器(不连旧服务器,避免感染)
- 装最新 BangNiCMS
- 从异地备份恢复(前提:异地备份没被加密)
-
审计:找到入侵途径并修复
-
通知:相关方 + 监管(如适用)
-
加固:详见 安全最佳实践
RTO:1-3 天(极复杂)。
预防:
- 备份异地 + 离线(防勒索软件加密)
- 强密码 + 2FA
- 定期更新系统补丁
- 限制后台访问 IP
5. 机房整体灾难
Section titled “5. 机房整体灾难”场景:火灾、洪水、断电断网。
恢复:
-
切换到异地备用服务器(如果有)
-
从异地备份恢复
-
更新 DNS指向新服务器
-
等待 DNS 传播(5 分钟-24h)
-
服务恢复
RTO:
- 有热备服务器:30 分钟-2 小时
- 无热备:4-24 小时
预防:
- 3-2-1 备份(详见 备份策略)
- 异地热备服务器
- 多 CDN
6. DDoS 攻击
Section titled “6. DDoS 攻击”场景:大量恶意流量让服务无法响应。
恢复:
-
启用 Cloudflare / 阿里云高防:让攻击流量在防护层被拦
-
限制 IP 频率:单 IP 限请求
-
临时关闭重资源接口(如登录)
-
等待攻击者放弃或被高防过滤
预防:
- 始终启用 CDN / WAF
- 反向代理层限流
- 监控异常流量
7. 升级失败
Section titled “7. 升级失败”详见 升级流程 - 升级失败的应急。
8. 人为恶意(员工捣乱 / 离职报复)
Section titled “8. 人为恶意(员工捣乱 / 离职报复)”场景:员工删数据 / 改密 / 偷数据。
恢复:
-
立即禁用该员工账号
-
强制全员改密 + 启用 2FA
-
审计操作日志:找出所有恶意操作
-
从备份恢复被破坏的数据
-
追责:法律渠道(如严重)
预防:
- 离职即禁用账号(详见 安全最佳实践 - 离职流程)
- 强制 2FA
- 操作日志监控
RTO 与 RPO 评估
Section titled “RTO 与 RPO 评估”定期问自己:
- RTO:业务能容忍多久不可用?
- RPO:业务能容忍丢失多少数据?
典型业务的目标:
| 业务 | RTO | RPO | 方案成本 |
|---|---|---|---|
| 个人博客 | 24h | 24h | 极低(每日备份) |
| 中小 B2B | 4h | 1h | 中(每日备份 + 异地) |
| 大型电商 | 30 分钟 | 5 分钟 | 高(热备 + 实时复制) |
| 金融 | 5 分钟 | 0 | 极高(多活 + 同步) |
目标越严 = 成本越高——根据业务真实需求定。
灾难恢复演练
Section titled “灾难恢复演练”最重要的一步——很多团队备份从未演练。
每季度:
-
预设场景(如”假设数据库整库丢失”)
-
运维操作:
- 从备份恢复到测试环境
- 测量恢复时长
- 验证完整性
-
总结:
- 实际 RTO 是多少?
- RPO 是多少?
- 哪些步骤可以加快?
- 哪些备份是错误 / 损坏的?
-
改进
遭遇灾难时:
紧急通知:
由于 [灾难原因],邦你科技网站当前不可访问。我们正在紧急恢复,预计 [时间] 恢复服务。
紧急联系:xxx@example.com / +86 138...
我们对您可能造成的不便深表歉意。关键:
- 诚实:别遮掩问题严重性
- 频繁更新:每 1-2h 一次
- 道歉 + 行动:解决问题最重要
灾难后的复盘
Section titled “灾难后的复盘”事后必做:
- 复盘会议:所有相关人员参加
- 时间线:什么时候发生 / 发现 / 响应 / 恢复
- 根本原因:为什么发生
- 改进措施:未来如何避免 / 减轻
- 执行:确保改进真正落地
目标:同样的灾难不要发生第二次。
灾难恢复检查清单
Section titled “灾难恢复检查清单”定期评估:
- 备份完整 + 验证 + 异地
- 灾难恢复方案文档化
- 关键人员知道怎么操作
- 演练过至少一次
- RTO / RPO 符合业务要求
- 联系方式最新(云服务商、安全顾问、法律顾问)
- 保险(如适用)