Il nuovo Veeam Backup & Replication 11 include la funzione di creare backup immutabili sfruttando le potenzialità Linux con gli Hardened Repository.
Già introdotta nella versione Veeam 10 per salvare i backup negli Object Storage S3 con l'opzione Object Lock abilitata, la funzione di Immutability protegge i backup contro la sovrascrittura, cancellazioni accidentali, attacchi ransomware e malintenzionati interni.
Un buon design di backup è la chiave per un'efficiente strategia di protezione dei dati per evitare potenziali perdite di dati che possono compromettere il business. Se i dati non vengono protetti in maniera adeguata, un attacco ransomware, ad esempio, potrebbe essere devastante ed un vero e proprio incubo per gli amministratori.
Blog Serie
Veeam v11: Hardened Repository (Immutability) installazione - pt.1
Veeam v11: Hardened Repository (Immutability) configurazione - pt.2
Veeam v11: Hardened Repository (Immutability) aggiungere MFA - pt.3
Prerequisiti
Per configurare l'Immutability per i dati dei backup, è necessario soddisfare alcuni requisiti:
- Veeam Backup & Replication v11.
- Anche se la soluzione può essere implementata su una virtual machine, una macchina fisica è fortemente raccomandata per motivi di sicurezza.
- Utilizzare una distribuzione 64bit Linux per configurare il repository. E' consigliata la distribution Ubuntu 20.04 LTS o successive per la migliore qualità di reflink, RHEL/CentOS 8.2 o successive, SLES 15 SP2 e Debian 10.
- Il Server Linux deve supportare XFS (abilita l'utilizzo della tecnologia Veeam fast cloning) ed è il file system raccomandato da utilizzare.
Poichè i backup non possono essere modificati per via dell'Immutability, solo i backup forward incremental con periodic synthetic o active full sono supportati. Per Backup Copy Jobs, NAS backup, log shipping, RMAN/SAP HANA/SAP su backup Oracle non possono sfruttare l'opzione di Immutability ma possono essere salvati sullo stesso repository.
Backup Copy Job configurati con la GFS retention policy possono utilizzare la funzione di Immutability.
Per l'implementazione degli Hardened Repository, i componenti Veeam accedono i Linux Repository solamente con credenziali non-root e solo la porta TCP 6162 è necessaria la comunicazione tra Proxy e Repository (TCP 2500 a 3300 vengono assegnate a richiesta).
Rinforzare la sicurezza per gli Hardened Repository
Per proteggere meglio i dati dei backup, è opportuno seguire alcune linee guida per rafforzare la sicurezza:
- Nonostante possano essere usate delle credenziali persistenti, è consigliato l'utilizzo della nuova opzione Single-use credentials for hardened repository durante l'installazione per evitare di salvare le credenziali in Veeam Backup & Replication.
- SSH dovrebbe essere disabilitato
- iDRAC, iLO o altre soluzioni di gestione remota dovrebbero essere disabilitate o hardened
- L'orario dovrebbe essere sincronizzato con un Server NTP affidabile per evitare modifiche dell'orario da un potenziale malintenzionato. Le variazioni dell'orario possono alterare la retention dell'Immutability.
Installare il Server Ubuntu
Per questa procedura viene utilizzata la distribuzione Linux Ubuntu per implementare l'Hardened Repository. Scaricare il file .ISO per Ubuntu Server 20.04 LTS ed effettuare il boot della macchina per eseguire il wizard di installazione.
Selezionare il language da utilizzare e premere Enter.
Specificare il keyboard layout da utilizzare, selezionare Done poi premere Enter.
Per default il NIC è impostato per utilizzare il DHCP. Per assegnare un indirizzo IP statico, selezionare il NIC e premere Enter. Selezionare poi Edit IPv4 dalle opzioni disponibili. Se il proprio server fisico presenta due o più NIC, è possibile creare un bond (teaming) per incrementare la banda disponibile.
Nella pagina Network connections, selezionare l'opzione Create bond.
Inserire un Name e specificare i Devices da utlizzare. Come Bond mode selezionare la voce 802.3ad dal menu a tendina e cliccare su Create.
Evidenziare il bond appena creato e premere Enter. Selezionare Edit IPv4 e premere Enter.
Selezionare Manual come IPv4 Method e premere Enter.
Compilare tutte le informazioni richieste, poi selezionare Save e premere Enter.
Quando l'indirizzo IP statico è stato impostato, selezionare Done e premere Enter.
Se non è utilizzato nessun Proxy, selezionare Done e premere Enter.
Lasciare il valore di default, selezionare Done e premere Enter.
Selezionare Custom storage layout per creare uno schema di partizioni personalizzato. Selezionare poi Done e premere Enter.
In questo esempio, lo storage utilizzato presenta due dischi locali:
- Un disco per l'OS
- Un disco per salvare i backup
Posizionarsi sul primo disco /dev/sda e selezionare la voce Add GPT Partition.
Lasciare il campo Size vuoto per utilizzare tutto lo spazio disponibile per la partizione e selezionare Format per specificare il file system. Nell'esempio è stato utilizzato il file system ext4. Selezionare Create e premere Enter.
Ora selezionare il secondo disco /dev/sdb e selezionare la voce Add GPT Partition. Da notare nella partizione creata in precedenza la presenza della nuova tipologia di partizione bios_grub.
Specificare la Size e utilizzare xfs come Format. Creare una Mount point personalizzato (nell'esempio /mnt/veeamrepo) e premere Enter per confermare. XFS con Reflink funziona più o meno nello stesso modo come ReFS per ottimizzare le prestazioni e il consumo del disco (la dimensione delle synthetic copy sono ridotte e il processo più veloce). Veeam chiama questa tecnologia Fast Clone.
Una volta che lo schema di partizione è stato completato, selezionare Done e poi premere Enter.
Selezionare Continue.
Inserire il Name, Server name, Username e Password the select Done.
Selezionare l'opzione Install OpenSSH Server per abilitare SSH. Selezionare Done.
Non è necessario installare funzioni aggiuntive. Selezionare Done e premere Enter per avviare l'installazione dell'OS.
L'OS Linux viene installato nel sistema.
Quando l'installazione è stata completata, selezionare Reboot Now.
Configurare il Repository
Effettuare il login utilizzando l'account configurato durante l'installazione dell'OS (nell'esempio administrator) ed inserire la password.
Per mantenere il sistema aggiornato, installare gli ultimi aggiornamenti tramite il comando:
# sudo apt-get upgrade
Verificare che il file system utilizzato per la partizione che sarà usata da Veeam per salvare i backup. Nell'esempio, /mnt/veeamrepo è la partizione dedicata e formattata come xfs.
# df -Th
Creare un account local
E' necessario creare un account locale con i permessi corretti in modo che il Veeam Transport Service possa effettuare il mount di Veeam.
Creare il nuovo account che sarà utilizzato da Veeam ed impostare la password.
# sudo useradd locveeam --create-home -s /bin/bash
# sudo passwd locveeam
E' necessario abilitare temporaneamente il nuovo utente per eseguire i comandi come root necessari ad installare i servizi richiesti da Veeam. L'utente deve essere quindi aggiunto al gruppo sudo.
# sudo usermod -a -G sudo locveeam
Configurare il mount point
Se si vuole sfruttare la tecnologia Fast-Clone (Fast Clone si basa su Reflink) per ottimizzare spazio e prestazione durante le operazioni di Synthetic Full, per default Ubuntu non abilita Reflink quando la partizione è formattata XFS durante la fase di installazione. Veeam necessita che il file system sia formattato con l'opzione Reflink abilitata per poter sfruttare la funzionalità Fast Clone.
Accedere all'hardened repository e recuperare la lista dei dischi installati in Ubuntu per identificare il disco utilizzato come repository.
# sudo fdisk -l
Poichè la partizione è stata montata durante la procedura di installazione, è necessario effettuare prima l'unmount della partizione.
# sudo umount /mnt/veeamrepo
Una volta rimossa la partizione, bisogna formattare la partizione con i parametri richiesti da Veeam per sfruttare la tecnologia Fast-Clone: reflink ed abilitare CRC.
# sudo mkfs.xfs -b size=4096 -m reflink=1,crc=1 /dev/sdb -f
Poichè l'UUID è cambiato dovuto all'operazione effettuata, è necessario recuperare il nuovo UUID e modificare il file /etc/fstab per montare la partizione automaticamente.
# sudo blkid /dev/sdb
Aggiornare il file /etc/fstab con il nuovo UUID.
# sudo vi /etc/fstab
Ricaricare le partizioni configurate.
# sudo mount -a
Assegnare i permessi al mount point
Assegnare i permessi di accesso al folder /mnt/veeamrepo all'utente locveeam tramite i seguenti comandi:
# sudo chown -R locveeam:locveeam /mnt/veeamrepo/
# sudo chmod 700 /mnt/veeamrepo
Verificare i permessi assegnati.
# ll /mnt
La configurazione dell'Hardened Repository fisico è ora completa. La parte 2 illustrerà la configurazione di Veeam Backup & Replication v11 per sfruttare la funzione di Immutability.
Ciao,
nella procedura è indicato il comando
sudo umount /mnt/locveeam
ma nello screenshot si vede il comando corretto sudo umount /mnt/veeamrepo
Grazie per l'ottima guida
Carlo
si, errore di digitazione. Il comando da dare è sudo umount /mnt/veeamrepo.
Ciao,
quando crei il file system XFS perchè lo fai su /dev/sdb e non su una partizione, ad esempio /dev/sdb1?
Grazie per l'ottima guida
Guida Perfetta, seguendo passo passo quando si impartisce il comando dei permessi [sudo chown -R locveeam:locveeam /mnt/veeamrepo/] questo ha il ricorsivo e il secondo no [sudo chmod 700 /mnt/veeamrepo] se non metto il ricorsivo mi fallisce la creazione del repo, una volta messo [sudo chmod 700 -R /mnt/veeamrepo] allora tutto funziona.
Grazie mille di tutto.
oLcapo
Grazie per questa guida dettagliatissima, non si può sbagliare !
Funziona alla perfezione.
Mi chiedevo, questa configurazione supporta i raid?
Software via mdadm? O hardware con scheda?
Pensavo di fare magari raid 1 per l'os e raid 6 per i dati.
Ti ringrazio molto 🙂
Se supportato dalla macchina utilizzata, il RAID andrebbe configurato a livello Hardware configurando gli opportuni Virtual Disk.
In base ai dischi disponibili, RAID 1 per OS e RAID 6 per i dati è una valida configurazione.
Quello che sto facendo io è di disporre una vm linux e a quest'ultima collegare in ISCSI il volume del NAS. Ovviamente questo è un workaround che funziona ma è anche molto oneroso perchè di fatto il repository è composto da due device (virtual machine + nas ).
Questo lo faccio perchè il costo dell'hardware di un server rack, a parità di grandezza dello storage di un nas, è molto ma molto alto e non riesco a venderlo. Avete qualche consiglio? Io ho guardato di server RACK AMD entry level di DELL, LENOVO E HP e alla fine per arrivare a 15 TB non me la cavo sotto i 6000 euro quando con 2700 prendo il NAS completo di tutto.
Abbinare VM OS + volume iSCSI potrebbe essere una soluzione però ovviamente non stiamo facendo proprio un Hardened Repository dovuto alle varie dipendenze. Per avere la massima protezione andrebbe utilizzato un device fisico non raggiungibile via rete (iDRAC, iLO, SSH, etc...). Se il budget non lo permette, si può appoggiare una copia secondaria in cloud con la funzione Object Lock per avere l'immutabilità... soluzioni tipo Wasabi sono una valida alternativa.