Quello che segue è il riassunto passo-passo delle operazioni da effettuare per configurare il proprio computer affinché sfrutti le potenzialità di Borg Backup per realizzare backup criptati su un server presente nella nostra rete locale.
Ovviamente con le dovute modifiche la procedura è applicabile a qualsiasi tipologia di server anche all'infuori della nostra LAN come potrebbe essere una VPS o un server dedicato.
In questa procedura viene spiegato come creare un repository per Borg raggiungibile via ssh del tutto equivalente a quelli che fornisce il servizio Borg Base. Ho scelto questo metodo perché rende possibile fare i backup senza montare fisicamente la posizione di destinazione sul nostro PC e questo ci offre uno strato di sicurezza in più in caso dovessimo incorrere nell'attacco di un ransomware.
Prerequisiti
- Computer con sistema operativo Ubuntu di cui ci interessa fare il backup dei dati (ovvio!) a cui di seguito mi riferirò usando il termine PC.
- Un'installazione di Ubuntu Server con il servizio ssh attivo. Può essere fatta su un vecchio pc, un RaspberryPI, un Nuc, l'unico requisito è che l'hardware sia affidabile. Da qui in avanti mi riferirò a questa macchina con il termine SERVER.
L'installazione e la configurazione di base del sistema operativo del SERVER esula dallo scopo di questa guida.
E' scontato dire che PC e SERVER devono risiedere nella stessa lan ed essere reciprocamente raggiungibili affinché tutto funzioni.
Dati necessari da tenere a portata di mano:
IP del SERVER
IP del PC
Nota: entrambi gli indirizzi IP devono essere statici.
1 - Configurazione del SERVER
Colleghiamoci al SERVER via ssh ed installiamo Borg
Codice: Seleziona tutto
sudo apt install borgbackup
Creiamo l'utente borgbackup e scegliamo una password annotandola in un posto sicuro.
Codice: Seleziona tutto
sudo adduser borgbackup
Loggiamoci con il nuovo utente e spostiamoci nella sua home
Codice: Seleziona tutto
su borgbackupCodice: Seleziona tutto
cdCodice: Seleziona tutto
ssh-keygen -t ed25519
Creiamo la cartella che conterrà il repository vero e proprio.
In questo esempio è una semplice cartella dell'utente borgbackup ma potete modificare questo passaggio adattandolo alla vostra configurazione ed utilizzando, ad esempio, il punto di montaggio di una partizione, di un disco esterno o un subvolume btrfs ecc. ecc.
Codice: Seleziona tutto
cdCodice: Seleziona tutto
mkdir borgbackupCodice: Seleziona tutto
chmod go-rwx borgbackupCodice: Seleziona tutto
chmod u+rwx borgbackupInstalliamo borgbackup anche sul PC usando il terminale.
Codice: Seleziona tutto
sudo apt install borgbackupCodice: Seleziona tutto
ssh-keygen -t ed25519Codice: Seleziona tutto
ssh-copy-id -i ~/.ssh/id_*.pub borgbackup@IPdelSERVERE' superfluo dire che dovete adattare il comando utilizzando l'indirizzo IP del vostro SERVER.

Se tutto è filato liscio a questo punto dovreste riuscire a connettervi al SERVER utilizzando l'utente borgbackup senza che vi sia richiesta la password.
3 - Sicurezza del SERVER
A questo proposito colleghiamoci nuovamente al SERVER per rafforzarne la sicurezza limitando l'accesso al SERVER di backup al solo indirizzo IP del PC. Inoltre con lo switch --append-only non sarà possibile eliminare i backup dal SERVER senza il nostro esplicito intervento.
Codice: Seleziona tutto
ssh borgbackup@IPdelSERVERCodice: Seleziona tutto
nano ~/.ssh/authorized_keysCodice: Seleziona tutto
from="IPdelPC",command="borg serve --append-only --restrict-to-path /home/borgbackup/borgbackup/",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc Salviamo il file con CTRL + O ed usciamo dall'editor con CTRL + X.
Digitiamo exit ed usciamo dalla sessione ssh del SERVER.
4 - Inizializzazione del repository
Scegliere una password sicura per il repository * ed esportarla temporaneamente in una variabile di ambiente.
Dal PC aprire il terminale e digitare
Codice: Seleziona tutto
export BORG_PASSPHRASE='PASSWORD'Codice: Seleziona tutto
borg init -e repokey-blake2 borgbackup@IPdelSERVER:/home/borgbackup/borgbackup/* I repository di Borg sono criptati usando la chiave crittografica E la passphrase. Quindi è fondamentale tenere al sicuro entrambe. La chiave viene salvata all'interno del repository ma è raccomandato esportarla e salvarla in un altro posto.
In proposito vedere la documentazione ufficiale: https://borgbackup.readthedocs.io/en/st ... e/key.html
5 - Scelta dell'applicativo di backup
Al fine di non appesantire troppo il tutorial ho scelto di utilizzare sul PC PikaBackup che è un buon compromesso tra funzionalità offerte e semplicità di utilizzo.
Ad utenti più smaliziati consiglio Vorta
Per installare PikaBackup abbiamo bisogno di flatpak.
Se non è installato provvediamo con
Codice: Seleziona tutto
sudo apt install flatpakCodice: Seleziona tutto
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepoCodice: Seleziona tutto
flatpak install org.gnome.World.PikaBackup

Inseriamo l'indirizzo del nostro SERVER in questo modo
Codice: Seleziona tutto
borgbackup@IPdelSERVER:/~/borgbackup
Immettiamo la passphrase del repository

Ora siamo pronti per il primo backup! Basta cliccare su "Salva adesso".

Spero che questa guida sia utile a qualcuno e vi prego di farmi sapere se trovate errori o imprecisioni.





