cryptsetup con key files, partizioni multiple

Postate qui per tutte le discussioni legate alla sicurezza di Linux/Slackware

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
tgmx
Linux 3.x
Linux 3.x
Messaggi: 1336
Iscritto il: ven apr 28, 2006 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

cryptsetup con key files, partizioni multiple

Messaggioda tgmx » sab feb 14, 2015 17:59

Ciao Ragazzi,
ho acquistato un nuovo disco e vorrei crittare le tre partizioni che ho creato:
1) keys (sdb1)
2) doc (sdb2)
3) home (sdb3)

I passaggi che ho seguito per le tre partizioni sono sempre gli stessi (presi dal README_CRYPT.TXT del DVD della Slack):

cryptsetup -s 256 -y luksFormat /dev/sdb1
cryptsetup luksOpen /dev/sdb1 keys
mount /dev/mapper/keys /mnt/keys

(lo stesso per le altre 2) .

Volendo automatizzare la cosa durante il boot ho modificato /etc/crypttab cosi':

Codice: Seleziona tutto

keys  /dev/sdb1
home  /dev/sdb2
doc  /dev/sdb3

poi su fstab:

Codice: Seleziona tutto

/dev/mapper/keys        /mnt/keys         ext4        defaults           0   1
/dev/mapper/home        /home             ext4        defaults           0   2
/dev/mapper/doc         /mnt/doc       ext4        defaults            0   3


In questo modo al boot mi vengono chieste tre password per le tre partizioni e poco sotto vengono montate automaticamente.

Ora stavo pensando di sfruttare la possibilta' dei "key files" per evitare di inserire tre password all'avvio.
In pratica l'idea e' quella di creare due key files per le partizioni doc e home:

Codice: Seleziona tutto

dd if=/dev/urandom of=/mnt/keys/keyhome bs=1024 count=4
dd if=/dev/urandom of=/mnt/keys/keydoc bs=1024 count=4
cryptsetup luksAddKey /dev/sdb2 /mnt/keys/keyhome
cryptsetup luksAddKey /dev/sdb3 /mnt/keys/keydoc


cosi' per decrittare "a mano" la partizione basta:

Codice: Seleziona tutto

cryptsetup luksOpen --key-file /mnt/keys/keyhome  /dev/sdb2 home

e non viene chiesta nessua password.

Per automatizzare questa parte bisognerebbe modificare crypttab in:

Codice: Seleziona tutto

keys  /dev/sdb1
home  /dev/sdb2 /mnt/keys/keyhome luks
doc  /dev/sdb3 /mnt/keys/keydoc luks


a questo punto pero' emerge un problema durante il boot.
Nella fase di boot in cui viene gestito crypttab (cioe' quando chiede la password) non vengono ancora montate le partizioni quindi non e' ancora disponibile /mnt/keys/ per recuperare i key files e quindi fallisce la decrittazione di home e doc.

Qualcuno ha gia' affrontato la questione?

Grazie

Avatar utente
conraid
Staff
Staff
Messaggi: 12954
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: cryptsetup con key files, partizioni multiple

Messaggioda conraid » dom feb 15, 2015 10:11

Per fortuna, o purtroppo per alcuni, gli script di init della Slackware sono semplici file bash, quindi se sai automatizzare la procedura, basta che cambia la parte relativa a cryptsetup in rc.S con quel che vuoi tu.

Avatar utente
tgmx
Linux 3.x
Linux 3.x
Messaggi: 1336
Iscritto il: ven apr 28, 2006 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: cryptsetup con key files, partizioni multiple

Messaggioda tgmx » dom feb 15, 2015 23:15

Grazie, faro' cosi'.
Non avevo considerato di guardare a cosa "combinasse" rc.S.
A questo punto pero' mi conviene forse mettere direttamente i comandi necessari in rc.local in modo da rendere la cosa piu' "portabile" in un futuro aggiornamento di sistema.

Avatar utente
Eberoth
Linux 2.4
Linux 2.4
Messaggi: 403
Iscritto il: lun ago 24, 2009 9:22
Slackware: -current
Kernel: 3.13.6
Desktop: KDE4
Distribuzione: Slackel64

Re: cryptsetup con key files, partizioni multiple

Messaggioda Eberoth » lun feb 16, 2015 2:24

Perdonami ma credo mi sia sfuggito qualcosa nella logica dell'operazione. Siccome sono un convinto sostenitore delle partizioni criptate sui laptop, spero non ti dispiaccia darmi qualche chiarimento.
Le parti che non mi tornano sono due:
1. Perché creare 3 partizioni separate, indi introducendo la necessità di 3 chiavi, quando usando LVM e LUKS assieme puoi ottenere lo stesso risultato con una sola partizione da "aprire". Qui suppongo che il bios in questione sia UEFI e quindi che tu non abbia bisogno di un ulteriore partizione in chiaro per il boot; ma anche in questo caso: perché usare 3 partizioni con luks invece di una sola su cui creare i volumi lvm? I vantaggi sono, secondo me, evidenti: non solo hai una sola passphrase/keyfile, ma volendo anche una partizione di swap perfettamente sicura.

2. Non capisco la logica di creare partizioni cryptate...e poi di mettere le chiavi sullo stesso disco, per altro in chiaro, e per di più di automatizzare lo sblocco all'avvio... non invalida lo scopo iniziale? Voglio dire, io cripto il mio hdd per evitare che qualcuno possa accedere ai miei dati _accendendo_ il pc, perché una volta acceso e sbloccate le partizioni, non c'è differenza tra luks e non luks.... se faccio in modo che le partizioni si sblocchino da sole, in maniera "trasparente" all'utente, tanto vale lasciarle in chiaro, no? Alla fine, chiunque accende il pc ha accesso ai dati in entrambi i casi. O mi sbaglio?

Personalmente uso da anni volumi LVM su una partizione LUKS con un unica passphrase all'avvio (o un keyfile su una pennina usb a parte, anche se al momento questa soluzione non funziona e non so il perché). Accendo il portatile, inserisco la passphrase ed accedo ai dati... mi rubano il pc? Non c'è modo di accedere ai dati perché non c'è modo che l'eventuale ladro abbia accesso alla chiave. Mi sfugge qualcosa?

Avatar utente
tgmx
Linux 3.x
Linux 3.x
Messaggi: 1336
Iscritto il: ven apr 28, 2006 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Re: cryptsetup con key files, partizioni multiple

Messaggioda tgmx » lun feb 16, 2015 8:49

Ciao,
sul punto 1 non ho una vera risposta, probabilmente e' come dici tu, sarebbe meglio con LVM e LUKS ma le vecchie abitudini sono dure a morire...
Una volta stabilito che preferisto avere tre partizioni tradizionali (per abitudine) il concetto e' questo:
1) nella partizione "keys" (cryptata e non in chiaro) salvo i keyfile delle altre due (home e doc).
2) all'avvio chiedo all'utente una sola password per sbloccare "keys" e poi le altre due le sblocco "automaticamente" utilizzando le chiavi presenti su "keys".
Nono viene salvato niente "in chiaro".

Forse e' un po' macchinoso e forse prima o poi passero' a LVM ma in linea di principio cosi' funziona...

EDIT:
La partizione di boot l'ha gia' creata Win8 quindi uso quella.

Avatar utente
Eberoth
Linux 2.4
Linux 2.4
Messaggi: 403
Iscritto il: lun ago 24, 2009 9:22
Slackware: -current
Kernel: 3.13.6
Desktop: KDE4
Distribuzione: Slackel64

Re: cryptsetup con key files, partizioni multiple

Messaggioda Eberoth » lun feb 16, 2015 9:32

Ah, ok, mi era sfuggito il particolare riguardo alla partizione "keys" criptata. E' una soluzione a cui non avevo mai pensato in effetti, anche se mi sorge il dubbio di come gestisci la partizione si swap... o forse la eviti del tutto.
In ogni caso, LVM su LUKS richiede di certo meno lavoro... ma ad ognuno il suo :)

Grazie per il chiarimento.

PS:
Riguardo alla partizione di boot creata da windows, era a quella che mi referivo parlando del bios UEFI: in pratica usi la ESP come partizione di boot, che mi sembra un'ottima idea.

Avatar utente
conraid
Staff
Staff
Messaggi: 12954
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: cryptsetup con key files, partizioni multiple

Messaggioda conraid » lun feb 16, 2015 12:58

Premetto che anche io usavo LUKS+LVM con una sola chiave sul fisso, ora nel notebook solo home criptata, è la prima configurazione di dieci anni fa, mai modificata :-)

tgmx ha scritto:Grazie, faro' cosi'.
Non avevo considerato di guardare a cosa "combinasse" rc.S.
A questo punto pero' mi conviene forse mettere direttamente i comandi necessari in rc.local in modo da rendere la cosa piu' "portabile" in un futuro aggiornamento di sistema.


mh, non so. rc.local viene caricato per ultimo, quindi devi modificare ugualmente rc.S per togliere il caricamento luks.
Considera che anche io dovetti modificare rc.S con una sola chiave, ora non ricordo bene come, perché non gestiva bene la mia situazione (avevo un mix particolare).
Poi essendo caricato per ultimo rischi che alcune partizioni ti manchino quando necessarie. Se poi sono solo /home, e dati che non servono al sistema se non dopo il login allora prova. Però forse non in init 4. Insomma, mi lascia qualche dubbio (risolvibile) metterlo in rc.local
Magari fai uno script apposito, tipo rc.luksmio e in rc.S mettici il richiamo a tale script.
Così all'aggiornamento devi solo modificare una riga.