Designs 3-2-1-1-0 ransomware-resistant backup strategies with RPO/RTO goals, credential isolation, immutable storage, and automated restore testing for critical systems.
npx claudepluginhub killvxk/cybersecurity-skills-zhThis skill uses the workspace's default tool permissions.
- 设计能够抵御勒索软件加密和删除尝试的备份架构
Designs ransomware-resilient backup strategies via 3-2-1-1-0 rule, RPO/RTO schedules, credential isolation, and automated restore tests for critical systems.
Designs ransomware-resilient backup strategies using 3-2-1-1-0 methodology, configures RPO/RTO schedules, isolates credentials, and automates restore testing for critical systems.
Implements immutable backups using restic with S3-compatible storage and object locking for ransomware protection. Automates creation, integrity verification via restic check --read-data, retention policies, and restore tests with AWS S3, MinIO, Backblaze B2.
Share bugs, ideas, or general feedback.
不要将其作为端点保护、网络分段或事件响应规划的替代品。备份是最后一道防线,而非主要预防控制。
根据业务影响将所有系统划分为恢复层级:
| 层级 | 示例 | RPO | RTO | 备份频率 |
|---|---|---|---|---|
| 第 1 级(关键) | 域控制器、ERP、数据库 | 1 小时 | 4 小时 | 每小时增量、每日全量 |
| 第 2 级(重要) | 文件服务器、邮件、Web 应用 | 4 小时 | 12 小时 | 每 4 小时增量、每日全量 |
| 第 3 级(标准) | 开发环境、归档 | 24 小时 | 48 小时 | 每日增量、每周全量 |
记录系统间的依赖关系。域控制器和 DNS 必须在应用服务器之前恢复。数据库服务器在应用层之前恢复。
按照扩展的 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 入侵备份管理员凭据,进而攻击备份基础设施:
# Linux Hardened Repository - 禁用 SSH 密码认证
sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
# 在备份文件上设置不可变标志(XFS 文件系统)
sudo chattr +i /mnt/backup/repository/*
# Veeam Hardened Repository 使用一次性凭据
# 初始设置后不存储在 Veeam 服务器上
Veeam Hardened Linux Repository:
# 最小化 Ubuntu 22.04 LTS 安装
# 无 GUI,无不必要服务
# Veeam 仅在备份窗口期间使用临时 SSH 凭据
# 配置带 reflink 支持的 XFS
sudo mkfs.xfs -b size=4096 -m reflink=1 /dev/sdb1
sudo mount /dev/sdb1 /mnt/veeam-repo
# 创建权限受限的专用 Veeam 用户
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
# 设置默认保留期 - 合规模式 30 天
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,带不可变文件标志 |
背景:一家拥有 500 台服务器、200TB 数据且有 7 年保留合规要求的中型银行,在同行机构遭遇勒索软件攻击后必须重新设计备份。当前备份使用加入生产域的 Windows 服务器上的单个 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 小时 | 每日增量/每周全量 | 每季度 |