Veeam Hardened Repository no Ubuntu: guia técnico completo de implantação

Guia técnico completo para implantação do Veeam Hardened Repository (repositório Linux imutável) em Ubuntu Server 22.04 LTS e 24.04 LTS, compatível com Veeam Backup & Replication 12.3 e v13. Abrange desde o particionamento XFS até o lockdown pós-configuração, incluindo sudoers granular conforme a KB4667 oficial da Veeam.

Como o Hardened Repository protege seus backups

O Veeam Hardened Repository combina dois mecanismos independentes de proteção que atuam em camadas distintas:

Imutabilidade via chattr +i (Linux immutable bit): após gravar cada arquivo de backup (.vbk, .vib, .vrb, .vbm), o Veeam aplica o atributo imutável do Linux usando chattr +i. Este atributo é gerenciado pelo kernel diretamente no sistema de arquivos e impede qualquer operação de escrita, renomeação ou exclusão — mesmo para o usuário root via SSH ou acesso local. O período de imutabilidade é registrado como extended attribute (user.immutable.until) em cada arquivo. O Veeam Data Mover remove o atributo apenas após a expiração do período configurado, nunca antes.

Single-use credentials: as credenciais do usuário veeamrepo são usadas uma única vez para instalar o Veeam Data Mover Service e configurar os certificados de autenticação mútua (SHA256RSA, RSA 2048-bit). Após essa etapa, toda comunicação passa a usar autenticação por certificado — as credenciais não são armazenadas no banco de dados do Veeam. Mesmo que o servidor VBR seja comprometido, o atacante não obterá credenciais para acessar e deletar os backups remotamente.

No VBR v13 (BYO Linux): o modelo de single-use credentials com SSH continua válido e suportado. O Veeam Infrastructure Appliance (VIA) introduz autenticação exclusivamente por certificado, eliminando o SSH durante todo o ciclo de vida — mas este guia cobre apenas o modelo BYO Linux.

1. Versões suportadas e requisitos

Este guia cobre exclusivamente implantações com Ubuntu 22.04 LTS e 24.04 LTS no modelo BYO Linux, compatível com VBR 12.3 e VBR 13.

ComponenteVBR 12.3VBR 13
Ubuntu 22.04 LTS (Jammy)✅ Suportado✅ Suportado
Ubuntu 24.04 LTS (Noble)✅ Suportado✅ Suportado
Kernel mínimo5.15 (Ubuntu 22.04)5.15 (22.04) / 6.8 (24.04)
Sistema de arquivosXFS com reflink=1XFS com reflink=1
Arquiteturax86_64 (64-bit)x86_64 (64-bit)
Shell obrigatório/bin/bash/bin/bash
AutenticaçãoSingle-use credentials + certificadoSingle-use + certificado (BYO) ou somente certificado (VIA)
⚠ Ubuntu 20.04 LTS: Entrou em fim de suporte padrão (EOL) em abril de 2025. Não utilize em novas implantações. Ambientes existentes devem ser migrados para Ubuntu 22.04 ou 24.04. Este guia não cobre a versão 20.04.
ℹ CVE-2026-31431 ("Copy Fail"): Vulnerabilidade de escalação local de privilégios no kernel Linux que afetou repositórios Ubuntu 22.04.5. A Canonical disponibilizou patch via HWE stack. Para novas implantações, Ubuntu 24.04 LTS com kernel 6.8+ já inclui a correção. Verifique sempre a versão do kernel com uname -r antes de colocar em produção.

2. Requisitos de hardware e rede

2.1 Hardware

ComponenteMínimoProdução recomendado
Tipo de servidorFísico (fortemente recomendado)Servidor físico dedicado (HPE ProLiant, Cisco UCS, Dell PowerEdge)
CPU4 cores x86_648–16 cores físicos
RAM8 GB16–32 GB
Disco SO60 GB SSD2× SSD 120 GB em RAID 1 via controladora hardware
Disco de dadosConforme capacidadeRAID 6 ou RAID 60 com SAS/SATA/NL-SAS ou NVMe dedicados
Rede1 GbE10 GbE dedicado com NIC redundante
BootBIOS legacyUEFI com Secure Boot habilitado
🔴 Servidor físico é obrigatório para ambientes de alta segurança. Em máquinas virtuais, o administrador do hypervisor pode acessar os discos diretamente, bypassando a imutabilidade do Linux. A Veeam recomenda explicitamente servidor físico com discos internos para eliminar esse vetor de ataque.

2.2 Portas de rede

PortaProtocoloDireçãoFinalidade
22TCPVBR → RepositórioSSH — implantação inicial e gerenciamento
2500–3300TCPVBR / Proxy → RepositórioVeeam Data Mover — transferência de dados
6162TCPVBR → RepositórioVeeam Installer Service (implantação do Data Mover)
ℹ Isolamento de rede: Use VLAN dedicada para o repositório, sem roteamento para internet. Restrinja o acesso SSH exclusivamente ao IP do servidor VBR — nunca abra para toda a rede.

3. Instalação do Ubuntu Server

3.1 Download e verificação da ISO

bash
# Ubuntu 22.04.4 LTS — suportado até abril 2027
wget https://releases.ubuntu.com/22.04/ubuntu-22.04.4-live-server-amd64.iso
wget https://releases.ubuntu.com/22.04/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS

# Ubuntu 24.04.1 LTS — suportado até abril 2029 (recomendado para novas implantações)
wget https://releases.ubuntu.com/24.04/ubuntu-24.04.1-live-server-amd64.iso
wget https://releases.ubuntu.com/24.04/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS

3.2 Opções de instalação

  • Selecione Ubuntu Server (minimized) — sem interface gráfica, menor superfície de ataque
  • Selecione o kernel HWE (Hardware Enablement) quando oferecido
  • Habilite UEFI Secure Boot nas configurações do servidor antes de iniciar
  • Configure IP estático durante a instalação

3.3 Layout de particionamento recomendado

Ponto de montagemTamanhoFSFinalidade
/boot/efi512 MBFAT32Partição EFI (UEFI)
/boot1 GBext4Kernel e initrd
/20 GBext4Sistema operacional raiz
/tmp5 GBext4Arquivos temporários
/var10 GBext4Logs e dados variáveis
/var/log10 GBext4Logs do sistema
/var/log/audit5 GBext4Logs de auditoria
/var/tmp5 GBext4Temporários persistentes
/home25 GBext4Home do usuário veeamrepo (usado pelo SOBR)
swap= RAMswapMemória virtual
/mnt/backupDisco dedicado inteiroXFSDados de backup Veeam — volume imutável
⚠ /home com 25 GB: Se o repositório for parte de um Scale-Out Backup Repository (SOBR), o Veeam grava dados temporários em /home/veeamrepo/. Dimensione esse volume adequadamente.

4. Configuração do storage: particionamento e XFS

4.1 Identificar o disco de dados

bash
# Listar discos disponíveis
lsblk -d -o NAME,SIZE,TYPE,MODEL

# Ver detalhes de um disco específico
sudo fdisk -l /dev/sdb

4.2 Criar tabela GPT e partição

bash
# Criar tabela GPT no disco de dados (substitua /dev/sdb pelo seu disco)
sudo parted /dev/sdb --script mklabel gpt

# Criar partição ocupando todo o disco
sudo parted /dev/sdb --script mkpart primary xfs 0% 100%

# Verificar
sudo parted /dev/sdb print

4.3 Formatar com XFS e reflink habilitado

bash
# Formatar com XFS — bloco 4K + reflink + CRC (obrigatório para Fast Clone)
sudo mkfs.xfs -b size=4096 -m reflink=1,crc=1 /dev/sdb1

# Criar ponto de montagem
sudo mkdir -p /mnt/backup

# Obter UUID do disco (mais confiável que /dev/sdb1 no fstab)
sudo blkid /dev/sdb1
bash
# Adicionar ao /etc/fstab usando UUID (substitua pelo UUID retornado pelo blkid)
echo 'UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  /mnt/backup  xfs  defaults,noatime  0 2' \
  | sudo tee -a /etc/fstab

# Montar e verificar
sudo mount -a
df -hT /mnt/backup

4.4 Validar reflink

bash
# Deve retornar "reflink=1"
sudo xfs_info /mnt/backup | grep reflink

Saída esperada:

saída esperada
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
reflink=1        rmapbt=1         reflink=1
🔴 Se reflink=0 ou a linha não aparecer: Reformate o volume com mkfs.xfs -b size=4096 -m reflink=1,crc=1. Não é possível habilitar reflink em um volume XFS já formatado sem reformatar.

5. Criação do usuário veeamrepo

bash
# Criar o usuário com home e bash como shell padrão
sudo useradd -m -s /bin/bash veeamrepo

# Definir senha (necessária para o processo de single-use credentials)
sudo passwd veeamrepo

# Adicionar ao grupo sudo — necessário APENAS durante o cadastro no Veeam
sudo usermod -aG sudo veeamrepo

# Verificar
id veeamrepo

5.1 Configurar propriedade do diretório de backup

bash
# O usuário veeamrepo deve ser dono do diretório de backup
sudo chown veeamrepo:veeamrepo /mnt/backup
sudo chmod 700 /mnt/backup

# Verificar
ls -la /mnt/ | grep backup

6. Configuração granular do sudoers (KB4667)

A Veeam publica a KB4667 com a lista exata de comandos sudo necessários para o Hardened Repository. Configure permissões granulares — em vez de sudo irrestrito — para reduzir a superfície de ataque.

⚠ Use sempre o comando visudo para editar o sudoers. Erros de sintaxe travam completamente o sudo no sistema. O visudo valida a sintaxe antes de salvar.

6.1 Criar arquivo sudoers dedicado

bash
# Criar arquivo drop-in em /etc/sudoers.d/ (não editar /etc/sudoers diretamente)
sudo visudo -f /etc/sudoers.d/veeamrepo

Cole o conteúdo abaixo no editor. Permissões granulares para Ubuntu/Debian conforme KB4667:

/etc/sudoers.d/veeamrepo
# Veeam Hardened Repository — Granular sudo permissions (KB4667)
# Ubuntu/Debian — VBR 12.3 / VBR 13
Defaults:veeamrepo !requiretty

#MISC
veeamrepo ALL=(ALL) NOPASSWD: /bin/whoami
veeamrepo ALL=(ALL) NOPASSWD: /bin/uname
veeamrepo ALL=(ALL) NOPASSWD: /bin/ls
veeamrepo ALL=(ALL) NOPASSWD: /bin/test
veeamrepo ALL=(ALL) NOPASSWD: /usr/bin/id

#MKDIR
veeamrepo ALL=(ALL) NOPASSWD: /bin/mkdir -p /opt/veeam

#RM
veeamrepo ALL=(ALL) NOPASSWD: /bin/rmdir /opt/veeam
veeamrepo ALL=(ALL) NOPASSWD: /bin/rmdir /opt/veeam/Upload
veeamrepo ALL=(ALL) NOPASSWD: /bin/rm -rf /opt/veeam

#CHATTR (gerencia imutabilidade)
veeamrepo ALL=(ALL) NOPASSWD: /usr/bin/chattr
veeamrepo ALL=(ALL) NOPASSWD: /bin/chattr

#LSATTR
veeamrepo ALL=(ALL) NOPASSWD: /usr/bin/lsattr
veeamrepo ALL=(ALL) NOPASSWD: /bin/lsattr

#CHMOD / CHOWN
veeamrepo ALL=(ALL) NOPASSWD: /bin/chmod
veeamrepo ALL=(ALL) NOPASSWD: /bin/chown

#GETFATTR / SETFATTR (extended attributes — imutabilidade)
veeamrepo ALL=(ALL) NOPASSWD: /usr/bin/getfattr
veeamrepo ALL=(ALL) NOPASSWD: /usr/bin/setfattr

#APT (Ubuntu/Debian — gerenciamento de pacotes Veeam)
veeamrepo ALL=(ALL) NOPASSWD: /usr/bin/apt-get install *
veeamrepo ALL=(ALL) NOPASSWD: /usr/bin/apt-get remove *
veeamrepo ALL=(ALL) NOPASSWD: /usr/bin/apt-get update
veeamrepo ALL=(ALL) NOPASSWD: /usr/bin/dpkg -i *
veeamrepo ALL=(ALL) NOPASSWD: /usr/bin/dpkg -r *
veeamrepo ALL=(ALL) NOPASSWD: /usr/bin/dpkg --configure *
veeamrepo ALL=(ALL) NOPASSWD: /usr/bin/dpkg -l *

#SYSTEMCTL (serviço Veeam Data Mover)
veeamrepo ALL=(ALL) NOPASSWD: /bin/systemctl start veeamtransport
veeamrepo ALL=(ALL) NOPASSWD: /bin/systemctl stop veeamtransport
veeamrepo ALL=(ALL) NOPASSWD: /bin/systemctl restart veeamtransport
veeamrepo ALL=(ALL) NOPASSWD: /bin/systemctl status veeamtransport
veeamrepo ALL=(ALL) NOPASSWD: /bin/systemctl enable veeamtransport
veeamrepo ALL=(ALL) NOPASSWD: /bin/systemctl disable veeamtransport

#REBOOT / SHUTDOWN (opcional — para manutenção)
veeamrepo ALL=(ALL) NOEXEC: /usr/sbin/reboot
veeamrepo ALL=(ALL) NOEXEC: /usr/sbin/shutdown

6.2 Validar a sintaxe do arquivo

bash
# Validar sintaxe do arquivo sudoers criado
sudo visudo -cf /etc/sudoers.d/veeamrepo

# Ajustar permissões (obrigatório)
sudo chmod 0440 /etc/sudoers.d/veeamrepo

7. Hardening do SSH

7.1 Instalar chave pública SSH

bash
# Criar diretório .ssh para o veeamrepo
sudo -u veeamrepo mkdir -p /home/veeamrepo/.ssh
sudo -u veeamrepo chmod 700 /home/veeamrepo/.ssh

# Cole a chave pública do servidor VBR no arquivo authorized_keys
sudo -u veeamrepo nano /home/veeamrepo/.ssh/authorized_keys
sudo -u veeamrepo chmod 600 /home/veeamrepo/.ssh/authorized_keys

7.2 Configurar o sshd_config

bash
# Backup antes de editar
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

sudo nano /etc/ssh/sshd_config

Ajuste as seguintes diretivas:

sshd_config
Port 22

# Desabilitar login root via SSH
PermitRootLogin no

# Desabilitar autenticação por senha — somente chave pública
PasswordAuthentication no
ChallengeResponseAuthentication no
KbdInteractiveAuthentication no

# Habilitar autenticação por chave pública
PubkeyAuthentication yes

# Restringir acesso apenas ao usuário veeamrepo
AllowUsers veeamrepo

# Timeout de sessão inativa
ClientAliveInterval 300
ClientAliveCountMax 6

# Desabilitar X11 e TCP Forwarding
X11Forwarding no
AllowTcpForwarding no

# Protocolo e algoritmos modernos
Protocol 2
KexAlgorithms curve25519-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512
Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes128-gcm@openssh.com
MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
bash
# Validar configuração antes de reiniciar
sudo sshd -t

# Reiniciar apenas se a validação passou sem erros
sudo systemctl restart ssh
sudo systemctl status ssh
🔴 Antes de desabilitar PasswordAuthentication: Confirme que a autenticação por chave pública funciona em uma sessão SSH separada. Se travar o acesso, será necessário acesso físico ao console para recuperar.

8. Firewall UFW

bash
# Garantir que o UFW está instalado
sudo apt-get install -y ufw

# Política padrão: bloquear tudo
sudo ufw default deny incoming
sudo ufw default deny outgoing

# Permitir SSH apenas do IP do servidor VBR (substitua pelo IP real)
sudo ufw allow from 192.168.10.10 to any port 22 proto tcp

# Permitir Veeam Data Mover do VBR e dos proxies
sudo ufw allow from 192.168.10.10 to any port 2500:3300 proto tcp
sudo ufw allow from 192.168.10.20 to any port 2500:3300 proto tcp

# Permitir Veeam Installer Service
sudo ufw allow from 192.168.10.10 to any port 6162 proto tcp

# Permitir DNS e NTP de saída
sudo ufw allow out to any port 53 proto udp
sudo ufw allow out to any port 123 proto udp

# Permitir HTTP/HTTPS de saída para repositórios de updates
sudo ufw allow out to any port 80 proto tcp
sudo ufw allow out to any port 443 proto tcp

# Ativar o UFW
sudo ufw enable

# Verificar regras
sudo ufw status verbose
ℹ Múltiplos proxies: Se o ambiente usa vários Veeam Proxies, adicione uma regra ufw allow from para cada IP de proxy nas portas 2500–3300.

9. Hardening do sistema operacional

9.1 Atualizações e patches

bash
# Aplicar todas as atualizações disponíveis
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove -y

# Instalar e configurar atualizações automáticas de segurança
sudo apt-get install -y unattended-upgrades apt-listchanges
sudo dpkg-reconfigure --priority=low unattended-upgrades

Confirme que a linha de security updates está ativa em /etc/apt/apt.conf.d/50unattended-upgrades:

50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
};

9.2 Desabilitar serviços desnecessários

bash
# Listar serviços ativos
sudo systemctl list-units --type=service --state=running

# Desabilitar serviços não necessários
sudo systemctl disable --now snapd snapd.socket snapd.seeded
sudo systemctl disable --now avahi-daemon avahi-daemon.socket
sudo systemctl disable --now bluetooth
sudo systemctl disable --now cups cups-browsed
sudo systemctl disable --now ModemManager

# Remover o Snap completamente
sudo apt-get purge snapd -y && sudo apt-get autoremove -y
ℹ Não desabilite: ssh, cron, systemd-timesyncd, ufw, systemd-journald e veeamtransport (após instalação).

9.3 Configurar NTP

bash
# Verificar serviço NTP
sudo systemctl status systemd-timesyncd

# Configurar servidor NTP interno (se disponível)
sudo nano /etc/systemd/timesyncd.conf
# Adicione: NTP=192.168.10.1

sudo systemctl restart systemd-timesyncd
timedatectl status

9.4 Habilitar auditoria com auditd

bash
# Instalar e habilitar auditd
sudo apt-get install -y auditd audispd-plugins
sudo systemctl enable --now auditd

# Monitorar acesso ao diretório de backup e ao arquivo sudoers
sudo auditctl -w /mnt/backup -p rwxa -k veeam_backup_access
sudo auditctl -w /etc/sudoers.d/veeamrepo -p rwxa -k sudoers_veeam

# Verificar regras ativas
sudo auditctl -l

10. Integração com o Veeam Backup & Replication

10.1 Adicionar o servidor Linux como Managed Server

  1. Abra o console do VBR
  2. Vá em Backup InfrastructureManaged Servers
  3. Clique em Add ServerLinux
  4. Preencha o DNS name ou IP do servidor Ubuntu
  5. Em Credentials, crie uma credencial Linux com o usuário veeamrepo e a senha definida
  6. Marque Elevate account privileges automaticallyAdd account to the sudoers file automatically
  7. Conclua o assistente — o Veeam instalará o Veeam Installer Service via SSH
ℹ Após a conclusão: As credenciais são descartadas do banco de dados do VBR. Toda comunicação futura usa autenticação por certificado SHA256RSA (RSA 2048-bit).

10.2 Adicionar como Hardened Repository

  1. Vá em Backup InfrastructureBackup Repositories
  2. Clique em Add RepositoryDirect Attached StorageLinux (Hardened)
  3. Selecione o servidor adicionado anteriormente
  4. Em Path to folder, informe: /mnt/backup
  5. Clique em Populate para confirmar a capacidade disponível
  6. Marque Use fast cloning on XFS volumes
  7. Em Make recent backups immutable for, defina o período (ex: 7, 14 ou 30 dias)
  8. Revise e clique em Apply
⚠ Relação imutabilidade × retenção: O período de imutabilidade deve ser menor ou igual ao período de retenção do job. Se a retenção for 14 dias, a imutabilidade deve ser no máximo 14 dias — caso contrário, o Veeam não conseguirá deletar backups expirados enquanto ainda estiverem imutáveis.

10.3 Configurar o job de backup

  1. Na etapa Storage, selecione o Hardened Repository como destino
  2. Configure retenção superior ao período de imutabilidade
  3. Clique em Advanced → aba Backup → selecione Forward Incremental
  4. Habilite Create synthetic full backups periodically ou Active full backup schedule
🔴 Modos de backup suportados: O Hardened Repository suporta exclusivamente Forward Incremental com full periódico. Os modos Reverse Incremental e Forever Forward Incremental não são suportados.

10.4 Backup Copy Jobs com imutabilidade

Para usar imutabilidade em Backup Copy Jobs, é obrigatório habilitar a política de retenção GFS:

  1. Na etapa Schedule do Backup Copy Job, habilite Keep certain full backups longer for archival purposes (GFS)
  2. Configure retenções semanais, mensais e anuais conforme a política da organização

11. Lockdown pós-configuração

Após o cadastro do repositório no Veeam e o primeiro backup bem-sucedido, remova o usuário veeamrepo do grupo sudo. As permissões granulares do /etc/sudoers.d/veeamrepo são suficientes para a operação contínua.

bash
# Remover veeamrepo do grupo sudo após o cadastro no Veeam
sudo deluser veeamrepo sudo

# Verificar — não deve aparecer mais no grupo sudo
getent group sudo

# Confirmar que o sudoers granular ainda funciona
sudo -u veeamrepo sudo -l
ℹ Para atualizações futuras do VBR: Ao atualizar a versão do VBR (ex: 12.3 → v13), adicione temporariamente o usuário ao grupo sudo, execute a atualização pelo console do VBR e remova novamente: sudo usermod -aG sudo veeamrepo → atualizar → sudo deluser veeamrepo sudo.

12. Validação e testes

12.1 Verificar imutabilidade após o primeiro backup

bash
# Listar atributos dos arquivos no diretório de backup
sudo lsattr -la /mnt/backup/

# Ver o timestamp exato de expiração da imutabilidade
sudo getfattr -n user.immutable.until /mnt/backup/NomeDoJob.vbk

# Tentar deletar um arquivo imutável — deve falhar com "Operation not permitted"
sudo rm /mnt/backup/NomeDoJob.vbk

Saída esperada do lsattr:

saída esperada
----i--------e-- /mnt/backup/VeeamJob-D2026-05-25T0300.vbk
----i--------e-- /mnt/backup/VeeamJob-D2026-05-25T0300.vbm
----i--------e-- /mnt/backup/VeeamJob-D2026-05-18T0300.vib

O flag i indica imutabilidade ativa. O flag e indica que o arquivo usa extensões (extents) no XFS — comportamento normal e esperado.

12.2 Verificar Fast Clone em operação

bash
# Com Fast Clone, o uso real é menor que o aparente (blocos compartilhados)
du -sh /mnt/backup/
df -hT /mnt/backup

# Verificar estatísticas de reflink do XFS
sudo xfs_quota -x -c 'report -h' /mnt/backup

12.3 Health Check no VBR

  1. Selecione o backup na view Home
  2. Botão direito → Health Check
  3. Aguarde a conclusão e verifique o resultado em History

13. Limitações e restrições oficiais

Conforme documentação oficial do Veeam Help Center (VBR 13):

  • O repositório só pode ser associado a um único servidor VBR — não compartilhável entre múltiplas instâncias
  • Não é suportado como destino de jobs de NAS Backup
  • Não é suportado em storage NFS — apenas block storage local ou remotamente conectado (iSCSI, FC)
  • Não suporta symlinks no caminho do repositório
  • Backup Copy Jobs requerem GFS retention policy para usar imutabilidade
  • Imutabilidade não deve ser usada em infraestruturas Nutanix Mine — discos thin-provisioned podem encher sem possibilidade de deleção
  • Um Linux repository com role de mount server não pode ser promovido a Hardened Repository
  • Um Veeam Infrastructure Appliance (VIA) não pode ser promovido a Hardened Repository manualmente
  • Somente processos filhos do Veeam Data Mover Service podem rodar como root no repositório

14. Troubleshooting

Erro / SintomaCausa provávelSolução
XFS reflink not supported Volume formatado sem reflink=1 ou não é XFS Reformatar com mkfs.xfs -b size=4096 -m reflink=1,crc=1. Não é possível habilitar sem reformatar.
Falha de conexão SSH durante o cadastro UFW bloqueando, porta errada, usuário sem sudo, sshd não reiniciado Verificar sudo ufw status. Testar SSH manualmente do VBR. Confirmar que veeamrepo está no grupo sudo.
Erro de permissão ao gravar backup veeamrepo não é dono do diretório /mnt/backup sudo chown veeamrepo:veeamrepo /mnt/backup && sudo chmod 700 /mnt/backup
Não é possível deletar backup — "file immutable" Arquivo dentro do período de imutabilidade Comportamento correto e esperado. Aguardar expiração ou usar "Remove from disk" no VBR após expiração.
Erro "sudo: command not allowed" durante implantação Permissões granulares do sudoers incompletas Adicionar temporariamente ao grupo sudo, concluir a implantação, remover do sudo e ajustar /etc/sudoers.d/veeamrepo.
SSH desconecta durante job longo ClientAliveInterval/CountMax insuficiente Aumentar ClientAliveInterval 300 e ClientAliveCountMax 6 no sshd_config e reiniciar o sshd.
Espaço esgotando com backups imutáveis Período de imutabilidade maior que o esperado ou crescimento subestimado Revisar ratio imutabilidade × retenção. Adicionar volumes ao SOBR como extents adicionais.
Falha ao atualizar VBR — repositório não responde veeamrepo não está no grupo sudo sudo usermod -aG sudo veeamrepo → executar atualização → sudo deluser veeamrepo sudo.
Certificado expirado — VBR não conecta ao repositório Certificado SHA256RSA expirado No console VBR: Backup Infrastructure → selecionar servidor → botão direito → Rescan. O VBR renovará os certificados.
lsattr não mostra flag "i" após backup Período de imutabilidade definido como 0 ou job aponta para outro repositório Verificar configuração do repositório no VBR (imutabilidade > 0 dias) e confirmar que o job usa o Hardened Repository.

15. Checklist de implantação

Preparação do ambiente

  • Servidor físico selecionado e disponível (HPE ProLiant ou equivalente certificado para Ubuntu)
  • UEFI Secure Boot habilitado na BIOS/UEFI
  • RAID 1 para o disco do SO, RAID 6/60 para os discos de dados
  • ISO do Ubuntu Server baixada e hash SHA256 verificado
  • IP estático, gateway, DNS e VLAN dedicada provisionados
  • Planejamento de capacidade concluído (dados × período de imutabilidade × crescimento anual)

Instalação do SO

  • Ubuntu 22.04 LTS ou 24.04 LTS instalado em modo minimizado (sem GUI)
  • Kernel HWE selecionado durante a instalação
  • Particionamento: / e /mnt/backup em discos separados
  • Volume /mnt/backup formatado com XFS reflink=1,crc=1
  • UUID do volume XFS configurado no /etc/fstab (não /dev/sdX)
  • xfs_info confirmando reflink=1
  • apt update && apt upgrade executado

Usuário e sudoers

  • Usuário veeamrepo criado com shell /bin/bash
  • Propriedade do /mnt/backup: veeamrepo:veeamrepo, permissão 700
  • Arquivo /etc/sudoers.d/veeamrepo criado com permissões granulares (KB4667)
  • Sintaxe validada com visudo -cf
  • veeamrepo adicionado ao grupo sudo (temporário — para o cadastro)

Hardening

  • Chave pública SSH do servidor VBR instalada em ~/.ssh/authorized_keys do veeamrepo
  • sshd_config: PermitRootLogin no, PasswordAuthentication no, AllowUsers veeamrepo
  • sshd reiniciado e acesso SSH validado com chave pública
  • UFW ativado com regras restritivas (deny incoming/outgoing + exceções por IP)
  • Snap removido
  • Serviços desnecessários desabilitados
  • unattended-upgrades configurado para security updates
  • auditd instalado e regras de auditoria para /mnt/backup configuradas
  • NTP sincronizado e correto (timedatectl status)

Integração Veeam

  • Servidor adicionado ao VBR como Managed Server (Linux)
  • Repositório adicionado como Hardened Repository
  • Fast Clone (Use fast cloning on XFS volumes) habilitado
  • Período de imutabilidade definido (menor ou igual à retenção do job)
  • Job configurado com Forward Incremental + full periódico
  • Primeiro backup executado com sucesso
  • lsattr confirmando flag "i" nos arquivos de backup
  • Health Check executado e aprovado no VBR

Lockdown pós-configuração

  • veeamrepo removido do grupo sudo (deluser veeamrepo sudo)
  • sudo -u veeamrepo sudo -l confirmando somente as permissões granulares
  • Tentativa de deleção de arquivo imutável resultando em "Operation not permitted"
  • Documentação do ambiente atualizada (IP, hostname, período de imutabilidade, data de instalação)

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Veja também: