mcpField
I
implementing-ransomware-backup-strategy

implementing-ransomware-backup-strategy

github.com/mukul975セキュリティ35.2k53 回インストール8 週間前に更新
リポジトリ

implementing-ransomware-backup-strategy について

ランサムウェアによるバックアップの暗号化や削除に備える方法を扱う、バックアップ管理者とセキュリティチーム向けのスキルです。復旧目標、不変・隔離コピー、認証情報の分離、復元テストを取り上げます。

主な機能

  1. 01復旧ティアごとのシステム分類
  2. 02RPOとRTOの設定
  3. 033-2-1-1-0バックアップ設計
  4. 04バックアップ認証情報とネットワークの分離
  5. 05不変ストレージの構成
  6. 06復元検証の自動化

活用シーン

  1. 01ランサムウェア耐性バックアップの再設計
  2. 02バックアップ環境と本番ADの分離
  3. 03重要システムの復旧目標の計画
  4. 04復元訓練によるバックアップ検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill implementing-ransomware-backup-strategy

インストール後、Claude Code で/implementing-ransomware-backup-strategyを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

詳細

ランサムウェア対策バックアップ戦略の実装

使用する場面

  • ランサムウェアによる暗号化や削除の試みに耐えられるバックアップアーキテクチャを設計する
  • 従来のバックアップから、イミュータブルストレージを使ったランサムウェア耐性のあるバックアップへ移行する
  • 重要なシステムの RPO/RTO 目標を設定し、リストアテストを通じて検証する
  • 本番の Active Directory ドメインからバックアップの認証情報とインフラストラクチャを分離する
  • バックアップの耐障害性とテスト済みの復旧能力に関するサイバー保険の要件を満たす

**エンドポイント保護、ネットワーク分割、インシデント対応計画の代替として使用しないでください。**バックアップは最後の防衛線であり、主要な予防策ではありません。

前提条件

  • ビジネスへの影響度(Tier 1/2/3)に基づいて分類した、重要なシステム、アプリケーション、データのインベントリ
  • 各ティアで定義された RPO(目標復旧時点)と RTO(目標復旧時間)
  • イミュータブルリポジトリに対応したバックアップソフトウェア(Veeam 12+、Commvault、Rubrik、Cohesity)
  • 分離されたバックアップネットワークセグメント、またはエアギャップストレージインフラストラクチャ
  • 本番の AD ドメインに参加していない、バックアップ専用の管理者認証情報

ワークフロー

ステップ 1:資産を分類し、復旧目標を定義する

ビジネスへの影響度に基づいて、すべてのシステムを復旧ティアに分類します。

ティア例RPORTOバックアップ頻度
Tier 1(重要)ドメインコントローラー、ERP、データベース1 時間4 時間1 時間ごとの増分、毎日のフル
Tier 2(重要度高)ファイルサーバー、メール、Web アプリ4 時間12 時間4 時間ごとの増分、毎日のフル
Tier 3(標準)開発環境、アーカイブ24 時間48 時間毎日の増分、毎週のフル

システム間の依存関係を文書化します。アプリケーションサーバーより先に、ドメインコントローラーと DNS を復旧する必要があります。アプリケーション層より先に、データベースサーバーを復旧する必要があります。

ステップ 2:3-2-1-1-0 アーキテクチャを実装する

拡張版の 3-2-1-1-0 ルールに従って、バックアップストレージを構成します。

コピー 1 - ローカルストレージ上のプライマリバックアップ:

# Veeam backup job targeting local repository
# Fast restore for operational recovery
Backup Repository: Local NAS (CIFS/NFS) or SAN
Retention: 14 days of restore points
Encryption: AES-256 with password not stored in AD

コピー 2 - 別のメディア上のセカンダリバックアップ:

# Replicate to secondary site or cloud
# Veeam Backup Copy Job or Scale-Out Backup Repository
Target: AWS S3 / Azure Blob / Wasabi / tape library
Retention: 30 days
Transfer: Encrypted TLS 1.2+ in transit

コピー 3 - オフサイトコピー:

# Geographically separated from primary and secondary
# Cloud object storage in different region or physical tape rotation
Target: Cross-region cloud storage or Iron Mountain tape vaulting
Retention: 90 days

+1 - イミュータブルまたはエアギャップされたコピー:

# Cannot be modified or deleted for defined retention period
# Veeam Hardened Repository on Linux with immutable flag
# Or AWS S3 Object Lock in Compliance mode
# Or physical air-gapped tape

+0 - リストア検証でエラーがゼロであること:

# Automated restore testing using Veeam SureBackup or equivalent
# Scheduled weekly for Tier 1, monthly for Tier 2/3
# Verify boot, network connectivity, and application health
ステップ 3:バックアップ認証情報を分離する

ランサムウェアの攻撃者は、Active Directory を通じてバックアップ管理者の認証情報を侵害し、バックアップインフラストラクチャを標的にします。

  1. バックアップ管理者アカウントを本番の AD ドメインから分離します。バックアップサーバー上のローカルアカウント、または専用のバックアップ管理ドメインを使用します。
  2. 専用のバックアップネットワークセグメントを設け、バックアップトラフィック(特定のポート、特定の送信元/宛先 IP アドレス)のみを許可するファイアウォールルールを設定します。
  3. バックアップコンソールへのアクセスに MFA を適用します。SMS ではなく、ハードウェアトークンまたは認証アプリを使用します。
  4. バックアップサーバーの RDP を無効にします。緊急アクセスには、アウトオブバンド管理(iLO/iDRAC/IPMI)を使用します。
  5. バックアップサーバーをドメインから削除するか、GPO の継承を制限した専用 OU に配置します。
# Linux Hardened Repository - disable SSH password auth
sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

# Set immutable flag on backup files (XFS filesystem)
sudo chattr +i /mnt/backup/repository/*

# Veeam Hardened Repository uses single-use credentials
# that are not stored on the Veeam server after initial setup
ステップ 4:イミュータブルストレージを構成する

Veeam Hardened Linux Repository:

# Minimal Ubuntu 22.04 LTS installation
# No GUI, no unnecessary services
# Veeam uses temporary SSH credentials during backup window only

# Configure XFS with reflink support
sudo mkfs.xfs -b size=4096 -m reflink=1 /dev/sdb1
sudo mount /dev/sdb1 /mnt/veeam-repo

# Create dedicated Veeam user with limited permissions
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(Compliance Mode):

# Create bucket with Object Lock enabled
aws s3api create-bucket \
  --bucket company-immutable-backups \
  --object-lock-enabled-for-bucket \
  --region us-east-1

# Set default retention - 30 days compliance mode
aws s3api put-object-lock-configuration \
  --bucket company-immutable-backups \
  --object-lock-configuration '{
    "ObjectLockEnabled": "Enabled",
    "Rule": {
      "DefaultRetention": {
        "Mode": "COMPLIANCE",
        "Days": 30
      }
    }
  }'

Azure Immutable Blob Storage:

# Create storage account with immutable storage
az storage container immutability-policy create \
  --account-name backupaccount \
  --container-name immutable-backups \
  --period 30

# Lock the policy (irreversible)
az storage container immutability-policy lock \
  --account-name backupaccount \
  --container-name immutable-backups
ステップ 5:リストアテストを自動化する

定期的なスケジュールで、自動リストア検証を構成します。

# Veeam SureBackup verification job (PowerShell)
# Tests VM boot, network ping, and application health

Add-PSSnapin VeeamPSSnapin
$backupJob = Get-VBRJob -Name "Tier1-DailyBackup"
$sureBackupJob = Get-VSBJob -Name "Tier1-RestoreTest"

# Verify last restore test completed successfully
$lastSession = Get-VSBSession -Job $sureBackupJob -Last
if ($lastSession.Result -ne "Success") {
    Send-MailMessage -To "[email protected]" `
        -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目標復旧時点:許容できるデータ損失の最大値を時間で表したもの(例:RPOが1時間の場合、最大1時間分のデータ損失が許容されます)
RTO目標復旧時間:システムの稼働再開までに許容できる最大停止時間
イミュータブルバックアップ定められた保持期間中は、管理者であっても変更、暗号化、削除できないバックアップコピー
エアギャップバックアップ本番システムとネットワーク接続されていない物理的に隔離されたバックアップで、ランサムウェアに対する最も強力な保護を提供します
強化リポジトリ攻撃対象領域を最小限に抑え、永続的な SSH を使用せず、ファイルのイミュータブルフラグを備えた Linux ベースのバックアップストレージ

ツールとシステム

  • Veeam Backup & Replication 12:強化 Linux リポジトリ、SureBackup 検証、イミュータブルバックアップのサポートを備えたエンタープライズ向けバックアップ
  • Rubrik Security Cloud:イミュータブルなスナップショット、異常検知、エアギャップ復旧を備えたゼロトラストバックアッププラットフォーム
  • Commvault:Metallic エアギャップ保護、異常検知、自動復旧オーケストレーションを備えたバックアップ
  • AWS S3 Object Lock:バックアップコピー向けにコンプライアンスモードまたはガバナンスモードで利用できる、クラウドネイティブなイミュータブルストレージ
  • Cohesity DataProtect:DataLock によるイミュータビリティ、ランサムウェア対策検知、即時の一括復元を備えたバックアッププラットフォーム

よくあるシナリオ

シナリオ:ランサムウェア耐性のあるバックアップを導入する金融サービス企業

背景:500 台のサーバーと 200TB のデータを抱え、7 年間の保持に関する規制要件を満たす必要がある中規模銀行が、同業他社のランサムウェア被害を受けてバックアップを再設計する必要に迫られています。現在のバックアップは、本番ドメインに参加している Windows サーバー上の単一の Veeam リポジトリを使用しています。

アプローチ:

  1. 500 台すべてのサーバーを 3 つの階層に分類します:Tier 1 が 50 台(コアバンキング、AD、DNS)、Tier 2 が 200 台(メール、ファイル共有、Web)、Tier 3 が 250 台(開発、テスト、アーカイブ)
  2. プライマリバックアップ用に、専用の Ubuntu 22.04 サーバー上へ XFS のイミュータビリティを備えた Veeam 強化 Linux リポジトリを導入します
  3. Veeam Scale-Out Repository のキャパシティ層を使用し、30 日間のイミュータブルなクラウドコピー用に S3 Object Lock をコンプライアンスモードで構成します
  4. 7 年間の規制要件に対応するため、Iron Mountain への四半期ごとのテープローテーションを確立します
  5. すべてのバックアップサーバーを本番 AD ドメインから切り離し、ハードウェア MFA トークンを使用する隔離されたバックアップ管理者アカウントを作成します
  6. SureBackup ジョブを導入します:Tier 1 は毎週、Tier 2 は毎月、Tier 3 は四半期ごとに実行します
  7. 年次の全面復旧訓練を実施し、AD、DNS、コアバンキング、および依存するアプリケーションを復元して、文書化された RTO を検証します

注意点:

  • バックアップ管理者の認証情報を本番 AD ドメインに残すと、攻撃者が Kerberoasting や DCSync を介して侵害するおそれがあります
  • 一般的なランサムウェアの滞留時間(平均 21 日)よりも短いイミュータブル保持期間を設定すると、攻撃者がイミュータビリティの期限切れを待てるようになります
  • 依存関係を含むアプリケーションスタック全体の復旧をテストせず、個々の VM の復元だけをテストすること
  • バックアップサーバーの構成(Veeam 構成データベース、暗号化キー)を、バックアップインフラストラクチャ自体とは別にバックアップし忘れること

出力形式

## Ransomware Backup Strategy Assessment

**Organization**: [Name]
**Assessment Date**: [Date]
**Assessor**: [Name]

### Current State
- Backup Solution: [Product/Version]
- Copies: [Number and locations]
- Immutable Copy: [Yes/No - Details]
- Air-Gapped Copy: [Yes/No - Details]
- Credential Isolation: [Yes/No - Details]
- Last Restore Test: [Date - Result]

### Gap Analysis
| Control | Current | Target | Gap | Priority |
|---------|---------|--------|-----|----------|
| Immutable backup | None | S3 Object Lock + Linux Hardened Repo | Missing | Critical |
| Credential isolation | Domain-joined | Standalone local accounts + MFA | Partial | Critical |
| Restore testing | Ad-hoc manual | Automated weekly SureBackup | Missing | High |

### Recommendations
1. [Priority] [Recommendation] - [Estimated effort]
2. ...

### Recovery Tier Summary
| Tier | Systems | RPO | RTO | Backup Schedule | Restore Test Frequency |
|------|---------|-----|-----|-----------------|----------------------|
| 1 | 50 | 1hr | 4hr | Hourly inc/Daily full | Weekly |
| 2 | 200 | 4hr | 12hr | 4hr inc/Daily full | Monthly |
| 3 | 250 | 24hr | 48hr | Daily inc/Weekly full | Quarterly |

コメント