Backup automatico su disco esterno cifrato

Dopo l’esperienza negativa del mio amico Marco, ho deciso di creare un backup orario per stare tranquillo.

Il primo problema che affronto è la sicurezza dei miei dati, il secondo è il backup vero e proprio.

COMINCIAMO

Prendo un bel disco nuovo, lo monto in un box esterno e lo collego al mio client, rigorosamente EXETERNAL SATA, dopo lo metterò dentro un server, per citare lo zio Fabio, forgiato “ALLA BERSAGLIERA” ovvero di corsa senza curarsene troppo.

un bel fdisk -l ed individuo il nuovo disco per differenza rispetto ai miei precedenti

# fdisk -l

Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes
255 testine, 63 settori/tracce, 121601 cilindri, totale 1953525168 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0xa5a3a8bf

Individuato il mio disco, utilizzo il mio comando preferito per incasinarlo perbenino, quindi digito la sequenza magica:

#shred -n5 -v /dev/sdd
shred: shred: apertura per la scrittura non riuscita: File o directory non esistente
shred: /dev/sdd: passo 1/1 (random)…
shred: /dev/sdd: passo 1/1 (random)…1,4GiB/150GiB 1%
shred: /dev/sdd: passo 1/1 (random)…1,5GiB/150GiB 1%
shred: /dev/sdd: passo 1/1 (random)…3,0GiB/150GiB 2%
shred: /dev/sdd: passo 1/1 (random)…3,1GiB/150GiB 2%
shred: /dev/sdd: passo 1/1 (random)…4,5GiB/150GiB 3% ……….

Mentre il mio client esegue il magico comando di cui sopra, per fare un lavoretto migliore, scrivo questo articolo, apro xchat per chattare, effettuo un backup manuale, navigo diverse pagine e ascolto la mia musica preferita, in questo modo shred è davvero random.

Dopo diverse ore passate a fare altro, riprendo la scrittura di questo articolo perchè il mio shred ha terminato il suo lavoro.

Comincio con il cifrare il disco con TrueCrypt un software opensource che mi permette la negabilità plausibile.

Per i non addetti ai lavori, la negabilità plausibile consiste nel raccontare una bugia che sembri verità, ovvero io creo due partizioni cifrate una dentro l’altra, ad una do una password falsa che se digitata mostra tante belle foto porno, in questo caso, se io fossi costretto a fornire la mia frase segreta la rivelerei a cuor leggero, visto che la scusa è che sono un viziatone, mi piacciono le donne e per nascondere queste foto a mia moglie le ho salvate su un disco cifrato 🙂

Poichè la partizione falsa è più grande di quella vera, non c’è alcun modo per dimostrare l’esistenza della partizione che contiene i dati veri, il problema che si incontra è che se io vado a scrivere nella partizione falsa perdo irrimediabilmente tutti i dati contenuti nella partizione vera, pertanto devo stare attentissimo a popolare di sconcerie PRIMA di mettere i dati veri.

Chiaramente quando apro la vera partizione, quella più piccola, trovandosi all’interno di quella falsa posso fare come mi pare, cancellare, creare, scrivere, leggere etc etc

Per incasinare ulteriormente le cose, vado a cambiare a mano la partition table dicendo al OS che il disco è da 300 Tb, in realtà ho un disco da 1 Tb 🙂

Tutta questa sicurezza sta nel fatto che è molto più facile venire a casa mia a sottrarmi i dati che ad andare in server farm in america, trovare la stanza dove ho i rack, aprire i rack e sottrarmi i dischi.

Quindi avendo i backup a casa mia, è facile che chi volesse accedere ai miei server venga prima a casa, e qui trova la sorpresina. 🙂

Per il server definitivo ho utilizzato una epia 600 mhz con 1 Gb di ram, così non consumo molta corrente e non ho ventole che fanno rumore.

Il sistema operativo l’ho alloggiato su una SSD da 4 giga, veloce ed economica.

Bene, dopo oltre 5 ore, cominciamo con il creare la prima partizione FALSA, per fare prima uso la versione grafica di TrueCrypt, poi però utilizzerò la versione testo visto che in 4 giga non c’è molto da istallare.

Spegnamo il ns disco esterno, lo stacchiamo, attendiamo un minuto e poi lo ricolleghiamo, questo per fare in modo che il sistema creda di avere un nuovo disco collegato.

Apriamo il il ns truecryp e creiamo un nuovo volume cifrato.

creazione partizione

Click su next e selezioniamo il metodo HIDDEN

hidden

A questo punto selezioniamo il device corretto, ATTENZIONE SE CI SBAGLIAMO TRITURIAMO IRRIMEDIABILMENTE IL NS CLIENT, QUINDI PRIMA DI PROCEDERE RICONTROLLARE 1000 VOLTE.

Click su next e ci viene chiesta la password di root o di amministrazione, questo è preoccupante, stiamo facendo operazioni di basso livello, quindi OCCHIO!

Fare queste operazioni solo a mente fresca, con la stanchezza ho piallato diverse volte i dischi sbagliati, questo non è un rm -rf / che se ci pentiamo abbiamo la possibilità di recuperare, qui non si recupera nulla, è inutile pregare, nessun Dio è capace di fare questo miracolo.

Selezioniamo l’algoritmo di cifratura e formattiamo, gli algoritmi sono tutti validi allo stesso modo, staimo parlando di cifrature di tipo militare.

Per preparare un Tb con il mio client impiegherò circa 1 ora, quindi conviene stare tranquilli.

Nel frattempo, andiamo sui siti zozzoni a cercare le foto ed i filmati, questo è il momento più bello!

Come sarebbe a dire non sai quali sono i siti zozzoni? non fare il furbo !

Appena terminata la formattazione, trasferiamo le foto sul disco cifrato per finta, e poi proseguiamo e prepariamo il disco cifrato vero.

Selezioniamo la possibilità di archiviare file di grandi dimensioni e selezioniamo il tipo di file system, io preferisco ext2.

big

Al termine, si chiude tutto e TrueCrypt sembra non essere mai partito.

Adesso clicchiamo su select device, selezioniamo il ns disco e facciamo le prime due prove.

Apriamo con pass falsa e dovremmo vedere le nostre zozzerie.

Apriamo con passwd vera e dovremmo vedere un disco vuoto.

Benissimo adesso spostiamo il disco preparato sul sever di backup con sistema operativo già istallato e TrueCrypt istallato

controlliamo il nome del ns disco con un fdisk -l

e proviamo a montare il volume

#truecrypt /dev/sdb /disk/BACKUP

in pratica sostituiamo il comando mount al comando truecrypt

Appena diamo l’invio ci viene chiesta la passphrase, se questa è corretta ci si apre il volume cifrato nella posizione che abbiamo scelto, nel mio caso nella posizione /disk/BACKUP

digitando il comando mount dovremmo ottenere un risultato simile a questo:

#mount
/dev/mapper/truecrypt1 on /disk/BACKUP type ext2 (rw)
#

A questo punto cominciamo a creare dei contenitori che conterranno il disco che dobbiamo backuppare

#cd /disk/BACKUP
#dd if=/dev/zero of=server0.img bs=1024M count=20

adesso abbiamo un file da 20 Gb e lo formattiamo come se fosse un vero e proprio hard disk

#mkfs.ext3 server0.img

poi ne facciamo un numero sufficiente di copie quanti sono i nostri server, chiaramente se abbiamo necessità di più spazio forgiamo un file disco più grande.

Creiamo una quantità di punti di mount sufficiente a contenere i vari server

#mkdir /BACKUP
#mkdir /BACKUP/server0
#mkdir /BACKUP/server1
#mkdir /BACKUP/server2
#mkdir /BACKUP/server3
#mkdir /BACKUP/server4
etc etc

forgiamo il ns file script che effettuerà il montaggio dei vari dischi

#vi /script/backup.sh

#!/bin/sh
# monto il file contenitore del server0 in loop per ottenere un file system separato
mount -o loop /disk/BACKUP/server0.img /BACKUP/server0
# sincronizzo il server con l’unità di backup
rsync -r -t -p -o -g -x -v –progress –delete -c -l -H -D –partial -i -s –exclude /proc –exclude /dev –exclude /sys –exclude lost+found root@server0.dibrigida.it:/ /BACKUP/server0/
# terminata la sincronizzazione mi assicuro che tutti i file siano stati scritti e poi smonto il contenitore
sync
sleep 5
sync
sleep 5
umount /BACKUP/server0
sleep 5
# monto il file contenitore del serve1 in loop per ottenere un file system separato
mount -o loop /disk/BACKUP/server1.img /BACKUP/server1
……… e così via per tutti i server che voglio sincronizzare
salviamo ed usciamo
:wq
rendiamo eseguibile il ns file
chmod 700 /script/backup.sh
aggiungiamo lo script al crontab
#crontab -e
# all’ora esatta parte il mio backup
00 * * * * /script/backup.sh >/dev/null 2>&1
:wq
fine della puntata 🙂
il ns server di backup può essere posizionato anche su una adsl con ip dimanico.


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.