Immutable Backup Package

The Foundation That Makes Everything Else Survivable — Loop 0 for Mid-Market

94%
of ransomware targets backups
57%
succeed in destroying them
60%
think they can recover in hours
35%
actually can

Why This Is Loop 0

Immutable backups aren't a feature of your ransomware program. They're the foundation that makes every other package survivable.
ThreatWithout Immutable BackupsWith Immutable Backups
Ransomware encrypts everythingPay $613K or lose dataRestore from immutable copy. Don't pay.
BEC — attacker deletes dataData goneRestore from immutable copy
Failed patch breaks productionScramble to fix or roll back manuallyRestore pre-patch state in hours
Supply chain compromiseCompromised state is the only stateRestore to pre-compromise baseline
Config drift — need to roll backHope someone remembers the old configRestore known-good config from backup
Insider threat — data destructionPermanent lossImmutable = even admin can't delete within retention
Cyber insurance claimDenied — 82% of denied claims lack proper backupEvidence of immutable, tested backups = approved

How Attackers Kill Your Backups

Encryption is not the first objective. Removing your ability to recover IS the first objective. The kill chain is: compromise → escalate → find backups → destroy backups → THEN encrypt.
MethodHow It WorksWhat Stops It
Domain-joined backup serverBackup server on same AD domain. Domain admin = backup admin. One compromise owns everything.Separate backup credentials. No domain join for backup infra.
Shadow copy deletionvssadmin Delete Shadows /all /quiet — near-universal in ransomware, runs in secondsOff-host backups. VSS alone is not a backup strategy.
Credential theftBackup admin creds found in NTDS.dit, Kerberoasting of service accounts, plaintext on staging serversSeparate, unique backup admin accounts. MFA. No password reuse.
API-based deletionStolen cloud API keys used to modify retention policies or delete snapshotsS3 Object Lock Compliance mode — even root can't delete within retention.
Backup software takeoverAttacker controls Veeam/Commvault console, deletes everything through the UIImmutability at storage layer, not application layer. App compromise can't bypass WORM.
Kill backup servicesDisable backup agents/services before encryption. Standard operating procedure.Backups already written to immutable storage. Killing the agent doesn't delete what's already there.
The critical distinction: Application-level "append-only" (Borg, Restic REST server) protects against compromised clients. It does NOT protect against compromised servers. True WORM that even admins can't bypass only exists at the storage layer: S3 Object Lock Compliance mode, Synology WORM folders, or physical air gap.

Entry Point: Backup Resilience Assessment

Can you recover right now? Not "do you have backups" — can you actually restore a critical system from them today?
1 day Entry point

Assessment Checklist

  • Backup existence: What's backed up? What isn't? Is M365 data backed up or just relying on retention policies?
  • Immutability check: Can a domain admin delete your backups right now? If yes, they're not immutable.
  • Credential separation: Are backup admin credentials the same as domain admin? Same password? Same MFA?
  • Network isolation: Is backup infrastructure on the same VLAN/subnet as production? Can ransomware on a workstation reach the backup server?
  • Restore test: Pick a critical system. Actually restore it. Time it. Compare against your stated RTO. Any RTO claim that hasn't been validated by a timed restore is fiction.
  • Retention depth: How far back can you restore? Dwell time can be 14+ days — if your oldest backup is 7 days, you're restoring to a compromised state.
  • M365 backup: Are Exchange, SharePoint, Teams, OneDrive backed up independently? Native retention policies are NOT backup.

Output

Backup resilience scorecard: what's protected, what's immutable, what's tested, what's the actual (not theoretical) RTO. Insurance gap analysis for backup controls specifically.

1 Containment — Protect What Exists Right Now
You probably have backups already. They're probably not immutable. Make them harder to destroy today while you build the real architecture.
Quick Wins (Day 0, Free)
  • Change backup admin passwords to something unique — not shared with domain admin, not in a password vault that's on the domain
    30 minFree
  • Enable MFA on backup admin accounts — separate MFA from production MFA (different authenticator app or hardware key)
    30 minFree
  • If using cloud backup, check that API keys have minimum permissions — write-only for backup agents, separate admin key for restore/delete
    1 hourFree
  • Disable the ability to delete backup jobs from the backup management console without separate authorization
    30 minFree
  • Create a manual offline copy of the most critical data right now — external USB drive, locked in a safe. Ugly but air-gapped.
    2 hours~Free
  • Dump databases before backing up — backing up running DB volumes risks corruption. Add pg_dump / mysqldump pre-backup hooks.
    1 hourFree
Core Engagement (1 day)
  • Credential audit: Map every account that can access, modify, or delete backup data. Ensure zero overlap with domain admin accounts.
  • Immediate S3 Object Lock: If backups go to S3-compatible storage, enable Object Lock in Governance mode today (can upgrade to Compliance mode after validation).
  • Network isolation: Move backup server to a separate VLAN if possible. At minimum, restrict inbound access to only the backup agents.
Target State

Zero shared credentials between production and backup. Backup infrastructure unreachable from compromised workstations. Immediate offline copy exists for worst-case scenario.

2 Detection — Know When Backups Are Under Attack
Attackers disable backup agents and delete shadow copies as standard procedure. You need to know when this happens, not discover it during recovery.
Quick Wins (Day 0, Free)
  • Alert on VSS shadow copy deletion — Windows Event ID 8225 or Sysmon process create for vssadmin.exe delete
    30 minFree
  • Alert on backup service stop/disable — Windows Event ID 7036 for backup agent service state changes
    30 minFree
  • Alert on backup job failures — most backup tools can email on failure. Enable it. Check the email account is monitored.
    15 minFree
  • Monitor backup storage capacity — sudden drops in backup size may indicate deletion. Sudden spikes may indicate encryption of source data.
    30 minFree
Core Engagement (1 day)
  • Wazuh rules for backup integrity: FIM on backup config files, alerts on backup credential access, process monitoring for shadow copy deletion tools
  • Canary files in backup repos — if a canary file disappears from backup, someone is tampering
  • Backup completion dashboard — single pane showing: last successful backup per system, backup size trend, any failed jobs
Target State

Any attempt to delete, modify, or disable backups generates an immediate alert. Backup health visible at a glance. No silent failures.

3 Posture — Build the 3-2-1-1 Architecture
3 copies, 2 different media, 1 offsite, 1 immutable. This is the architecture that makes ransomware a recoverable event.
Quick Wins (Day 0, Free)
  • Install Kopia or Restic — free, encrypted, deduplicated backups with S3 Object Lock support
    2 hoursFree / OSS
  • Set up BorgBackup in append-only mode on a Linux server — clients can create archives, cannot delete
    4 hoursFree / OSS
  • Configure backup credentials as write-only / append-only — the backup agent can push data but cannot delete or modify existing backups
    1 hourFree
Core Engagement (3–4 days)
  • Primary backup: Kopia or Restic to on-prem storage (MinIO with Object Lock, or NAS with WORM snapshots). Fast restores.
  • Secondary backup: Replicate to cloud with S3 Object Lock Compliance mode (Wasabi $6.99/TB or Backblaze B2 $6/TB). Geographic redundancy.
  • Tertiary backup (optional): Quarterly LTO tape or disconnected USB rotation to physical safe. True air gap for catastrophic scenarios.
  • Backup VLAN: Dedicated network segment for backup infrastructure. No inbound access from workstations. Firewall rules restrict traffic to backup agents only.
  • Separate credentials: Backup admin accounts not in AD. Different passwords, different MFA. Stored in a separate password manager or physical safe.
  • Retention policy: Minimum 30 days for daily backups (covers typical dwell time). 90 days for weekly. 1 year for monthly. Retention MUST exceed typical attacker dwell time (14+ days).
  • Pre-backup hooks: Database dumps (pg_dump, mysqldump) before filesystem backup. Never back up running database files directly.

Reference Architecture (200 seats)

[200 Endpoints + Servers]
        |
        | (kopia/restic client, write-only credentials)
        v
[Backup Server: kopia server / restic-rest-server --append-only]
   (Dedicated VLAN, no domain join, separate admin creds)
        |
        +--> [Primary: MinIO on-prem, Object Lock Compliance]
        |         (fast restore, on-site)
        |
        +--> [Secondary: Wasabi/B2, Object Lock Compliance]
        |         (geographic redundancy, offsite)
        |
        +--> [Tertiary: LTO tape / USB in safe]
                  (true air gap, quarterly rotation)
Target State

3-2-1-1 fully implemented. Primary on-prem for fast restore. Secondary cloud for geographic redundancy. Both with Object Lock Compliance — even root can't delete within retention. Backup infrastructure on isolated VLAN with separate credentials.

4 Vulnerability Management — Keep Backups Healthy
Backups configured once and never tested are not backups. They're hopes. The cadence below turns hope into confidence.
Quick Wins (Day 0, Free)
  • Set a monthly calendar reminder: restore one random file per backed-up system. Verify checksum.
    5 minFree
  • Check backup storage capacity trend — is it growing as expected or has it plateaued (indicating silent failure)?
    15 min/monthFree
  • Verify backup admin credentials still work — and that they're still separate from domain admin
    10 min/monthFree
Core Engagement (1 day + cadence)
CadenceTestWhat It Validates
MonthlyFile-level restore — 10 random files, verify checksumsData integrity, backup completeness
QuarterlyApplication restore — full app stack (DB + app + config) to isolated environment, verify it worksRTO claim, application recoverability
QuarterlyCredential review — backup admin accounts, API keys, permissions auditCredential separation, least privilege
AnnuallyFull DR simulation — simulate total infrastructure loss, restore from immutable only, time entire processOrganizational readiness, actual RTO
AnnuallyAdversarial test — can a compromised domain admin delete backups? Can stolen API keys modify retention?Immutability guarantee under attack
Realistic RTOs for mid-market: Critical systems (email, ERP, core DB): 4–24 hours. Secondary systems: 24–72 hours. Full environment rebuild from immutable backups: 3–7 days. Any RTO that hasn't been validated by a timed restore is fiction.
Target State

Monthly file restores passing. Quarterly full-app restores validating RTOs. Annual DR simulation documenting actual recovery time. Adversarial testing confirming immutability holds under attack.

5 Structural — Make Recovery a Certainty
Move from "we have backups" to "we can survive any scenario." Architecture, policy, compliance, and organizational readiness.
Quick Wins (Day 0, Free)
  • Write the Recovery Priority List: Tier 0 (AD/identity — nothing works without this), Tier 1 (payroll — almost always #1 for employees), Tier 2 (ERP/core business), Tier 3 (everything else). Email it to IT and management.
    1 hourFree
  • Print the backup admin credentials and store in a physical safe (not in the password manager that might be encrypted)
    15 minFree
Core Engagement (2–3 days)
  • DR runbook: Step-by-step recovery per tier. Named roles. Tested quarterly. Action cards on laminated paper, not a 60-page PDF on the encrypted file server.
  • M365 backup solution: Native retention is NOT backup. Deploy commercial M365 backup (~$2–4/user/month) for Exchange, SharePoint, Teams, OneDrive with independent retention.
  • Immutable infrastructure: Where possible, rebuild from code/image rather than restore from backup. Infrastructure-as-code for servers means faster reprovisioning.
  • Insurance evidence package: Document immutable backup architecture, retention policies, restore test results, credential separation. This is the evidence that gets claims approved.
  • NIS2 Article 21 alignment: Backup management and disaster recovery are explicitly mandated. Documented 3-2-1-1 + tested DR plan = compliance artifact.
  • Board reporting: Quarterly backup health report: systems covered, last successful backup, last tested restore, RTO status, immutability status. One page.
  • Separate management AD (Red Forest): All privileged accounts (backup admin, hypervisor admin, network admin) live in a separate AD forest. Production domain trusts management domain (one-way) — management admins can manage production resources, but production cannot query the management domain. Attackers who compromise production AD cannot see who the admins are, where they live, or target them. net group "Domain Admins" /domain on production returns nothing useful — the real admins don't exist in that directory. BloodHound against production can't map the attack path. Kerberoasting and NTDS.dit extraction yield zero management credentials. The admins are invisible to reconnaissance.
  • Log retention architecture: 365 days on every server. Increase Windows Event Log to 1GB+ per channel (Security, System, PowerShell). Linux syslog: 12 months. Forward to central logging on isolated infrastructure AND keep on-host copies — if central logging is compromised, on-host logs are your forensic backup. 1TB disk costs less than a coffee per day.
Target State

Recovery is a tested, documented, practiced process — not a hope. Admin accounts invisible to attackers via management AD. Logs retained 365 days. Any scenario (ransomware, insider, failed patch, supply chain compromise) has a recovery path with a validated RTO. Insurance approved. NIS2 compliant. Board informed.

Program Economics (200-seat reference, 50TB data)

EngagementDurationInvestment
Assessment + immediate hardening1 day€1,250
1 Containment1 day€1,250
2 Detection1 day€1,250
3 Posture (3-2-1-1 build)3–4 days€3,750 – 5,000
4 Vuln Mgmt setup1 day + cadence€1,250 + €2,500/yr
5 Structural2–3 days€2,500 – 3,750
Full program9–11 days€11,250 – 13,750 + retainer

Ongoing Storage Costs

ComponentOptionMonthly Cost
Backup softwareKopia / Restic / Borg (FOSS)€0
On-prem immutable storageMinIO on existing hardware€0 (amortized HW)
Cloud immutable (50TB)Wasabi ($6.99/TB)~€350/mo
Backblaze B2 ($6/TB)~€300/mo
Hetzner Storage Box (no WORM)~€36/mo
M365 backup (200 users)Commercial ($3/user/mo)~€600/mo
ROI: Average ransomware total cost: $1.8M–$5M per incident. The full backup program costs €11K–14K one-time + €4K–12K/year ongoing. That's less than 1% of a single ransomware incident. And 69–83% of companies that pay the ransom get hit again.

What "Tested" Actually Means

34% of companies never test tape backups. Of those who do, 77% find failures. "We have backups" and "we can recover" are two completely different statements.
LevelTestCadenceTimeValidates
1File restore — 10 random files, verify checksumsMonthly~1 hourData integrity, backup completeness
2App restore — full stack to isolated env, verify it worksQuarterly4–8 hoursRTO claim, application recoverability
3Full DR simulation — total loss, restore everything, time itAnnually1–3 daysOrganizational readiness, actual RTO
4Adversarial test — attempt to delete backups as compromised adminAnnuallyHalf dayImmutability holds under attack

Free Backup Tools

  • Kopia — Best all-around: GUI, server mode, S3 Object Lock, multi-platform
  • Restic — Proven, broadest backend support, largest community
  • BorgBackup — Best dedup/compression, append-only, Linux/SSH focus
  • MinIO — Self-hosted S3 with Object Lock (Compliance mode)

Immutable Storage Providers

  • Wasabi — $6.99/TB, free egress, S3 Object Lock
  • Backblaze B2 — $6/TB, S3 Object Lock, no min retention
  • Hetzner — ~EUR 6/TB, EU data residency, WORM
  • MinIO (self-hosted) — Free, Object Lock Compliance, you own the hardware

Tool Comparison

FeatureKopiaResticBorg
GUIBuilt-in web + desktop3rd-partyVorta (3rd-party)
WindowsNativeNativeWSL only
S3 Object LockYesYesNo (SSH only)
Server modeBuilt-in multi-userREST serverSSH per-host
DeduplicationContent-addressedContent-addressedBest-in-class
CompressionMultiple algosNone built-in4 algorithms
MaturityGoodExcellentExcellent
Best for200-seat mixed envCloud-firstLinux-only
The 3-2-1-1 Rule: 3 copies of data, on 2 different media types, with 1 offsite copy and 1 immutable copy (S3 Object Lock Compliance mode — even root can't delete within retention period).