| name | implementing-ransomware-backup-strategy |
| description | 按照 3-2-1-1-0 方法论(3 份副本、2 种媒体类型、1 份异地、1 份不可变/气隙隔离、 0 个还原验证错误)设计和实施抗勒索软件备份策略。配置符合 RPO/RTO 要求的备份 计划,实施备份凭据隔离防止勒索软件入侵备份基础设施,并建立自动化还原测试。
|
| domain | cybersecurity |
| subdomain | ransomware-defense |
| tags | ["ransomware","backup","incident-response","defense","recovery","immutable-storage"] |
| version | 1.0.0 |
| author | mahipal |
| license | Apache-2.0 |
实施勒索软件备份策略
使用场景
- 设计能够抵御勒索软件加密和删除尝试的备份架构
- 从传统备份迁移至具有不可变存储的抗勒索软件备份
- 为关键系统建立 RPO/RTO 目标并通过还原测试进行验证
- 将备份凭据和基础设施与生产 Active Directory 域隔离
- 满足网络保险对备份弹性和已测试恢复能力的要求
不要将其作为端点保护、网络分段或事件响应规划的替代品。备份是最后一道防线,而非主要预防控制。
前置条件
- 按业务影响分类的关键系统、应用程序和数据清单(第 1/2/3 级)
- 每个级别定义的 RPO(恢复点目标)和 RTO(恢复时间目标)
- 支持不可变仓库的备份软件(Veeam 12+、Commvault、Rubrik、Cohesity)
- 隔离的备份网络段或气隙隔离的存储基础设施
- 未加入生产 AD 域的独立备份管理员凭据
工作流程
步骤一:资产分类和定义恢复目标
根据业务影响将所有系统划分为恢复层级:
| 层级 | 示例 | RPO | RTO | 备份频率 |
|---|
| 第 1 级(关键) | 域控制器、ERP、数据库 | 1 小时 | 4 小时 | 每小时增量、每日全量 |
| 第 2 级(重要) | 文件服务器、邮件、Web 应用 | 4 小时 | 12 小时 | 每 4 小时增量、每日全量 |
| 第 3 级(标准) | 开发环境、归档 | 24 小时 | 48 小时 | 每日增量、每周全量 |
记录系统间的依赖关系。域控制器和 DNS 必须在应用服务器之前恢复。数据库服务器在应用层之前恢复。
步骤二:实施 3-2-1-1-0 架构
按照扩展的 3-2-1-1-0 规则配置备份存储:
副本 1 — 本地存储的主要备份:
# 面向本地仓库的 Veeam 备份作业
# 快速还原用于运营恢复
备份仓库:本地 NAS(CIFS/NFS)或 SAN
保留期:14 天还原点
加密:AES-256,密码不存储在 AD 中
副本 2 — 不同媒体的辅助备份:
# 复制到辅助站点或云端
# Veeam Backup Copy Job 或 Scale-Out Backup Repository
目标:AWS S3 / Azure Blob / Wasabi / 磁带库
保留期:30 天
传输:传输过程中使用 TLS 1.2+ 加密
副本 3 — 异地副本:
# 与主要和辅助地点地理分离
# 不同区域的云对象存储或物理磁带轮换
目标:跨区域云存储或 Iron Mountain 磁带存储库
保留期:90 天
+1 — 不可变或气隙隔离副本:
# 在定义的保留期内无法修改或删除
# Linux 上带不可变标志的 Veeam Hardened Repository
# 或合规模式的 AWS S3 Object Lock
# 或物理气隙磁带
+0 — 还原验证零错误:
# 使用 Veeam SureBackup 或同等工具进行自动化还原测试
# 第 1 级每周一次,第 2/3 级每月一次
# 验证启动、网络连接和应用程序健康状态
步骤三:隔离备份凭据
勒索软件操作者通过 Active Directory 入侵备份管理员凭据,进而攻击备份基础设施:
- 将备份管理员账户与生产 AD 域分离。在备份服务器上使用本地账户或专用备份管理域。
- 专用备份网络段,防火墙规则仅允许备份流量(特定端口、特定源/目标 IP)。
- 备份控制台访问使用 MFA,使用硬件令牌或认证器应用,不使用 SMS。
- 禁用备份服务器上的 RDP。使用带外管理(iLO/iDRAC/IPMI)进行紧急访问。
- 将备份服务器从域中移除,或置于受限 GPO 继承的专用 OU 中。
sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
sudo chattr +i /mnt/backup/repository/*
步骤四:配置不可变存储
Veeam Hardened Linux Repository:
sudo mkfs.xfs -b size=4096 -m reflink=1 /dev/sdb1
sudo mount /dev/sdb1 /mnt/veeam-repo
sudo useradd -m -s /bin/bash veeamuser
sudo mkdir -p /mnt/veeam-repo/backups
sudo chown veeamuser:veeamuser /mnt/veeam-repo/backups
AWS S3 Object Lock(合规模式):
aws s3api create-bucket \
--bucket company-immutable-backups \
--object-lock-enabled-for-bucket \
--region us-east-1
aws s3api put-object-lock-configuration \
--bucket company-immutable-backups \
--object-lock-configuration '{
"ObjectLockEnabled": "Enabled",
"Rule": {
"DefaultRetention": {
"Mode": "COMPLIANCE",
"Days": 30
}
}
}'
Azure 不可变 Blob 存储:
az storage container immutability-policy create \
--account-name backupaccount \
--container-name immutable-backups \
--period 30
az storage container immutability-policy lock \
--account-name backupaccount \
--container-name immutable-backups
步骤五:自动化还原测试
按定期计划配置自动化还原验证:
# Veeam SureBackup 验证作业(PowerShell)
# 测试 VM 启动、网络 ping 和应用程序健康
Add-PSSnapin VeeamPSSnapin
$backupJob = Get-VBRJob -Name "Tier1-DailyBackup"
$sureBackupJob = Get-VSBJob -Name "Tier1-RestoreTest"
# 验证最后一次还原测试是否成功完成
$lastSession = Get-VSBSession -Job $sureBackupJob -Last
if ($lastSession.Result -ne "Success") {
Send-MailMessage -To "backup-team@company.com" `
-Subject "ALERT: SureBackup verification failed" `
-Body "Tier 1 restore test failed. Last result: $($lastSession.Result)" `
-SmtpServer "smtp.company.com"
}
记录还原测试结果,并为每个层级维护包含逐步骤流程的恢复手册。
核心概念
| 术语 | 定义 |
|---|
| 3-2-1-1-0 | 扩展备份规则:3 份副本、2 种媒体类型、1 份异地、1 份不可变/气隙隔离、0 个还原验证错误 |
| RPO | 恢复点目标:以时间衡量的最大可接受数据丢失量(例如,1 小时 RPO 意味着最多丢失 1 小时的数据) |
| RTO | 恢复时间目标:系统必须恢复运营前的最大可接受停机时间 |
| 不可变备份 | 在定义的保留期内无法被修改、加密或删除的备份副本,即使管理员也无法操作 |
| 气隙备份 | 与生产系统没有网络连接的物理隔离备份,提供最强的勒索软件保护 |
| Hardened Repository | 攻击面最小化的 Linux 备份存储,无持久 SSH,带不可变文件标志 |
工具与系统
- Veeam Backup & Replication 12:企业备份,带 Hardened Linux Repository、SureBackup 验证和不可变备份支持
- Rubrik Security Cloud:具有不可变快照、异常检测和气隙恢复的零信任备份平台
- Commvault:带 Metallic 气隙保护、异常检测和自动化恢复编排的备份
- AWS S3 Object Lock:合规或治理模式的云原生不可变存储,用于备份副本
- Cohesity DataProtect:具有 DataLock 不可变性、反勒索软件检测和即时批量还原的备份平台
常见场景
场景:金融服务公司实施抗勒索软件备份
背景:一家拥有 500 台服务器、200TB 数据且有 7 年保留合规要求的中型银行,在同行机构遭遇勒索软件攻击后必须重新设计备份。当前备份使用加入生产域的 Windows 服务器上的单个 Veeam 仓库。
方案:
- 将所有 500 台服务器分为三个层级:50 台第 1 级(核心银行、AD、DNS)、200 台第 2 级(邮件、文件共享、Web)、250 台第 3 级(开发、测试、归档)
- 在专用 Ubuntu 22.04 服务器上部署 Veeam Hardened Linux Repository,使用 XFS 不可变性作为主要备份
- 使用 Veeam Scale-Out Repository 容量层配置合规模式 S3 Object Lock,保留期 30 天的不可变云副本
- 建立每季度磁带轮换到 Iron Mountain,满足 7 年监管保留要求
- 从生产 AD 域中移除所有备份服务器,创建带硬件 MFA 令牌的隔离备份管理员账户
- 部署 SureBackup 作业:第 1 级每周、第 2 级每月、第 3 级每季度
- 进行年度完整恢复演练,还原 AD、DNS、核心银行及依赖应用,验证记录的 RTO
常见陷阱:
- 将备份管理员凭据留在生产 AD 域中,勒索软件操作者可通过 Kerberoasting 或 DCSync 入侵
- 配置比典型勒索软件驻留时间更短的不可变保留期(平均 21 天),允许攻击者等待不可变期过期
- 仅测试单个 VM 还原,而不测试包含依赖项的完整应用栈恢复
- 忘记将备份服务器配置(Veeam 配置数据库、加密密钥)与备份基础设施本身分开备份
输出格式
## 勒索软件备份策略评估
**组织**:[名称]
**评估日期**:[日期]
**评估人**:[名称]
### 现状
- 备份解决方案:[产品/版本]
- 副本数:[数量及位置]
- 不可变副本:[是/否 - 详情]
- 气隙副本:[是/否 - 详情]
- 凭据隔离:[是/否 - 详情]
- 最后还原测试:[日期 - 结果]
### 差距分析
| 控制措施 | 现状 | 目标 | 差距 | 优先级 |
|---------|---------|--------|-----|----------|
| 不可变备份 | 无 | S3 Object Lock + Linux Hardened Repo | 缺失 | 关键 |
| 凭据隔离 | 加入域 | 独立本地账户 + MFA | 部分 | 关键 |
| 还原测试 | 临时手动 | 自动化每周 SureBackup | 缺失 | 高 |
### 建议
1. [优先级] [建议] - [预估工作量]
2. ...
### 恢复层级摘要
| 层级 | 系统数 | RPO | RTO | 备份计划 | 还原测试频率 |
|------|---------|-----|-----|-----------------|----------------------|
| 1 | 50 | 1 小时 | 4 小时 | 每小时增量/每日全量 | 每周 |
| 2 | 200 | 4 小时 | 12 小时 | 每 4 小时增量/每日全量 | 每月 |
| 3 | 250 | 24 小时 | 48 小时 | 每日增量/每周全量 | 每季度 |