Abilita la crittografia del disco dopo l'installazione


61

Sto correndo il 13.10 Saucy. Se non ho abilitato la crittografia del disco durante l'installazione, c'è un modo per abilitarlo post facto?

Ho trovato questo , che dice che la crittografia deve avvenire al momento dell'installazione, ma si riferisce anche a Fedora. Posso facilmente avviare un disco live se c'è un modo per farlo da lì.


Crittografia completa del disco o solo la tua cartella / home?
Joren,

Disco pieno. (Domanda successiva: quali sono gli
aspetti positivi

La crittografia del disco / home non include lo spazio di scambio. I dati sensibili possono essere scritti su swap non crittografato, se solo / home è crittografata. Questo può essere recuperato. Ubuntu ha la decrittazione automatica di / home durante l'accesso. La crittografia completa del disco richiede una password sia all'avvio che al login. Il ridimensionamento di un'unità crittografata è un processo scrupoloso. Se si dispone di un'unità esterna, è facile crittografare dopo l'installazione in 13.10 Saucy Salamander: eseguire il backup dei dati, avviare "dischi" dal cruscotto, selezionare l'unità esterna, fare clic sul dente, selezionare crittografare, sbloccare l'unità appena crittografata , copiare nuovamente i dati.
user75798

Risposte:


57

Se si desidera abilitare la crittografia della cartella principale, è necessario installare e utilizzare questi pacchetti: ecryptfs-utilse cryptsetup. Inoltre avrai bisogno di un altro account utente con privilegi di amministratore (sudo). La documentazione completa è qui:

Se si desidera abilitare la crittografia del disco completo dopo l'installazione, la risposta breve per ora è probabilmente: no, non è possibile . Ad ogni modo, se sei interessato a questo, la tua domanda è duplicata di:


8
Per favore includi almeno i passaggi di base del tuo howto collegato qui. Nel caso in cui il tuo link non sia in linea, cambi o sia temporaneamente irraggiungibile.
con-f-use

1
@ con-f-use Se leggi attentamente (senza confusione), i passaggi di base sono inclusi nella risposta.
Radu Rădeanu,

1
Cosa succede se nella cartella home è presente una condivisione samba crittografata? Gli utenti della rete non possono più leggere i file o vengono decifrati sulla condivisione?
Rush Frisby,

21

Domanda di follow-up: quali sono gli aspetti positivi e negativi dell'intero disco rispetto a just / home?

La crittografia in / home viene eseguita utilizzando un filesystem dello spazio utente chiamato ecryptfs. È molto ben fatto e strettamente integrato nel sistema di autenticazione predefinito in modo da avere zero inconvenienti di usabilità: quando inserisci il tuo account (da una shell remota o dalla schermata di accesso predefinita) la tua password viene utilizzata per scartare una chiave sicura , che viene quindi utilizzato per crittografare / decrittografare i file nella directory home al volo (il filesystem montato risiederà direttamente in / home / nome utente). Quando esci / home / username è smontato e solo i file crittografati rimangono visibili nel sistema (di solito in /home/.ecryptfs/username/.Private/). Sembrano un mucchio di file scrabbled / random poiché anche i nomi dei file sono crittografati. L'unica perdita di informazioni è: dimensione del file, timestamp e numero di file (anche con la crittografia completa del disco sono nascosti).

Se il tuo sistema deve essere condiviso tra più utenti, questa è una funzione molto utile anche se decidi di aggiungere la crittografia del disco completo insieme a questo: la sicurezza della crittografia del disco completo è disattivata quando la macchina è attiva e in esecuzione mentre è in casa ecryptfs) la crittografia è attiva fintanto che si è disconnessi.

Pertanto, la crittografia completa del disco e la crittografia domestica non si escludono necessariamente a vicenda.

Ecco un elenco di possibili configurazioni, a seconda delle diverse esigenze di sicurezza:

  • SOLO ISCRIZIONE A DISCO COMPLETO: se sei l'unico che utilizza il tuo computer e la tua macchina è in grado di gestire l'overhead della crittografia del disco completo (tutti i desktop moderni possono farlo senza che l'utente se ne accorga, netbook e vecchi laptop non tanto) puoi usare full crittografia del disco e riporlo nella stessa partizione del sistema operativo (/).
  • CRIPTATURA DISCO COMPLETO ED CRIPTATURA ECRYPTFS HOME : Se sei preoccupato che i tuoi dati privati ​​vengano letti mentre il tuo PC è acceso o condividi il tuo computer con altri utenti, allora potresti avere casa in una partizione diversa da / e usare ecryptfs su tutto il disco crittografia (ovvero crittografia di / tramite LUKS)
  • SOLO CRIPTATURA ECRYPTFS HOME : Se non sei troppo preoccupato per qualcuno che manometta il tuo sistema mentre sei assente ma ti piace comunque mantenere i tuoi dati privati ​​al sicuro, salta l'intera crittografia del disco e usa semplicemente ecryptfs (crittografia di casa). Un ulteriore vantaggio di questo scenario è che è abbastanza facile da configurare anche dopohai installato Ubuntu, semplicemente usando ecryptfs-migrate-home. Anche questa è stata la configurazione predefinita di Ubuntu prima che cambiasse alcune versioni, aggiungendo la possibilità di crittografia del disco completo. Poiché la maggior parte dei desktop moderni è in grado di gestire la crittografia completa del disco senza problemi e aggiunge un sottile livello di sicurezza contro l'iniezione di codice off-line, la crittografia completa del disco è stata aggiunta all'installer. Si noti tuttavia che per la maggior parte degli utenti crittografare la propria casa con ecryptfs sarà sufficiente per le proprie esigenze: tenere lontani i propri amici e i comuni ladri di laptop dai propri dati privati. Inoltre, se sei stato scelto singolarmente da un'organizzazione con i mezzi giusti, avere la crittografia completa del disco o solo la crittografia domestica non farà molta differenza a meno che tu non abbia anche stabilito molti altri comportamenti paranoici (come: mantenere il kernel in una pen drive separata che è sempre su di te; controllare costantemente manomissioni hardware / keylogger e così via)

Se non ho abilitato la crittografia del disco durante l'installazione, c'è un modo per abilitarlo post facto?

Sì e sarà più semplice se stai usando LVM e hai abbastanza spazio sul tuo sistema per copiare tutti i tuoi file di sistema non crittografati in una partizione LUKS crittografata. Al momento non entrerò nei dettagli perché non so se stai usando LVM e se preferisci non usare solo ecrypfs per ora e saltare la seccatura della crittografia del disco completo fino alla prossima nuova installazione.


3

Bene, potresti fare un backup di tutte le directory importanti e del software installato. Assicurati che il tuo 13.10 sia completamente aggiornato per evitare conflitti di versione. Di solito le cose che fanno il backup sarebbero:

Dopo di che si reinstalla il sistema solo ora crittografato. Aggiornalo completamente. Quindi spostare il backup sul sistema crittografato e installare tutto il software dalla versione precedente.

Basta essere sicuri di non sovrascrivere file importanti per la cifratura, quando mette di nuovo il backup (ad esempio /etc/fstab, /etc/cryptabalcune cose relative grub e alcune cose in /bootnon devono essere sostituiti con i file di backup).


1

Da un Ubuntu 16.04 funzionante, sono riuscito nella crittografia della partizione root post-installazione, con la partizione root contenente tutto tranne / boot. Metto / avvio su un usb rimovibile separato. In particolare, l'ho fatto prima di eseguire l'aggiornamento a Ubuntu 18 e l'aggiornamento ha funzionato bene sulla versione del disco crittografato.

La crittografia non è stata eseguita "sul posto", il che andava bene per me perché non volevo sovrascrivere la versione funzionante fino a quando la nuova installazione non funzionava, comunque.

L'esecuzione della procedura corretta è estremamente semplice e veloce. (Anche se capire la procedura corretta è stato estremamente dispendioso in termini di tempo perché ho seguito alcune false indicazioni.)

CONTORNO

  1. Crea un disco USB Linux live: è conveniente avere la persistenza abilitata. Avviare su quel disco USB live.
  2. Crea un gruppo di volumi crittografato luks su una partizione vuota. (Nel mio caso era sullo stesso disco dell'originale Linux, ma potrebbe essere un altro disco.) Creare / (root) e scambiare volumi logici su quella partizione crittografata. Questi fungeranno da partizioni virtuali per quanto riguarda il Linux copiato.
  3. Copia i file dalla vecchia radice alla nuova radice.
  4. Configurare e partizionare un'altra USB per fungere da disco di avvio rimovibile.
  5. Imposta alcuni file nella nuova radice, fai un po 'di magia e chroot nella nuova radice, quindi installa grub sul disco di avvio dal nuovo ambiente root chroot.

DETTAGLI

1 - Avvio con un disco USB Linux live: è conveniente avere la persistenza abilitata.

Ubuntu 16 installato su un usb con unetbootin. La GUI consente di specificare "persistenza", ma è necessario anche un altro passaggio per far funzionare la persistenza: modificare /boot/grub/grub.cfgper aggiungere --- persistentcome segue:

menuentry "Try Ubuntu without installing" {
    set gfxpayload=keep
    linux   /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --- persistent
    initrd  /casper/initrd
}

Avviare con l'USB live

2- Creare un gruppo di volumi crittografato luks su una partizione vuota. Crea / (root) e scambia volumi logici su quella partizione crittografata.

Supponiamo che la partizione inutilizzata da crittografare sia /dev/nvme0n1p4.

Facoltativamente , se sulla partizione sono presenti vecchi dati che si desidera nascondere prima della crittografia e della formattazione, è possibile cancellare casualmente la partizione. Vedi la discussione qui .

dd if=/dev/urandom of=/dev/nvme0n1p4 bs=4096 status=progress

Imposta la crittografia.

cryptsetup -y -v luksFormat /dev/nvme0n1p4

Ti verrà chiesto di impostare una password.

cryptsetup luksOpen /dev/nvme0n1p4 crypt1

Ti verrà chiesto di inserire la password. Si noti che crypt1è un nome deciso dell'utente arbitrario. Ora crea i volumi e il formato.

pvcreate /dev/mapper/crypt1
vgcreate crypt1-vg /dev/mapper/crypt1

lvcreate -L 8G crypt1-vg -n swap
mkswap /dev/crypt1-vg/swap

lvcreate -l 100%FREE crypt1-vg -n root
mkfs.ext4 /dev/crypt1-vg/root

Utilizzare queste utilità per visualizzare i volumi e comprendere la gerarchia.

pvscan
vgscan
lvscan
ls -l /dev/mapper
ls -l /dev/crypt1

3- Copia i file dalla vecchia radice alla nuova radice

mkdir /tmp/old-root 
mount /dev/ubuntu-vg/root /tmp/old-root/
mkdir /tmp/new-root
mount /dev/crypt1-vg/root /tmp/new-root/
cp -a /tmp/old-root/. /tmp/new-root/

umount /tmp/old-root
umount /tmp/new-root

cp -a ... copie in modalità archivio, preservando tutte le modalità file e flag.

4- Configurare e partizionare un'altra USB per fungere da disco di avvio rimovibile.

Ho usato gparted per questo. Imposta due partizioni. La prima partizione è vfat, la seconda ext2. Ciascuno era 512 MB, potresti cavartela con meno. Assumi dispositivo /dev/sdf.

# The first partition: (will be /dev/sdf1)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: fat32
Label: (leave)

# The second partition: (will be /dev/sdf2)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: ext4
Label: (leave) 

5- Configurare alcuni file nella nuova radice, fare un po 'di magia e chroot nella nuova radice, quindi installare grub sul disco di avvio dal nuovo ambiente root chroot.

Trova alcuni UUID per un uso successivo. Nota le uscite dai seguenti comandi:

blkid /dev/sdf1
blkid /dev/sdf2
blkid /dev/nvme0n1p4

Montare la partizione di root e avviare le partizioni

sudo mount /dev/mapper/crypt1--vg-root /mnt
sudo mount /dev/sdf2 /mnt/boot
sudo mount /dev/sdf1 /mnt/boot/efi

Imposta il file /mnt/etc/fstab

/dev/mapper/crypt1--vg-root /               ext4    errors=remount-ro 0       1
/dev/mapper/crypt1--vg-swap none    swap    sw              0       0
UUID=[uuid of /dev/sdf2] /boot           ext2    defaults        0       2
UUID=[uuid of /dev/sdf1]  /boot/efi       vfat    umask=0077      0       1

dove "[uuid of ...]" è solo una combinazione lettera-numero-trattino.

Crea il file /mnt/etc/cryptab

# <target name> <source device>     <key file>  <options>
crypt1 UUID=[uuid of /dev/nvme0n1p4] none luks,discard,lvm=crypt1--vg-root

Qualche magia necessaria per accedere all'ambiente della directory principale:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
chroot /mnt

Ora imposta il disco USB di avvio con grub:

apt install --reinstall grub-efi-amd64
grub-install --efi-directory=/boot/efi --boot-directory=/boot --removable
update-initramfs -k all -c
update-grub

Ora dovresti essere in grado di riavviare e avviare utilizzando il disco di avvio USB appena creato.

Toubleshooting-

(a) La rete deve essere connessa per il apt install --reinstall grub-efi-amd64comando. Se la rete è connessa ma DNS non funziona, provare

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

(b) Prima di chiamare initramfs, il vmlinuz...file corrente usato nel linux originale deve essere presente nella nuova directory root. Se non lo è, trovalo e mettilo lì.

(c) Il grub-installcomando cercherà di default tutti gli altri dischi Linux che può trovare anche se non sono mounteditati e li inserirà nel menu di avvio sul nuovo USB di avvio. Di solito questo non è desiderato, quindi può essere evitato aggiungendo questa riga a /boot/default/grub.cfg:

GRUB_DISABLE_OS_PROBER=true

NOTA: un file di testo con la chiave di crittografia può essere aggiunto alla porta USB rimovibile.


0

Risposta semplice: No.

Risposta complicata:

La crittografia di un disco o di una partizione cancellerà tutto ciò che è attualmente su quel disco o partizione, quindi per crittografare un disco è necessario rimuovere anche il contenuto del disco. È necessario eseguire backup dei dati appropriati prima di iniziare. Ovviamente, ciò significa che è necessario reinstallare il sistema per utilizzare la crittografia completa del disco, in nessun altro modo. Questo perché i dati casuali verranno scritti su tutto il disco per rendere più difficile il recupero dei dati.

Ma al giorno d'oggi non è necessario crittografare la partizione di root. Ricorda che se qualcosa va via cavo sei fuori dal sistema senza possibilità di recuperare i dati. Dovresti invece considerare solo di crittografare le tue informazioni personali.

Vedi domanda correlata Come crittografare l'intero disco dopo l'installazione?


"Sono fuori dal sistema senza possibilità di recuperare i dati" <--- Non è corretto. Finché si possiede la chiave di crittografia, i dati possono essere recuperati con un supporto live.
con-f-use

@ con-f-use tiene conto del fatto che esisteva una condizione "se qualcosa va collegato", il che significa che se qualcosa di incredibilmente male accade all'unità / partizione che è crittografata.
Braiam,

Bene sì, se sei nitido, si dovrebbe anche mantenere un backup recente dell'intestazione LUKS sul disco crittografato. Ma lo includerei in "chiave di crittografia". Oltre a ciò, non esiste alcun danno nella crittografia completa dal punto di vista del recupero dei dati. Tuttavia, il fatto che tu possa dire quale versione di Ubuntu è lì, quali programmi sono installati e così via fornisce un possibile vettore di attacco su dischi non completamente crittografati. Anche gli SSD generalmente lo fanno. Quindi per il paranoico non c'è ancora modo di aggirare la crittografia del disco completo.
con-f-use

"Ma al giorno d'oggi non è necessario crittografare la partizione di root." Per favore, parla da solo, non sono completamente d'accordo. "La crittografia di un disco o di una partizione cancellerà tutto ciò che è attualmente su quel disco o partizione, quindi per crittografare un disco dovresti anche rimuovere il contenuto del disco." Ancora una volta, non sono d'accordo. TrueCrypt è un bell'esempio di fare FDE su Windows con dischi esistenti. In realtà, è di fatto il metodo di installazione: non crittografato e, una volta fatto, lo crittografa. Non cambia la risposta in quanto non è possibile atm su Ubuntu, ma le tue dichiarazioni sono molto categoriche e errate.
Cookie

@Cookie perché dovresti crittografare una partizione che contiene elementi che puoi installare in seguito? (e per favore, sto parlando di un sistema utente run-of-the-mill, niente a che fare con server aziendali / aziendali che potrebbero avere roba installata al suo interno) 2) di cosa stai parlando è una funzionalità di TrueCrypt disponibile solo per Windows aggiornato e se non riesci a trovare un sistema di crittografia Linux in grado di crittografare una partizione dopo l'installazione, la mia affermazione è corretta poiché al momento non è possibile.
Braiam,
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.