Posso disabilitare la crittografia dell'intero disco?


41

Di recente ho installato Ubuntu 12.10 e richiede l'avvio di una passphrase (l'ho installato con un file system crittografato).

Devo reinstallare per passare a un file system standard non crittografato?


Hai crittografato l'intera installazione di Ubuntu o solo la tua home directory?
Flimm,

Ho crittografato durante l'installazione, quindi sto indovinando l'intera installazione.
Zzealdor,

3
Sono un nuovo utente, quindi non sono sicuro di come funzionano le cose su Linux (mi sono completamente
stufato di

@Rinzwind Probabilmente no. Questo metodo (ecryptfs) crittografa la home directory e non richiede una password aggiuntiva; viene utilizzata la password di accesso.
Jan

1
@ user163872: Le nuove versioni di Ubuntu (12 e 13) sono molto lente su vecchi computer come i netbook. Dovresti installare Lubuntu, che è progettato per la velocità e funziona molto velocemente su computer più vecchi / più lenti, anche con RAM bassa (cioè 512 MB). Lubuntu è quasi uguale al normale Ubuntu - solo il desktop / menu sono leggermente diversi. Ma tutto ciò che funziona su Ubuntu normale funzionerà anche su Lubuntu.
Lara,

Risposte:


22

Se Ubuntu richiede una passphrase di crittografia durante l'avvio (ovvero sulla console di testo prima che venga visualizzata la schermata di accesso), ciò indica che è stato utilizzato un metodo di crittografia del disco completo. (Esiste più di un modo per farlo, ma terrò la risposta generale.) La crittografia è gestita da un livello software aggiuntivo tra il file system e il disco rigido fisico, non il file system stesso.

Non esiste un metodo o uno strumento semplice per annullare l'operazione. Con alcune conoscenze su come funzionano i sistemi Linux, si può fare. Dovresti spostare l'intero file system (o tutti i file) su un'altra partizione (con abbastanza spazio libero) o su un HDD esterno. Quindi, rimuovere il contenitore crittografato e ricreare il file system senza crittografia. Infine, assicurarsi che il nuovo file system sia riconosciuto correttamente dal caricatore di avvio e mount -aprima di riavviare.

Se possibile, è meglio evitare questa procedura che richiede tempo e soggetta a errori. Basta fare una nuova installazione. Per i nuovi utenti, questa è l'opzione più rapida e sicura.

PS: è possibile che tu possa modificare la passphrase di crittografia, possibilmente in una stringa vuota. Quindi la decrittografia richiede solo di premere Invio. Forse puoi andare oltre e sopprimere il prompt passphrase (ora inutile). Tuttavia, ciò non disabilita la crittografia. I dati sarebbero comunque crittografati anche se la crittografia sarebbe inutile poiché la chiave può essere banalmente indovinata.


3
In teoria, non dovresti essere in grado di fare qualcosa del tipo "dd if = / dev / mapper / sda5_crypt of = / dev / sda5 bs = 32M"?
Roy,

@Roy, penso che funzionerà se e solo se è vero quanto segue: 1. dde i driver sottostanti non scrivono fino a quando non hanno finito di leggere ogni blocco (probabilmente ci sono flag e impostazioni per garantire ciò) 2. the read / write i blocchi non si sovrappongono ai bordi dei blocchi di crittografia (possono essere controllati, possono comportare alcuni calcoli matematici) 3. le informazioni importanti sull'intestazione necessarie per la decrittazione non vengono sovrascritte prima del completamento (controllare il formato di crittografia sottostante, forse elaborare dall'inizio alla fine). Penso che sia possibile ma avrebbe bisogno di una configurazione e un'analisi più attente.
fuzzyTew

20

Di seguito è la mia soluzione che ha funzionato. Ricorda che non sono uno specialista di Linux, quindi potrebbe non essere la soluzione migliore. Impossibile trovare uno migliore comunque.

Migrazione dell'installazione di FDE su una partizione non crittografata

NOTA : ogni volta che dico, intendo

/dev/sda1 - boot partition
/dev/sda5 - encrypted partition
/dev/sda3 - clean non-encrypted EXT4 partition
/dev/sda2 - my newly created swap partition

Copia dei dati dal filesystem di root crittografato

Avvio da un CD live. Ho usato Ubuntu 13.10 32 bit ISO desktop.

Monta la tua partizione:

sudo cryptsetup luksOpen /dev/sda5 crypt1

Copia i dati di origine nella partizione di destinazione e salva dd PID nella variabile pid:

sudo dd if=/dev/ubuntu-vg/root of=/dev/sda3 bs=1M & pid=$!

Questo eseguirà il ping di ogni secondo processo dd con il segnale USR1 e lo stato dei risultati dd:

while sudo kill -USR $pid; do sleep 1; done

Alternativa al monitoraggio DD

Se non ti piace sopra "while method", puoi usare watch. Apri una finestra di terminale diversa e ottieni il PID:

pgrep -l '^dd$' | awk '{ print $1 }'

Sostituisci con il tuo ID processo:

watch kill -USR1 <pid>

Dovresti vedere l'output nel tuo terminale dd ogni 2 secondi.

Configurazione del nuovo filesystem di root e delle partizioni

Al termine puoi montare la partizione non crittografata per vedere se è OK:

sudo mount /dev/sda3 /mnt

Dopodiché smonta la tua partizione:

sudo umount /dev/sda3

Rilascia partizione cripta:

sudo cryptsetup luksClose /dev/sda5

Esegui gparted. Elimina la tua partizione LUKS (sia estesa che logica). Ridimensiona il tuo / dev / sda3 e sposta a sinistra. Crea partizione di swap.

Nota: spostare a sinistra / dev / sda3 potrebbe richiedere molto tempo. Per me ci sono voluti 30 minuti su partizione da 120 GB e unità SSD. Se hai 500 GB + HDD preparati per alcune ore in attesa. Potresti voler creare uno swap prima della tua partizione invece di spostare / dev / sda3.

Crea un nuovo filesystem di swap sulla tua partizione di swap:

sudo mkswap /dev/sda2 

e conservare da qualche parte l'UUID.

Ottieni l'UUID della partizione di root:

sudo blkid /dev/sda3

Modifica fstab:

sudo nano /etc/fstab

Elimina o commenta le righe di overlayfs e tmpfs.

Aggiungi riga sostituendo con risultato blkid:

UUID=<uuid_root> /  ext4 errors=remount-ro 0 1
UUID=<uuid_swap> none swap sw 0 0

Rimuovi il file:

rm /etc/crypttab

Aggiorna initramfs per evitare errori come "cryptsetup: evms_activate non è disponibile":

sudo -i
mount /dev/sda3 /mnt
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount /dev/sda1 /mnt/boot
chroot /mnt /bin/bash
apt-get remove --purge cryptsetup
update-initramfs -u -k all

Note finali e risoluzione dei problemi

Ha funzionato per me, tuttavia c'è la possibilità che farlo sopra passo dopo passo potrebbe non funzionare per te. Prima di aver capito il metodo update-initramfs stavo reinstallando il kernel alcune volte anche modificando grub. Tuttavia, non dovrebbe essere un caso per te. Ricorda che le istruzioni di cui sopra potrebbero eliminare i tuoi dati, quindi fai attenzione e fai BACKUP , PRIMA di procedere.

Nel caso abbiate problemi del kernel (chroot e / boot montati):

uname -r
sudo apt-get install --reinstall linux-image-3.X.Y-ZZ-generic

Ovviamente sostituisci linux-image-3.XY-ZZ con la data del tuo kernel da uname.

o GRUB (chroot esterno):

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

Maggiori dettagli: https://help.ubuntu.com/community/Boot-Repair

In bocca al lupo


1
Credo che tu debba sostituire l'UUID della partizione di swap /etc/initramfs-tools/conf.d/resumemanualmente e consiglierei di copiare il contenuto del filesystem con cp -ao rsync -aperché sarebbe più veloce in generale e più sicuro per gli SSD.
LiveWireBT

Grazie per aver reso la mia elaborazione più intuitiva. Non ho apportato la modifica del curriculum, ma ero anche spaventato dall'uso di cp o rsync, ho pensato che dd (copia grezza da dispositivo a dispositivo) sia lo strumento adeguato per tali compiti. Lo stavo facendo su VM, ma l'immagine è stata posizionata su SSD. Potete elaborare: "più sicuro per gli SSD" per favore?
NeverEndingQueue,

Utilizzando ddcopie dell'intera partizione, anche i blocchi che dovrebbero essere vuoti, causando scritture non necessarie sull'SSD (e su alcuni danneggia addirittura la scrittura delle prestazioni su quasi tutte le celle). Alcuni anni fa io e alcuni altri abbiamo anche scoperto che la copia dde l'attivazione di TRIM (opzione di eliminazione EXT4) causerà a TRIM l'eliminazione dei blocchi che ritiene vuoti e ti lasceranno con un'installazione rotta dopo poche ore.
LiveWireBT

Nel primo metodo di monitoraggio dovrebbe essere USR1 anziché USR. So che è ovvio, ma può essere un problema per i neofiti come me;)
goodfellow

9

Nel caso in cui sia OK mantenere la crittografia, ma per disattivare il prompt della passphrase, un approccio molto più semplice è semplicemente impostare una password banale come "password" e quindi salvare quella password banale negli initramfs in chiaro. Disabilita la password di crittografia LUKS .

In sostanza, aggiungi uno script hook che a sua volta aggiunge un "keycript" a initramfs. Di solito questi script vengono utilizzati per ottenere la password tramite Bletooth, da una chiavetta USB ecc., Ma in questo caso basta farla stampare la password banale.

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.