Vai al contenuto

Impostazioni cookie

Scelga per ogni tipo quali cookie consente. Può modificare la sua scelta in qualsiasi momento tramite Impostazioni cookie in fondo a ogni pagina. Informativa sulla privacy

Necessari

Sempre attivi

Servono per accedere, conservare il carrello e ricordare le sue scelte. Sono sempre attivi.

Quali cookie?
  • weboke_sessie, weboke_klant, weboke_remember: la sua sessione e la permanenza dell'accesso
  • weboke_basket: il suo carrello
  • wkBtwIncl: visualizzazione dei prezzi con o senza IVA
  • wok_cookies: la sua scelta sui cookie, 12 mesi

Misurano quale annuncio porta a una visita o a un ordine, così non paghiamo annunci che non funzionano.

Quali cookie?
  • Google Ads tramite Google Tag Manager (_gcl_au, _gcl_aw), fino a 90 giorni
  • OpenAI Ads, annunci in ChatGPT
  • wok_aff: tramite quale partner è arrivato da noi (programma di affiliazione), 60 giorni

4,6

Paese e lingua

Ogni paese ha il suo sito, con i prezzi e l'IVA di quel paese.

Vedi

Un piano di backup per il Suo server

Modulo 8: Backup e monitoraggio · Tempo di lettura: 11 minuti

Obiettivo della lezione: Al termine di questa lezione sarà in grado di creare un piano di backup per il Suo server: che cosa conservare, dove, con quale frequenza e per quanto tempo, e come avere la certezza che il ripristino funzioni.

Concetti chiave: regola 3-2-1, snapshot, backup del provider, backup proprio fuori dal provider, RPO, RTO, dump del database (mariadb-dump, pg_dump), configurazione in /etc, volumi Docker, crittografia, ransomware, append-only, test di ripristino

Perché un piano, e non "tanto un backup c'è"?

Quasi tutti coloro che hanno perso un server pensavano di avere un backup. Poi si scopre che conteneva solo il sistema operativo e non il database, oppure che si trovava sullo stesso server ormai perso, oppure che è stato cifrato dallo stesso ransomware, oppure che nessuno conosce la password. Un backup vale qualcosa solo se è possibile ripristinarlo. Per questo si inizia con un piano e si finisce con un test.

Un piano risponde a cinque domande:

  1. Che cosa deve poter essere ripristinato?
  2. Quanti dati può permettersi di perdere? (RPO)
  3. Quanto velocemente deve tornare a funzionare? (RTO)
  4. Dove si trovano le copie, e quante sono?
  5. Come sa che funziona?

Che cosa deve poter essere ripristinato?

Un server è composto da livelli. Non tutti i livelli devono finire nel backup:

LivelloEsempioBackup?
Sistema operativo e pacchettiDebian, nginx, PHPNon necessariamente: si possono reinstallare. Conservi però un elenco: dpkg --get-selections
Configurazione/etc (nginx, SSH, firewall, unit systemd), i Suoi file composeSì, piccola e indispensabile
Applicazioni e siti web/var/www, /opt/<app>, /srvSì, a meno che non provengano da Git
Datidatabase, upload, volumi Docker (/var/lib/docker/volumes)Sì, la cosa più importante
Segretipassword, chiavi API, la chiave del backup stessoSì, ma separatamente e cifrati (vedere sotto)
Log, cache, file temporanei/var/log, /var/cache, /tmpDi solito no

Presti particolare attenzione ai database. Un database in esecuzione scrive continuamente. Se copia i file di un MariaDB o PostgreSQL in esecuzione, può ottenere una copia danneggiata. Per questo crei prima un dump: un'istantanea coerente sotto forma di file, che poi include nel backup.

root@web1:~# mariadb-dump --single-transaction --all-databases | gzip > /var/backups/db/alles-$(date +%F).sql.gz
root@web1:~# sudo -u postgres pg_dumpall | gzip > /var/backups/db/pg-$(date +%F).sql.gz

(mariadb-dump in passato si chiamava mysqldump; di solito anche quel comando funziona ancora.) Se il database gira in un container, fa la stessa cosa con docker compose exec (lezione 9.4).

RPO e RTO: quanto può permettersi di perdere?

Due concetti della pratica professionale aiutano a fare delle scelte:

  • RPO (recovery point objective): quanto tempo di dati può perdere al massimo? Un backup giornaliero alle 03:00 significa che, se il server va in crash alle 22:00, perde quasi un giorno. Per un negozio online con ordini è troppo; per un blog che cambia una volta a settimana va benissimo.
  • RTO (recovery time objective): quanto tempo può passare prima che tutto torni a funzionare? Ripristinare un backup completo del provider può richiedere pochi minuti; ricostruire un nuovo server e ripristinare tutto a mano può richiedere ore.

Li annoti per il Suo server. Determinano con quale frequenza esegue un backup e come lo conserva.

Snapshot, backup del provider, backup proprio

Su un VPS ha in genere tre tipi di rete di sicurezza. Si somigliano, ma proteggono da cose diverse.

1. Lo snapshot. Un'istantanea dell'intero disco virtuale, creata nel pannello del Suo provider. Si crea in fretta e si ripristina in fretta. Ideale subito prima di un upgrade (lezione 4.3). Però: presso la maggior parte dei provider uno snapshot si trova sullo stesso storage del Suo server. Se quello storage si guasta, o se perde il Suo account, anche lo snapshot è perso. E uno snapshot non si conserva a lungo: cresce con tutte le modifiche successive. Uno snapshot non è un backup.

2. Il backup del provider. Molti provider creano (eventualmente come opzione) ogni giorno automaticamente una copia dell'intero server, su un altro storage. Presso WebOké, per esempio, si tratta di un backup giornaliero dell'intero VPS conservato per sette giorni; presso altri provider funziona in modo simile, con tempi propri. È un buon secondo livello contro hardware guasto e contro i Suoi errori di ieri. Ma resta un'unica parte: il Suo account, il Suo pagamento, un loro guasto. E il ripristino avviene di solito per l'intero server in una volta.

3. Il Suo backup, fuori dal provider. Una copia dei Suoi dati presso un'altra parte o in un altro luogo, che Lei crea e gestisce (lezione 8.2). È il livello che rimane quando tutto il resto va storto.

La regola 3-2-1

Una regola pratica diffusa:

  • 3 copie dei Suoi dati (l'originale più due backup);
  • su 2 tipi diversi di storage o di sistemi;
  • di cui 1 in un altro luogo.

Per un VPS può essere: i dati sul server, il backup giornaliero del provider e un Suo backup cifrato con restic verso uno storage presso un'altra parte. Un'integrazione moderna è che almeno una copia non possa essere cancellata da chi prende il controllo del server (offline, oppure append-only, lezione 8.2). Il ransomware su un server cerca attivamente i backup per cifrarli o cancellarli a loro volta. Un backup che il server stesso può cancellare non offre alcuna protezione contro questo.

La crittografia e la password del Suo backup

Un backup presso un'altra parte deve essere cifrato: contiene dati dei clienti, password e chiavi. restic (lezione 8.2) cifra per impostazione predefinita. Ma così nasce un nuovo rischio: la password del Suo backup. Se la perde, il backup diventa inutilizzabile. E lo stesso vale se si trova solo sul server che ha perso.

Conservi quindi la password anche fuori dal server: nel Suo gestore di password ed eventualmente su carta in una cassaforte. Lo stesso vale per le credenziali di accesso allo storage in cui si trova il Suo backup.

Testare il ripristino

La parte più importante del piano. Un test di ripristino significa: ripristina davvero un backup, in un luogo dove non può danneggiare nulla, e verifica che il risultato funzioni.

  • In piccolo e spesso: ripristinare un singolo file o una singola cartella in /tmp/terug e confrontare (diff). Per esempio una volta al mese.
  • In grande e di tanto in tanto: costruire un server di prova completamente nuovo a partire dal backup, importare il database, avviare il sito web. Per esempio una volta all'anno, o a ogni modifica importante. È anche l'esercitazione per quando le cose vanno davvero male (lezione 10.3).

Annoti quanto tempo ha richiesto: quello è il Suo RTO reale.

Tempi di conservazione

Non conservi solo l'ultimo backup. Se si accorge solo dopo due settimane che un file è danneggiato o è stato cancellato, Le serve un backup di tre settimane prima. Uno schema diffuso: sette versioni giornaliere, quattro settimanali e sei mensili. restic lo gestisce con forget (lezione 8.2). Pensi anche al GDPR: i dati personali non si conservano più a lungo del necessario, nemmeno nei backup. Metta per iscritto i Suoi tempi di conservazione.

In pratica

Usi lo snapshot del Suo provider subito prima di modifiche rischiose e lo elimini dopo; lasci attivo il backup giornaliero del provider, se disponibile; e crei inoltre un Suo backup cifrato dei dati e della configurazione verso un'altra parte. Presso WebOké, nella schermata del VPS, questo si chiama Snapshots e Backups; presso altri provider i nomi e i tempi sono diversi, ma il principio è lo stesso. Un pacchetto di hosting o un servizio gestito prevede spesso accordi diversi: verifichi che cosa è previsto nel Suo caso.

Riepilogo

  • Un backup vale qualcosa solo se il ripristino funziona; si inizia con un piano e si finisce con un test.
  • Esegua il backup soprattutto di dati e configurazione: database come dump, /etc, siti web, volumi Docker, file compose.
  • Stabilisca l'RPO (quanto può perdere) e l'RTO (quanto velocemente deve funzionare).
  • Snapshot (stesso storage, breve durata), backup del provider (altro storage, stessa parte) e un backup proprio fuori dal provider sono tre livelli diversi; segua la regola 3-2-1 con almeno una copia che il server stesso non può cancellare.
  • Cifri, conservi la password del backup fuori dal server e testi il ripristino in piccolo e spesso, in grande di tanto in tanto.

Quiz

1. Perché uno snapshot non è un backup?



2. Ogni notte copia la cartella /var/lib/mysql mentre MariaDB è in esecuzione. Qual è il rischio?



3. Un negozio online esegue ogni notte un backup alle 03:00. Il server va perso alle 21:00. Quanti ordini possono essere andati persi al massimo?



4. Un ransomware cifra il Suo server e poi anche il Suo backup, perché il server poteva scrivere e cancellare nello storage dei backup tramite SFTP. Che cosa lo avrebbe evitato?



5. Quando ha la certezza che il Suo backup funziona?



Esercizio

Esercizio O8.1: Il Suo piano di backup. Crei per il Suo server un piano di backup su una sola pagina: che cosa deve poter essere ripristinato (per livello), il Suo RPO e RTO, quali copie possiede (snapshot, provider, proprie) e dove, i Suoi tempi di conservazione, dove si trova la password del backup e quando esegue un test di ripristino. Compili il modulo; dopo l'invio vedrà un piano di esempio da confrontare con il Suo.

Esercizio O8.1: Il Suo piano di backup

Questo esercizio lo svolge da sé; nessuno lo verifica. Spunti ciò che ha fatto e segni l'esercizio come completato.




Le Sue spunte e note restano solo in questo browser; non le inviamo da nessuna parte. Se ha effettuato l'accesso, conserviamo in I miei corsi solo il fatto che ha svolto l'esercizio.

Per approfondire

Un momento…

Configuri i suoi domini

Per ogni dominio imposti i nameserver, il collegamento al suo hosting e chi ne diventa l'intestatario.

Caricamento dei suoi domini…