implementing-immutable-backup-with-restic

使用 restic 与 S3 兼容存储及对象锁定实施不可变备份策略,提供抗勒索软件的 数据保护。自动化备份创建、通过 restic check --read-data 进行完整性验证、 快照保留策略执行和还原测试。与 AWS S3 Object Lock、MinIO 和 Backblaze B2 集成,提供防止勒索软件删除或加密备份的 WORM(一次写入多次读取)存储。

9 stars

Best use case

implementing-immutable-backup-with-restic is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

使用 restic 与 S3 兼容存储及对象锁定实施不可变备份策略,提供抗勒索软件的 数据保护。自动化备份创建、通过 restic check --read-data 进行完整性验证、 快照保留策略执行和还原测试。与 AWS S3 Object Lock、MinIO 和 Backblaze B2 集成,提供防止勒索软件删除或加密备份的 WORM(一次写入多次读取)存储。

Teams using implementing-immutable-backup-with-restic should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/implementing-immutable-backup-with-restic/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/implementing-immutable-backup-with-restic/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/implementing-immutable-backup-with-restic/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How implementing-immutable-backup-with-restic Compares

Feature / Agentimplementing-immutable-backup-with-resticStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

使用 restic 与 S3 兼容存储及对象锁定实施不可变备份策略,提供抗勒索软件的 数据保护。自动化备份创建、通过 restic check --read-data 进行完整性验证、 快照保留策略执行和还原测试。与 AWS S3 Object Lock、MinIO 和 Backblaze B2 集成,提供防止勒索软件删除或加密备份的 WORM(一次写入多次读取)存储。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 使用 Restic 实施不可变备份

## 使用场景

- 建立具有密码完整性验证的抗勒索软件备份基础设施
- 实施 3-2-1-1-0 备份策略,其中额外的 1 是不可变副本
- 自动化备份验证工作流,按计划测试还原能力
- 防止备份仓库被已入侵的管理员账户删除或修改
- 满足使用防篡改存储的数据保留合规要求

**不要**将其用作唯一的备份解决方案,而不维护离线/气隙隔离的副本。对象锁定防止逻辑删除,但不防止物理存储故障。

## 前置条件

- 已安装 restic 二进制文件(https://restic.readthedocs.io/)
- 启用了对象锁定的 S3 兼容存储(AWS S3、MinIO、Backblaze B2)
- Python 3.8+ 及 subprocess 模块
- 已配置桶访问的 AWS CLI 或 MinIO 客户端(mc)
- 用于备份仓库的足够存储空间(通常为源数据的 2-3 倍,经去重后)

## 工作流程

### 步骤一:使用加密初始化 Restic 仓库

在启用了对象锁定的 S3 兼容存储上创建加密的 restic 仓库。Restic 使用 AES-256-CTR 加密,配合 Poly1305-AES 进行认证,确保备份数据既保密又防篡改。

### 步骤二:配置对象锁定保留

在备份桶上以合规模式(Compliance Mode)启用 S3 Object Lock,防止任何主体(包括 root)在保留期内删除或修改对象。将保留期设置为符合备份窗口要求(通常 30-90 天)。

### 步骤三:自动化备份和验证

使用 `restic check --read-data` 安排备份操作并进行备份后完整性验证,该命令下载并验证每个数据块的存储校验和。记录结果并对任何完整性失败发出告警。

### 步骤四:测试还原流程

定期从备份快照还原随机文件到临时位置,并与原始文件的校验和进行比对,以验证端到端备份完整性。记录还原时间用于 RTO 规划。

## 核心概念

| 术语 | 定义 |
|------|------------|
| **Object Lock** | 防止在指定保留期内删除或覆盖对象的 S3 功能 |
| **合规模式** | 即使是 root 账户在保留期到期前也无法删除对象的对象锁定模式 |
| **去重** | Restic 以内容寻址块存储数据,在所有快照间进行去重 |
| **3-2-1-1-0** | 3 份副本、2 种媒体类型、1 份异地、1 份不可变、0 个验证错误 |

## 工具与系统

- **restic**:具有内置加密和去重的快速、安全、跨平台备份工具
- **resticpy**:restic CLI 操作的 Python 封装
- **AWS S3 Object Lock**:用于防篡改备份保留的 WORM 存储
- **MinIO**:支持 Object Lock 的自托管 S3 兼容存储

## 输出格式

```
备份验证报告
===========================
仓库:s3:s3.amazonaws.com/company-backups-immutable
快照数:45
总大小:2.3 TiB(去重前 8.7 TiB)
最后备份:2026-03-11T02:00:00Z
完整性检查:通过(所有数据包已验证)
对象锁定:合规模式,90 天保留期
还原测试:通过(15 个文件已验证)
```

Related Skills

implementing-zero-trust-with-hashicorp-boundary

9
from killvxk/cybersecurity-skills-zh

使用 HashiCorp Boundary 实现具备动态凭据代理、会话录制和 Vault 集成的身份感知零信任基础设施访问管理。

implementing-zero-trust-with-beyondcorp

9
from killvxk/cybersecurity-skills-zh

使用身份感知代理(IAP,Identity-Aware Proxy)、上下文感知访问策略、设备信任验证和 Access Context Manager,部署 Google BeyondCorp Enterprise 零信任访问控制,对 GCP 资源和内部应用强制执行基于身份和安全态势的访问。

implementing-zero-trust-network-access

9
from killvxk/cybersecurity-skills-zh

通过配置身份感知代理、微分段、基于条件访问策略的持续验证,以及在 AWS、Azure 和 GCP 环境中以 BeyondCorp 风格的架构替代传统 VPN 访问,在云环境中实施零信任网络访问(ZTNA)。

implementing-zero-trust-network-access-with-zscaler

9
from killvxk/cybersecurity-skills-zh

使用 Zscaler 实施零信任网络访问(Zero Trust Network Access,ZTNA),通过 Zscaler Private Access(ZPA)配置应用分段、访问策略和连接器,替代传统 VPN 架构

implementing-zero-trust-in-cloud

9
from killvxk/cybersecurity-skills-zh

本技能指导组织按照 NIST SP 800-207 和 Google BeyondCorp 原则在云环境中实施零信任(Zero Trust)架构,涵盖以身份为中心的访问控制、微分段(Micro-Segmentation)、持续验证、设备信任评估,以及部署身份感知代理(Identity-Aware Proxy)以消除 AWS、Azure 和 GCP 环境中的隐式网络信任。

implementing-zero-trust-for-saas-applications

9
from killvxk/cybersecurity-skills-zh

使用 CASB、SSPM、条件访问策略、OAuth 应用治理和会话控制,为 SaaS 应用实施零信任访问控制, 对云托管服务强制执行身份验证、设备合规性检查和数据保护。

implementing-zero-trust-dns-with-nextdns

9
from killvxk/cybersecurity-skills-zh

将 NextDNS 实施为零信任 DNS 过滤层,提供加密解析、威胁情报阻断、隐私保护,以及跨所有端点的组织策略执行。

implementing-zero-standing-privilege-with-cyberark

9
from killvxk/cybersecurity-skills-zh

部署 CyberArk Secure Cloud Access,通过基于时间、权限和审批控制的即时访问,在混合云和多云环境中消除常设权限。

implementing-zero-knowledge-proof-for-authentication

9
from killvxk/cybersecurity-skills-zh

零知识证明(ZKP)允许证明者在不泄露秘密本身的情况下证明对某个秘密(如密码或私钥)的了解。本技能实现 Schnorr 身份识别协议和使用离散对数问题的简化 ZKPP,使服务器永远不需要获取用户密码即可完成认证。

implementing-web-application-logging-with-modsecurity

9
from killvxk/cybersecurity-skills-zh

配置带有 OWASP 核心规则集(CRS)的 ModSecurity WAF,实现 Web 应用程序日志记录, 调整规则以减少误报,分析审计日志进行攻击检测,并为应用程序特定威胁实现自定义 SecRules。 分析师配置 SecRuleEngine、SecAuditEngine 和 CRS 偏执级别,以在安全覆盖范围和运营稳定性之间取得平衡。 适用于涉及 WAF 配置、ModSecurity 规则调整、Web 应用审计日志或 CRS 部署的场景。

implementing-vulnerability-sla-breach-alerting

9
from killvxk/cybersecurity-skills-zh

为漏洞修复 SLA 违规构建自动化告警,包含基于严重程度的时间线、升级工作流和合规性报告仪表板。

implementing-vulnerability-remediation-sla

9
from killvxk/cybersecurity-skills-zh

漏洞修复 SLA(服务级别协议)根据严重程度、资产重要性和漏洞利用可用性定义修补或缓解已识别漏洞的强制时限。有效的 SLA 计划推动责任落实、确保一致的修复时间线,并为漏洞管理成熟度提供可衡量的 KPI。