Backup “immutabili” con Veeam e Azure Blob Storage – Parte II
Introduzione
Le attività che descriviamo in questa serie di articoli hanno come obiettivo l’integrazione di Veeam Backup & Replication v12 con gli spazi di archiviazione Azure Blob Storage e fare in modo che i backup dei nostri dati siano protetti dai tentativi di cancellazione o alterazione in caso di un eventuale attacco ransomware.
Questa la suddivisione degli argomenti fra gli articoli:
-
- Creare e configurare un container Azure Blob Storage come “immutable storage”
- Aggiungere il container Blob all’infrastruttura Veeam come repository
-
Parte II (questo articolo):
- Creare job di backup per proteggere macchine virtuali e NAS / share di rete in modo che utilizzino il container Blob come destinazione primaria
- Effettuare tentativi di cancellazione dei dati di backup per verificare l’efficacia dell’immutabilità
Ricapitolando
Nel primo articolo abbiamo elencato alcuni dei vantaggi che si ottengono archiviando i dati di backup gestiti da Veeam direttamente su spazi Object Storage che offrono caratteristiche di immutabilità:
- Spazi di archiviazione a basso costo e scalabili
- Una copia dei nostri dati viene conservata off-site, secondo quanto raccomanda la regola aurea “3-2-1” (https://www.veeam.com/blog/321-backup-rule.html)
- La suddetta copia è inalterabile, pertanto non solo rispetta eventuali requisiti di conformità, ma è anche a prova di ransomware
Sono state illustrate le procedure per creare un contenitore Blob con funzionalità “immutable storage” e configurare Veeam Backup & Replication per utilizzarlo come repository inalterabile.
Pertanto, accedendo alla console di Veeam Backup & Replication, nella sezione Backup Repositories dovrebbe essere presente almeno un repository di tipo Microsoft Azure Blob Storage, fra le cui proprietà è abilitata quella che ne rende immutabili i contenuti per un certo numero di giorni (ad esempio, 30 come in figura): Make recent backups immutable for: … days.
In questo secondo articolo vedremo come creare job di backup per macchine virtuali e share di rete affinché utilizzino il contenitore Blob come target, per poi verificare l’efficacia dell’immutabilità contro i tentativi di cancellazione.
Configurare un job di backup per una VM
Premessa
Prima di poter sottoporre a backup le macchine virtuali del nostro ambiente, è necessario connettere Veeam Backup & Replication all’hypervisor in uso. Poiché questa operazione esula dagli obiettivi della nostra guida, ecco i link alla documentazione ufficiale Veeam:
- Ambiente Hyper-V: https://helpcenter.veeam.com/docs/backup/hyperv/add_hyperv_server.html?ver=120
- Ambiente VMware: https://helpcenter.veeam.com/docs/backup/vsphere/add_vmware_server.html?ver=120
Una volta aggiunti i server Hyper-V e/o VMware vSphere, sarà possibile creare uno o più job di backup per proteggere le macchine virtuali, senza necessità di installarvi agent, e fare in modo che i relativi dati vengano scritti direttamente nel Container Blob.
Per un approfondimento su come dimensionare correttamente l’architettura Veeam rispetto agli obiettivi prestazionali della nostra organizzazione, si rimanda alla registrazione di questo interessante webinar: https://www.veeam.com/it/videos/webinar-vbr-sizing-17637.html
Creare il job di backup
Accedere alla console di Veeam Backup and Replication e scegliere la sezione Home.
Nel ribbon in alto, fare clic su Backup Job, poi su Virtual Machine e infine su VMware vSphere o Microsoft Hyper-V, a seconda del proprio ambiente di riferimento.
Nella pagina New Backup Job, digitare un nome per identificare il job, eventualmente una descrizione e poi fare clic su Next.
Nella pagina Virtual Machines, fare clic su Add.
Nella finestra di dialogo Add Objects, espandere con clic successivi la gerarchia dell’infrastruttura di virtualizzazione fino a visualizzare l’elenco delle macchine virtuali.
Selezionare una o più VM e poi fare clic su Add.
Nota: è possibile inserire in un job di backup una o più macchine virtuali identificandole anche in base alla loro collocazione in seno alla gerarchia o in base ad eventuali tag. Maggiori informazioni qui: https://helpcenter.veeam.com/docs/backup/vsphere/backup_job_vms_vm.html?ver=120 e https://helpcenter.veeam.com/docs/backup/hyperv/backup_job_vms_hv.html?ver=120.
Completato l’elenco delle VM che si desidera proteggere, fare clic su Next.
Nella pagina Storage, casella a discesa Backup repository: scegliere il repository configurato precedentemente. Inserire poi il numero di giorni di Retention policy (ovvero, per quanti giorni desideriamo vengano conservati i dati di ogni singolo backup), avendo cura che siano almeno pari (se non superiori) al periodo di immutabilità definito a livello di repository. Poi, fare clic su Next.
Nella pagina Guest Processing, fare clic su Next.
Qualora si desideri approfondire le funzionalità di Application-aware processing e Guest file system indexing (che non illustriamo in questa guida), ecco i link alla documentazione relativa:
- https://helpcenter.veeam.com/docs/backup/vsphere/application_aware_processing.html?ver=120
- https://helpcenter.veeam.com/docs/backup/vsphere/indexing.html?ver=120
Nella pagina Schedule è possibile specificare la frequenza di esecuzione del backup, il numero di tentativi da effettuare in caso di errore e la distanza temporale fra essi e la fascia oraria in cui si consente a Veeam di eseguire il job (maggiori informazioni qui: https://helpcenter.veeam.com/docs/backup/vsphere/scheduling.html?ver=120).
Dopo aver eventualmente espresso le proprie preferenze di schedulazione, fare clic su Finish.
Eseguire il job di backup per la VM
Di nuovo nella console di Veeam Backup & Replication, nella sezione Jobs / Backup sarà possibile vedere elencato quello appena creato.
Fare clic con il tasto destro sul job e selezionare Start (o in alternativa, utilizzare il pulsante Start nel ribbon, in alto a sinistra).
Attendere che il backup venga completato e che il job sia nello Status “Stopped“.
Fare clic sulla sezione Backups (a sinistra della console) e poi su Object Storage per visualizzare il risultato del backup.
Con un doppio clic sul nome del job, saranno visualizzate le VM che sono state protette (nella figura, la VM si chiama “SRV-INTERACT-01“).
Facendo clic con il tasto destro sul nome della VM saranno elencati tutti i possibili metodi di ripristino e movimentazione del backup. Per maggiori info: https://helpcenter.veeam.com/docs/backup/vsphere/vm_restores.html?ver=120.
Vediamo ora come proteggere una share di rete.
Configurare un job di backup per una share di rete
Premessa
Le share di rete, i file server, le NAS, sono asset particolarmente vulnerabili agli attacchi ransomware, in quanto per lo più utilizzati per lo scambio di dati tra dipendenti e tra reparti di un’azienda e pertanto aperti a molte tipologie di accesso, alcune delle quali intrinsecamente poco sicure.
È pertanto fondamentale creare e mantenere backup regolari dei dati condivisi, in modo da poterli ripristinare rapidamente in caso di cancellazioni/alterazioni accidentali o volontarie e che tali backup siano immutabili.
A partire dalla versione 12, Veeam Backup & Replication consente di effettuare backup di condivisioni di rete utilizzando come target diretto contenitori Object Storage, esattamente come avviene per i backup delle VM.
Vediamo come collegare una share di rete SMB a Veeam poi poi effettuarne un backup su Blob Storage.
Architettura
Nella documentazione Veeam (https://helpcenter.veeam.com/docs/backup/vsphere/file_share_support.html?ver=120) è dettagliatamente descritta la funzionalità NAS Backup, sia in termini di architettura che di meccanismi operativi. Vediamone una sintesi.
Nel processo sono coinvolti i seguenti componenti:
- Una share di rete, che nel nostro scenario sarà una condivisione SMB esposta da un server Windows;
- Il ruolo Veeam Backup Proxy, che si collega alla share di rete e ne effettua il backup (nel nostro scenario, tale ruolo sarà svolto dallo stesso server Veeam Backup & Replication, ma per best practices dovrebbe essere demandato ad un server dedicato);
- Un repository in cui Veeam conserva i dati di cache, metadati che servono per tenere traccia di tutti gli oggetti che sono cambiati fra una sessione di backup e l’altra, velocizzare le operazioni di protezione riducendo nel contempo il carico sulle share di rete (nel nostro senario sarà una cartella conservata nel server Veeam Backup & Replication, ma anche in questo caso si suggerisce di dedicare uno spazio ad-hoc su uno storage locale);
- Il repository basato su un Container Blob
Storage con immutabilità.
Nota: la funzionalità NAS Backup richiede una licenza di tipo VUL (Veeam Universal License) ogni 500GB di dati sorgente. I primi 500GB sono gratuiti.
Creazione di un Cache Repository
In modo analogo a quanto fatto per aggiungere il repository di tipo Object Storage (vedi articolo precedente, paragrafo “Aggiungere il Container Blob Storage a Veeam Backup & Replication“), accedere alla console di Veeam Backup & Replication v12, nella sezione Backup Infrastructure fare clic con il tasto destro su Backup Repositories e selezionare Add backup repository.
Nella finestra Add Backup Repository, fare clic su Direct Attached Storage.
Poiché utilizzeremo il server Veeam stesso come Cache Repository, selezionare l’opzione Microsoft Windows.
Nella schermata New backup Repository, dare un nome al repository, ad esempio “Cache Repository“. Opzionalmente, inserire una descrizione e poi fare clic su Next.
Nella schermata Server, verificare che sia selezionato il server Veeam come Repository Server e fare clic su Next.
Nota: si ricorda nuovamente che non è consigliato l’utilizzo del Veeam Backup Server come Cache Repository e che questo scenario è semplificato a fini puramente didattici (https://bp.veeam.com/vbr/2_Design_Structures/D_Veeam_Components/D_backup_repositories/nascache.html).
Nella schermata Repository, nella casella di testo Path to folder digitare il percorso ad una cartella locale (ad esempio, “C:\CacheRepo“), oppure fare clic su Browse e selezionarne/crearne una a discrezione. Poi fare clic su Next.
Qualora compaia la finestra di dialogo che segnala l’avvertimento qui sotto riportato, fare clic su Yes.
Nota: Veeam raccomanda l’utilizzo del file system ReFS per i repository basati su server Windows; ReFS permette di sfruttare la funzionalità Veeam Fast Clone che consente di velocizzare le operazioni “sintetiche” relative ai backup di tipo “full” ed ai “merge” (più informazioni qui: https://bp.veeam.com/vbr/3_Build_structures/B_Veeam_Components/B_backup_repositories/block.html). In questo scenario, non trarremo vantaggio da tale integrazione.
Nella schermata Mount Server, lasciare le impostazioni di default e fare clic su Next. Per maggiori informazioni sulle funzionalità del ruolo Mount Server: https://helpcenter.veeam.com/docs/backup/vsphere/mount_server.html?ver=120
Nella schermata Review, fare clic su Apply.
Una volta terminata la procedura di configurazione, fare clic su Next.
Nella schermata Summary, fare clic su Finish.
Aggiunta della share di rete da sottoporre a backup
Ora colleghiamo il server Veeam alla share di rete da proteggere.
Nella console di Veeam Backup & Replication, fare clic su File Shares, e poi su Add File Share.
Nella schermata Add File Share, poiché nel nostro scenario vogliamo proteggere una condivisione esposta da un server Windows, fare clic su SMB Share. Per ulteriori informazioni sulle altre opzioni disponibili: https://helpcenter.veeam.com/docs/backup/vsphere/file_share_backup_file_share.html?ver=120.
Nella schermata SMB File Share, nella casella di testo SMB server or file share digitare il percorso UNC per accedere alla share di rete (\\FQDN_o_indirizzo_IP\nomeshare).
Selezionare l’opzione This share requires access credentials.
Fare clic su Add per aggiungere le credenziali (Username e Password) di un utente che abbia accesso a tale share di rete e fare clic su OK.
Importante: se si desidera effettuare solo il backup dei dati della share di rete, è possibile utilizzare un account con privilegi di sola lettura. Per consentire le operazioni di ripristino, occorrono privilegi anche in scrittura.
Poi fare clic su Next.
Nella schermata Processing, come Cache repository selezionare il repository configurato precedentemente e fare clic su Apply.
Nota: Utilizzare lo slider Backup I/O control per definire la velocità con cui Veeam legge i dati dalla share di rete. Questa impostazione regola il numero di thread paralleli utilizzati per processare i file. Se le risorse del dispositivo NAS o del file server sono limitate, si consiglia di selezionare l’opzione Lower impact.
Completata la configurazione, fare clic su Next.
Nella schermata Summary, fare clic su Finish.
Ora, nella console di Veeam Backup & Replication, sezione File Shares, dovrebbero essere visibili sia la sottosezione SMB Shares che la share di rete appena aggiunta.
Creazione del job di backup della share di rete
Ora configureremo un job che protegga la share di rete effettuandone il backup direttamente nel Container Blob Storage.
Fare clic con il tasto destro sul nome della share di rete, selezionare Add to backup job e poi su New job.
Nella schermata New File Backup Job, definire un nome per il job ed eventualmente una descrizione. Poi fare clic su Next.
Nella schermata Files and Folders decidere se effettuare il backup dell’intera share oppure selezionare un sottoinsieme di cartelle e/o file, poi fare clic su Next.
Nella schermata Backup Repository selezionare il repository basato sul Container Blob con immutabilità che abbiamo configurato con le procedure descritte nella prima parte della guida.
Alla voce Keep all file versions for the last… specificare per quanto tempo le copie di tutte le versioni recenti dei file dovranno essere conservate nel repository. Ad esempio, se si imposta il valore “90 days“, tutte le versioni dei file sottoposti a backup saranno conservate per 90 giorni. Il 91mo giorno, il job prima effettuerà il backup delle nuove versioni dei file e poi eliminerà dal repository quelle più vecchie di 90 giorni. Più info qui: https://helpcenter.veeam.com/docs/backup/vsphere/file_share_backup_job_storage.html?ver=120.
Fare clic su Next.
Qualora compaia il messaggio di avvertimento in figura, fare clic su Yes.
Nota: Veeam consente di utilizzare delle “helper appliance“, ovvero host temporanei che Veeam Backup & Replication crea (e poi elimina) automaticamente su Azure per eseguire controlli di integrità (health check) e applicare la retention ai file di backup delle NAS/share di rete conservati su Blob Storage. Questo approccio consente di evitare che tali operazioni vengano effettuate a partire dalle risorse on-prem, implicando costi cloud maggiori (più info: https://helpcenter.veeam.com/docs/backup/vsphere/azure_storage_mount_server.htm).
Nella schermata Archive Repository, clic su Next (per approfondire le opzioni di archiviazione: https://helpcenter.veeam.com/docs/backup/vsphere/file_share_backup_job_archive_repo.html?ver=120).
Nella pagina Schedule è possibile specificare la frequenza di esecuzione del backup, il numero di tentativi da effettuare in caso di errore e l’intervallo temporale fra essi e la fascia oraria in cui si consente a Veeam di eseguire il job.
Dopo aver eventualmente espresso le proprie preferenze di schedulazione, fare clic su Apply.
Nella schermata Summary, fare clic su Finish.
Nella console di Veeam Backup & Replication, sezione Home / Jobs / Backup, dovrebbe essere ora presente anche il job di backup della share di rete appena creato.
Eseguire il job di backup per la share di rete
Fare clic con il tasto destro sul job e selezionare Start (o in alternativa, utilizzare il pulsante Start nel ribbon, in alto a sinistra).
Attendere che il backup venga completato e che il job sia nello Status “Stopped“.
Fare clic sulla sezione Backups (a sinistra) e poi su Object Storage per visualizzare il risultato del backup appena completato.
Con un doppio clic sul nome del job, sarà visualizzata la share di rete protetta (nella figura, “\\192.168.1.210\Corpshare“).
Verificare l’efficacia dell’immutabilità
Proveremo ora a effettuare una cancellazione arbitraria dei file di backup conservati nel repository Blob Storage.
Nella console di Veeam Backup & Replication, fare clic sulla sezione Backups e poi su Object Storage.
Fare clic con il tasto destro su uno dei due job di backup che abbiamo effettuato e selezionare il comando Delete from disk.
Nella finestra di dialogo che chiede conferma per l’operazione, fare clic su Yes.
Nella schermata Removing backup, il processo dovrebbe segnalare l’errore: “Failed to delete backup“.
Provando ad effettuare la stessa operazione via PowerShell utilizzando i cmdlets Veeam Get-VBRBackup e Remove-VBRBackup, dovremmo ricevere un messaggio di errore analogo.
1 |
Get-VBRBackup -Name "VM Backup" | Remove-VBRBackup -FromDisk |
Qui https://helpcenter.veeam.com/docs/backup/powershell/getting_started.html?ver=120 la guida completa ai comandi PowerShell per Veeam Backup & Replication.
Conclusioni
In questa serie di due articoli abbiamo visto come, utilizzando Veeam Backup & Replication, a partire dalla versione 12, sia possibile effettuare backup delle nostre VM o dei nostri dati destrutturati condivisi da file server o da NAS.
Grazie alle caratteristiche di immutabilità offerte dai Container Azure Blob Storage è anche possibile mantenere inalterati i dati di backup in caso di attacchi ransomware che tentino di comprometterne l’integrità.