Skip to content

Veeam Hardening & Zero Trust Guide: Architecture, Linux Hardened Repositories, and Native Controls

HERMES

HERMES RESILIENCE SCORE & DEFENSIVE RATING

Target: Veeam Hardened Repository & Zero Trust Enterprise Isolation Blueprint
Confidence: 99%
92 / 100
CRITICAL

Measures real-world operational relevance, exploit weaponization, and active threat posture.

Dimension Breakdown
Exploitability 18 / 20
Threat Activity 19 / 20
Weaponization 18 / 20
Exposure 18 / 20
Prevalence 18 / 20
Impact 20 / 20
Exploit Maturity 19 / 20
Attack Chain Potential 19 / 20
βš–οΈ Divergence & Operational Rationale

Hermes Defensive Engineering rates a hardened, out-of-domain Veeam architecture with Linux Hardened Repositories (LHR) at 92 resilience score. When implemented correctly, immutable XFS storage completely prevents attackers from deleting, tampering with, or encrypting backup chains, neutralizing the leverage of ransomware syndicates even during total Active Directory domain collapse.

πŸ•ΈοΈ Connected Knowledge Graph & Provenance

Veeam Backup & ReplicationPRODUCT

Connected Nodes: 0

1. Architectural Isolation: The Out-of-Domain Imperative

Section titled β€œ1. Architectural Isolation: The Out-of-Domain Imperative”

The control and storage planes of your backup system must be decoupled from the identity plane of the workloads they protect.

Flawed vs. Resilient Backup Architecture:
❌ VULNERABLE DESIGN (Single Point of Failure):
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Production Active Directory Domain (domain.local) β”‚
β”‚ β”œβ”€β”€ Domain Controllers β”‚
β”‚ β”œβ”€β”€ Workstations & File Servers β”‚
β”‚ └── [!] Veeam Backup Server (Domain-Joined) β”‚
β”‚ └── Compromised Domain Admin = Complete Backup Erasureβ”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
βœ”οΈ RESILIENT ZERO TRUST DESIGN (Isolated Backup Plane):
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Production Corporate AD β”‚ β”‚ Isolated Backup Enclave β”‚
β”‚ (Untrusted by Backup Planeβ”‚ β”‚ (Workgroup / Red Forest) β”‚
β”‚ β”œβ”€β”€ Domain Controllers β”‚ β”‚ β”œβ”€β”€ VBR Server (Local) β”‚
β”‚ β”œβ”€β”€ Production Workloads β”‚ β”‚ └── Dedicated LHR Hosts β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚ β”‚
└──────── Strictly Filtered β”€β”€β”€β”€β”€β”€β”˜
Micro-Segmentation
(No Domain Trust)

Architectural Guiding Principles (ANSSI & CISA Aligned)

Section titled β€œArchitectural Guiding Principles (ANSSI & CISA Aligned)”
  1. No Domain Membership: The VBR backup server, proxies, and storage nodes must operate as standalone Workgroup systems or reside inside a dedicated, non-trusted administrative forest (β€œRed Forest”).
  2. Dedicated Local Administrative Credentials: Each backup host must maintain unique, randomly generated local administrator passwords stored in an offline, air-gapped vault. Under no circumstances should local credentials match production machine passwords.
  3. Hypervisor Isolation: The management network interfaces of hypervisors (VMware vCenter / ESXi, Hyper-V) must only accept connections from the backup server’s dedicated IP and port.

The traditional 3-2-1 backup rule is insufficient to counter modern double-extortion ransomware operations. Enterprise defense mandates adherence to the 3-2-1-1-0 golden rule:

Rule ElementTechnical Implementation RequirementThreat Mitigated
3 Copies1 primary production copy + 2 backup copies on distinct infrastructure.Accidental loss, hardware failure.
2 Distinct MediaDisk-based backup (XFS) + Object storage (S3/Blob) or offline tape (LTO).Media degradation, firmware corruption.
1 Off-Site CopyReplicated to a secondary data center or cloud region.Physical disaster, geographic outage.
1 Immutable CopyLinux Hardened Repository (LHR) with XFS immutability or S3 Object Lock.Ransomware destruction, malicious insider.
0 Restore ErrorsAutomated testing via Veeam SureBackup (sandbox VM boot and verification).Corrupted backup chains, undetected bitrot.

The Linux Hardened Repository is the cornerstone of Veeam’s immutable architecture. It transforms a standard Linux physical server into a WORM (Write Once, Read Many) appliance.

Linux Hardened Repository (LHR) Immutability Architecture:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Veeam Backup Server (Windows Control Plane) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚
β”‚ Data Mover TCP Stream
β”‚ (TCP Ports 2500-3300)
β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Physical Linux Server (Ubuntu 22.04 / 24.04 LTS, RHEL 9) β”‚
β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Veeam Data Mover Daemon (veeamtransport) β”‚ β”‚
β”‚ β”‚ - Runs as non-root unprivileged service account β”‚ β”‚
β”‚ β”‚ - Interacts with file system using XFS Reflink engine β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ β”‚ Sets chattr +i attribute β”‚
β”‚ β”‚ for specified retention days β”‚
β”‚ β–Ό β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ XFS Filesystem Mountpoint (/mnt/veeam_immutable) β”‚ β”‚
β”‚ β”‚ - Formatted with: mkfs.xfs -b size=4096 -m reflink=1 β”‚ β”‚
β”‚ β”‚ - Operating System kernel enforces immutable flag β”‚ β”‚
β”‚ β”‚ - Even root cannot unlink or modify files while +i set β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Defenders must deploy LHR as a bare-metal physical server. If LHR is deployed as a virtual machine on VMware ESXi or Hyper-V, any threat actor who gains access to the hypervisor management console can simply delete the virtual disk (.vmdk) or snapshot the VM, completely bypassing the OS-level immutability.

  1. OS Installation & Minimal Footprint: Install a minimal distribution of Ubuntu Server 22.04/24.04 LTS or RHEL 9. Do not install graphical interfaces, web servers, or unnecessary third-party packages.
  2. XFS Filesystem Formatting with Reflink: Format the backup storage volume using XFS with fast-cloning (reflink) support enabled:
    Terminal window
    # Format dedicated storage block device (e.g., /dev/sdb)
    sudo mkfs.xfs -b size=4096 -m reflink=1,crc=1 /dev/sdb
    # Create mount point and configure fstab
    sudo mkdir -p /mnt/veeam_immutable
    echo "UUID=$(sudo blkid -s UUID -o value /dev/sdb) /mnt/veeam_immutable xfs defaults,noatime 0 0" | sudo tee -a /etc/fstab
    sudo mount -a
  3. Dedicated Non-Root User Provisioning: Create an unprivileged service account for Veeam transport services:
    Terminal window
    sudo useradd -m -s /bin/bash veeamsvc
    sudo passwd veeamsvc
    sudo chown -R veeamsvc:veeamsvc /mnt/veeam_immutable
    sudo chmod 700 /mnt/veeam_immutable
  4. Grant Sudo Rights for Deployment (Temporary): The Veeam Backup Server requires temporary sudo access during the initial deployment to install the transport daemon:
    Terminal window
    echo "veeamsvc ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/veeamsvc
  5. VBR Server Deployment with Single-Use Credentials: In the Veeam console:
    • Navigate to Backup Infrastructure > Managed Servers > Add Server > Linux.
    • Select Single-use credentials for hardened repository.
    • Input the veeamsvc username and password. Veeam connects over SSH, installs veeamtransport, registers the service, and automatically purges the stored credentials from VBR memory.
  6. Post-Deployment Lock-Down (Crucial): Once deployment is complete, immediately remove sudo permissions and disable SSH:
    Terminal window
    # Remove temporary sudo permissions
    sudo rm -f /etc/sudoers.d/veeamsvc
    # Disable and stop SSH server to prevent network shell access
    sudo systemctl stop ssh
    sudo systemctl disable ssh
    # Verify immutable attributes on backup files
    lsattr -l /mnt/veeam_immutable/

Veeam Backup & Replication includes several built-in defensive features that must be explicitly activated in enterprise deployments.

Under normal operations, an administrator who accesses the VBR console can delete backup chains or shorten retention policies. The Four-Eyes Authorization feature enforces the two-person rule:

Four-Eyes Authorization Workflow:
[Admin 1: Compromised Account] ── Attempts to Delete Backup ──► [VBR Control Plane]
β”‚
Action Held
in Pending State
β”‚
[Email / Alert Triggered] β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚
β–Ό
[Admin 2: Security Approver] ──── Must Authorize Request Within 24h
(Separate Credentials + MFA)
If Denied: Action Aborted, Alert Fired
  • Protected Actions: Deleting backups from disk, removing backup repositories, shortening retention periods, disabling immutability, or deleting secondary backup copies.
  • Implementation: Enabled via Main Menu > Users and Roles > Security Settings > Enable Four-Eyes Authorization. Assign separate security approver roles.

Introduced to prevent credential-stuffing and stolen credential reuse on the VBR console:

  • Enforces Time-Based One-Time Password (TOTP) generation via Google Authenticator, Microsoft Authenticator, or YubiKey.
  • Protects interactive console access, PowerShell snap-in sessions, and REST API authentication tokens.

Veeam includes an integrated automated auditing engine that checks current configuration against established hardening baselines:

  • Audits backup server domain membership.
  • Verifies immutability settings on all repositories.
  • Checks whether backup encryption is active.
  • Flags insecure default ports and alerts on outdated Veeam builds.

The following scripts demonstrate how to lock down network access to the VBR host and the Linux Hardened Repository.

Terminal window
# PowerShell: Lock down VBR host to authorized management subnets only
$AuthorizedAdminSubnet = "10.100.50.0/24"
$BackupProxySubnet = "10.100.60.0/24"
# 1. Enable Windows Firewall across all profiles
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
# 2. Block all inbound traffic by default
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultInboundAction Block
# 3. Restrict Veeam Management Port (9401)
New-NetFirewallRule -DisplayName "Veeam-Control-9401-Restricted" `
-Direction Inbound -Protocol TCP -LocalPort 9401 `
-RemoteAddress $AuthorizedAdminSubnet -Action Allow
# 4. Restrict MountService (6172) and ThreatHunter (6175) to Proxy/Admin Subnets
New-NetFirewallRule -DisplayName "Veeam-MountService-6172-Restricted" `
-Direction Inbound -Protocol TCP -LocalPort 6172 `
-RemoteAddress $BackupProxySubnet -Action Allow
New-NetFirewallRule -DisplayName "Veeam-ThreatHunter-6175-Restricted" `
-Direction Inbound -Protocol TCP -LocalPort 6175 `
-RemoteAddress $BackupProxySubnet -Action Allow
# 5. Allow Data Mover Dynamic Streams between Proxies and Repositories (2500-3300)
New-NetFirewallRule -DisplayName "Veeam-DataMover-2500-3300" `
-Direction Inbound -Protocol TCP -LocalPort 2500-3300 `
-RemoteAddress $BackupProxySubnet -Action Allow

Use this audit matrix to perform regular verification of your Veeam backup posture:

Hardening RequirementVerification MethodStatusCompliance Impact
Backup Server Out-of-DomainRun (Get-WmiObject Win32_ComputerSystem).PartOfDomainMust return $falsePrevents AD domain compromise propagation
Linux Hardened Repository ImmutabilityRun lsattr /path/to/backup.vbkMust include i flagPrevents ransomware deletion or encryption
SSH Disabled on LHRRun systemctl is-active sshMust return inactivePrevents remote network shell intrusion
Single-Use Deployment CredentialsVerify no stored credentials in VBR databaseVerified emptyPrevents lateral movement from compromised VBR
Four-Eyes Authorization ActiveCheck VBR Users and Roles menuEnabledBlocks rogue single-user backup purge
MFA Enforced on ConsoleAttempt console login without TOTPBlockedMitigates credential reuse and stuffing
KMS Backup Encryption EnabledInspect backup job configurationAES-256 activeProtects backups during offsite exfiltration
SureBackup Verification ActiveReview SureBackup job completion logsDaily verificationGuarantees zero restore errors