Veeam Hardening & Zero Trust Guide: Architecture, Linux Hardened Repositories, and Native Controls
HERMES RESILIENCE SCORE & DEFENSIVE RATING
Target:Veeam Hardened Repository & Zero Trust Enterprise Isolation Blueprint 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.
Veeam Backup & ReplicationPRODUCT
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)β- 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β).
- 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.
- 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.
2. The Modern 3-2-1-1-0 Resilience Framework
Section titled β2. The Modern 3-2-1-1-0 Resilience Frameworkβ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 Element | Technical Implementation Requirement | Threat Mitigated |
|---|---|---|
| 3 Copies | 1 primary production copy + 2 backup copies on distinct infrastructure. | Accidental loss, hardware failure. |
| 2 Distinct Media | Disk-based backup (XFS) + Object storage (S3/Blob) or offline tape (LTO). | Media degradation, firmware corruption. |
| 1 Off-Site Copy | Replicated to a secondary data center or cloud region. | Physical disaster, geographic outage. |
| 1 Immutable Copy | Linux Hardened Repository (LHR) with XFS immutability or S3 Object Lock. | Ransomware destruction, malicious insider. |
| 0 Restore Errors | Automated testing via Veeam SureBackup (sandbox VM boot and verification). | Corrupted backup chains, undetected bitrot. |
3. Engineering the Linux Hardened Repository (LHR)
Section titled β3. Engineering the Linux Hardened Repository (LHR)β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 β β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββPhysical vs. Virtual Considerations
Section titled βPhysical vs. Virtual Considerationsβ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.
Step-by-Step LHR Deployment Guide
Section titled βStep-by-Step LHR Deployment Guideβ- 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.
- 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 fstabsudo mkdir -p /mnt/veeam_immutableecho "UUID=$(sudo blkid -s UUID -o value /dev/sdb) /mnt/veeam_immutable xfs defaults,noatime 0 0" | sudo tee -a /etc/fstabsudo mount -a - Dedicated Non-Root User Provisioning:
Create an unprivileged service account for Veeam transport services:
Terminal window sudo useradd -m -s /bin/bash veeamsvcsudo passwd veeamsvcsudo chown -R veeamsvc:veeamsvc /mnt/veeam_immutablesudo chmod 700 /mnt/veeam_immutable - 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 - 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
veeamsvcusername and password. Veeam connects over SSH, installsveeamtransport, registers the service, and automatically purges the stored credentials from VBR memory.
- Post-Deployment Lock-Down (Crucial):
Once deployment is complete, immediately remove sudo permissions and disable SSH:
Terminal window # Remove temporary sudo permissionssudo rm -f /etc/sudoers.d/veeamsvc# Disable and stop SSH server to prevent network shell accesssudo systemctl stop sshsudo systemctl disable ssh# Verify immutable attributes on backup fileslsattr -l /mnt/veeam_immutable/
4. Native VBR Security Controls (v12 / v13)
Section titled β4. Native VBR Security Controls (v12 / v13)βVeeam Backup & Replication includes several built-in defensive features that must be explicitly activated in enterprise deployments.
Four-Eyes Authorization (Two-Person Rule)
Section titled βFour-Eyes Authorization (Two-Person Rule)β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.
Mandatory Console Multi-Factor Authentication (MFA)
Section titled βMandatory Console Multi-Factor Authentication (MFA)β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 Security & Compliance Analyzer
Section titled βVeeam Security & Compliance Analyzerβ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.
5. Host Firewall & Network Micro-Segmentation
Section titled β5. Host Firewall & Network Micro-SegmentationβThe following scripts demonstrate how to lock down network access to the VBR host and the Linux Hardened Repository.
# 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 profilesSet-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
# 2. Block all inbound traffic by defaultSet-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 SubnetsNew-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#!/usr/bin/env bash# Lockdown UFW script for Linux Hardened Repository (LHR)set -euo pipefail
VBR_SERVER_IP="10.100.50.15"PROXY_SUBNET="10.100.60.0/24"
# Reset UFW rulessudo ufw --force resetsudo ufw default deny incomingsudo ufw default deny outgoing
# Allow outbound DNS and NTPsudo ufw allow out 53/udpsudo ufw allow out 123/udp
# Allow Data Mover connection from VBR Serversudo ufw allow from "$VBR_SERVER_IP" to any port 6162 proto tcp comment 'Veeam Transport Daemon'
# Allow Data Streams from Backup Proxies (Ports 2500-3300)sudo ufw allow from "$PROXY_SUBNET" to any port 2500:3300 proto tcp comment 'Veeam Data Mover Stream'
# Deny all SSH access permanentlysudo ufw deny 22/tcp comment 'Block SSH'
# Enable firewallsudo ufw --force enablesudo ufw status verbose6. Enterprise Hardening Audit Checklist
Section titled β6. Enterprise Hardening Audit ChecklistβUse this audit matrix to perform regular verification of your Veeam backup posture:
| Hardening Requirement | Verification Method | Status | Compliance Impact |
|---|---|---|---|
| Backup Server Out-of-Domain | Run (Get-WmiObject Win32_ComputerSystem).PartOfDomain | Must return $false | Prevents AD domain compromise propagation |
| Linux Hardened Repository Immutability | Run lsattr /path/to/backup.vbk | Must include i flag | Prevents ransomware deletion or encryption |
| SSH Disabled on LHR | Run systemctl is-active ssh | Must return inactive | Prevents remote network shell intrusion |
| Single-Use Deployment Credentials | Verify no stored credentials in VBR database | Verified empty | Prevents lateral movement from compromised VBR |
| Four-Eyes Authorization Active | Check VBR Users and Roles menu | Enabled | Blocks rogue single-user backup purge |
| MFA Enforced on Console | Attempt console login without TOTP | Blocked | Mitigates credential reuse and stuffing |
| KMS Backup Encryption Enabled | Inspect backup job configuration | AES-256 active | Protects backups during offsite exfiltration |
| SureBackup Verification Active | Review SureBackup job completion logs | Daily verification | Guarantees zero restore errors |