Su Ubuntu 11.10, è possibile decrittografare 2 dischi rigidi crittografati con LUKS / LVM inserendo una sola passphrase all'avvio?


8

qui la configurazione che ho: - 2 dischi rigidi, - il primo è crittografato con LUKS e LVM. Vorrei aggiungere nel gruppo di volumi crittografato un secondo disco rigido. L'ho installato e crittografato con successo. Ma quando avvio, devo inserire 2 passphrase per decrittografare entrambi i dischi rigidi.

Non c'è un modo per usarne solo uno?



questo ha funzionato per me: unix.stackexchange.com/a/110102/50601
Tim Abell

Risposte:


4

Finalmente trovo un trucco per inserire una sola password e tutti i miei dischi fisici sono criptati.

Cripto il primo con una passphrase, crittografo il secondo usando un file di chiavi che memorizzo sul primo disco rigido (/ root / mykeyfile).

E con la riga corretta nel file / etc / crypttab, fa il trucco.

Aggiorna / etc / crypttab

sda5_crypt UUID = fb07f1e8-a569-4db9-9fd7-fc1994e093b5 none luks

sdb1_crypt UUID = 4c0687f0-d7af-4f2e-9c57-5ca8e909d492 / root / mykeyfile luks


dd if = / dev / urandom di = / root / mykeyfile bs = 1024 count = 20 Questo è un esempio di come creare una stringa casuale da usare come 'keyfile'.
earthmeLon

1
Il problema con questo è che un compromesso che coinvolge l'accesso al tuo filesystem (es. Problema di permessi o qualcosa di minore) porterebbe a un compromesso chiave, un problema molto più grande. Consiglio vivamente contro questa pratica. Vedi la mia risposta per un metodo migliore (e automatico).
sgattaiolare il

Potresti spiegare come dovrebbe funzionare? LVM si avvia in modalità degradata e quindi si risolve automaticamente quando è disponibile il secondo PV?
aij

0

Su Ubuntu, è possibile utilizzare una chiave derivata dalla radice come chiave aggiuntiva su altri filesystem. Questo ha il vantaggio di mantenere la chiave per le altre unità fuori dal file system stesso.

Prima di fare questo, prima di tutto, assicurati che / tmp sia montato solo su ram! Suggerisco la modalità utente singolo per questa modifica.

mount -t ramfs none /tmp

Quindi, è possibile esportare la chiave derivata:

# replace vda5_crypt with the cryptsetup name of your root luks
# have a look in /dev/mapper or 'pvdisplay' to find it...
/lib/cryptsetup/scripts/decrypt_derived vda5_crypt > /tmp/key

E poi aggiungilo agli altri tuoi dispositivi:

# use your own disks here instead of sdb1 sdc1 sdd1 etc
cryptsetup luksAddKey /dev/sdb1 /tmp/key
cryptsetup luksAddKey /dev/sdc1 /tmp/key
cryptsetup luksAddKey /dev/sdd1 /tmp/key
rm /tmp/key

Ciò consentirà agli script di ubuntu init di utilizzare la chiave derivata una volta sbloccato il root per sbloccare il resto dei dispositivi a blocchi e renderli disponibili in modo simile in / dev / mapper. Non sono sicuro che richiedano voci / etc / crypttab: provale senza prima e, se non vengono visualizzate, inseriscile in crypttab senza chiave e dovrebbe sbloccarle.

(Non ho provato nulla di tutto questo.)


Ho provato senza crypttab su Debian e non ha funzionato. Anche con crypttab non funziona, ma mi sono avvicinato. sdb3_crypt UUID = 4a ... sda3_crypt luks, initramfs, keyscript = decrypt_derived. L'opzione initramfs è necessaria per includere lo srript decrypt_derived in initramfs. Ma non riesce ancora a caricarsi all'avvio.
aij

-1

È possibile teoricamente impostare una variabile ambientale temporanea in uno script di avvio personalizzato a cui fanno riferimento gli script di inizializzazione per il processo di decrittazione. L'ho fatto qualche anno fa.

L'altra opzione è quella di eliminare gli script di init esistenti per il disco rigido e scriverne uno personalizzato che immetta la password una volta e quindi procede con i due processi di decodifica.

In alternativa, potresti essere in grado di estendere il volume LVM alla seconda unità. Se ricordo bene la crittografia dovrebbe essere trasferita.


1
LVM è basato sul volume crittografato sottostante. L'espansione di LVM senza la creazione di un altro volume crittografato non crittograferebbe la memoria aggiuntiva aggiunta al gruppo di volumi.
sgattaiolare il

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.