implementing-immutable-backup-with-restic について
restic と Object Lock 対応の S3 互換ストレージで、不変バックアップを構築するためのスキルガイドです。ランサムウェア対策、完全性検証、復元手順のテストを必要とする運用担当者向けに、暗号化や保持設定から定期確認までを扱います。
主な機能
- 01暗号化 restic リポジトリの初期化
- 02S3 Object Lock の保持設定
- 03完全性チェックの実行と記録
- 04定期的なファイル復元とチェックサム比較
活用シーン
- 01ランサムウェア対策バックアップ基盤の構築
- 02不変コピーを含む 3-2-1-1-0 戦略の適用
- 03復元可能性の検証と復旧時間の計画
- 04管理者アカウント侵害後のバックアップ改ざん防止
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill implementing-immutable-backup-with-resticインストール後、Claude Code で/implementing-immutable-backup-with-resticを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEreferences/api-reference.mdscripts/agent.py詳細
Restic によるイミュータブルバックアップの実装
使用するタイミング
- 暗号学的な整合性検証を備え、ランサムウェアに耐性のあるバックアップ基盤を構築する場合
- 3-2-1-1-0 バックアップ戦略を実装し、追加の 1 つをイミュータブルなコピーとする場合
- 復元能力をスケジュールに従ってテストするバックアップ検証ワークフローを自動化する場合
- 侵害された管理者アカウントによるバックアップリポジトリの削除や変更から保護する場合
- 改ざん防止ストレージによるデータ保持のコンプライアンス要件を満たす場合
単独のバックアップソリューションとして使用しないでください。 オフラインまたはエアギャップのコピーを併せて保持せずに使用しないでください。オブジェクトロックは論理的な削除から保護しますが、物理的なストレージ障害からは保護しません。
前提条件
- restic バイナリがインストールされていること(https://restic.readthedocs.io/)
- オブジェクトロックが有効な S3 互換ストレージ(AWS S3、MinIO、Backblaze B2)
- サブプロセスモジュールを備えた Python 3.8 以上
- バケットへアクセスできるよう設定された AWS CLI または MinIO クライアント(mc)
- バックアップリポジトリ用の十分なストレージ(重複排除を考慮すると通常はソースデータの 2〜3 倍)
ワークフロー
ステップ 1: 暗号化された Restic リポジトリの初期化
オブジェクトロックを有効にした S3 互換ストレージ上に、暗号化された restic リポジトリを作成します。restic は暗号化に AES-256-CTR を、認証に Poly1305-AES を使用し、バックアップデータの機密性と改ざん検知性を確保します。
ステップ 2: オブジェクトロックの保持期間の設定
バックアップ用バケットで S3 オブジェクトロックのコンプライアンスモードを有効にし、保持期間中はルートを含むいかなるプリンシパルもオブジェクトを削除または変更できないようにします。保持期間は、バックアップの保管期間要件に合わせて設定します(通常は 30〜90 日)。
ステップ 3: バックアップと検証の自動化
バックアップ処理をスケジュールし、バックアップ後に restic check --read-data による整合性検証を実行します。このコマンドは、すべてのデータブロブをダウンロードし、保存されているチェックサムと照合して検証します。結果を記録し、整合性の失敗があれば通知します。
ステップ 4: 復元手順のテスト
バックアップのスナップショットから任意のファイルを定期的に一時的な場所へ復元し、元のファイルとチェックサムを比較して、エンドツーエンドのバックアップ整合性を検証します。RTO 計画のために復元時間を記録します。
主要な概念
| 用語 | 定義 |
|---|---|
| オブジェクトロック | 指定した保持期間中、オブジェクトの削除や上書きを防止する S3 の機能 |
| コンプライアンスモード | ルートアカウントであっても、保持期間が終了するまでオブジェクトを削除できないオブジェクトロックのモード |
| 重複排除 | Restic はデータをコンテンツアドレス可能なチャンクに分けて保存し、すべてのスナップショットをまたいで重複を排除します |
| 3-2-1-1-0 | 3 つのコピー、2 種類のメディア、1 つのオフサイト、1 つのイミュータブル、検証でのエラー 0 |
ツールとシステム
- restic: 組み込みの暗号化と重複排除を備えた、高速で安全なクロスプラットフォームのバックアップツール
- resticpy: restic CLI 操作のための Python ラッパー
- AWS S3 Object Lock: 改ざん防止のバックアップ保持のための WORM ストレージ
- MinIO: オブジェクトロックに対応したセルフホスト可能な S3 互換ストレージ
出力形式
BACKUP VERIFICATION REPORT
===========================
Repository: s3:s3.amazonaws.com/company-backups-immutable
Snapshots: 45
Total Size: 2.3 TiB (deduplicated from 8.7 TiB)
Last Backup: 2026-03-11T02:00:00Z
Integrity Check: PASSED (all packs verified)
Object Lock: Compliance mode, 90-day retention
Restore Test: PASSED (15 files verified)