Come posso preconfigurare la crittografia solo della partizione di root?


13

Ho 3 partizioni: EFI ( /boot/efi), boot ( /boot) e root ( /). Voglio solo crittografare /. Posso farlo manualmente tramite l'installer, ma voglio preimpostarlo.

Come lo definisco? La mia ricetta (non crittografata) è simile alla seguente. È una sorta di miscuglio di suggerimenti per le partizioni di sistema EFI che ho trovato (non ho trovato una guida chiara).

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ / }
  .

Come faccio ad sda3essere una partizione fisica per la crittografia LUKS e quindi avere un file system in più?

AGGIORNARE:

Ho scoperto che posso impostare la partizione come crittografica come di seguito, ma ci sono ancora 3 problemi:

  1. Devo ancora creare e attivare i volumi crittografati sulla partizione scelta
  2. Ho ancora bisogno di impostare il file system ext4 corretto sul volume crittografato dopo averlo creato e attivato
  3. La ricetta non seleziona il tipo di crittografia a dm-cryptcui è richiesto per creare e attivare i volumi crittografati.

Ancora lottando potentemente

boot-root ::
  100 100 100 fat32
    $primary
    $iflabel{ gpt }
    $reusemethod( }
    use_filesystem{ } filesystem{ vfat }
    method{ efi } format{ }
    mountpoint{ /boot/efi }
  .
  300 300 300 ext4
    use_filesystem{ } filesystem{ ext4 }
    method{ format } format{ }
    mountpoint{ /boot }
  .
  100% 3000 100% ext4
    method{ crypto } format{ }
  .

Cordiali saluti, le etichette come sda, sdb, sdc, ecc non sempre mantengono le stesse lettere (a, b, c) tra gli stivali (il mio interruttore ogni avvio)
Xen2050

2
@ Xen2050 hai ragione, UUIDo PARTUUIDo LABELo PARTLABELsei molto meglio. Nel mio caso, sto avviando un'immagine da formattare, quindi è presente solo un'unità. Ad ogni modo, come posso impostarla per crittografare una singola partizione? Posso farlo in modo interattivo, ma ne ho bisogno preconfigurato.
Deitch

Hmm, potrebbe arrivare da qualche parte, ma altre domande. Pubblicherà altri q.
Deitch

@deitch - è una configurazione di partizione del server o un client o solo un esempio di partizione desktop? Queste 3 partizioni sono troppo poche per la tua intenzione - mancano / scambiano e / home - quindi devi impostare in qualche modo una parte estesa del disco rigido con partizioni logiche - normalmente le partizioni ne consentono solo 4 nel complesso ma estese con le partizioni logiche consentono 4 volte 63 partizioni al massimo (e GPT ne consente molto di più) ?! - unix.stackexchange.com/questions/33555/… - per quanto riguarda le partizioni master e slave.
dschinn1001,

@ dschinn1001 in realtà è un modello per un server sicuro. Il sistema operativo principale è su un'unità rimovibile. I dati utente e lo scambio si trovano su un'unità interna, che un servizio di sistema trova e monta in modo appropriato. Ma ignorandolo .... come posso impostare il root per essere crittografato senza LVM?
Deitch,

Risposte:


1

All'inizio, apri un terminale di root:

sudo -i

Quindi riempire la partizione, che dovrebbe essere crittografata, con dati casuali utilizzando un comando come questo:

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sdxy

Devi sostituire sdxycon la partizione che sarà crittografata. Quindi digitare

cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 2000 /dev/sdxy

per crittografare la partizione sdxy. Apri il volume e chiamalo root:

cryptsetup luksOpen /dev/sdxy root

Utilizzare questo comando per creare un filesystem ext4 al suo interno:

mkfs.ext4 /dev/mapper/root

Successivamente è possibile avviare il programma di installazione. Scegli "Qualcos'altro" quando ti viene chiesto cosa ti piacerebbe fare. Quindi scegli i punti di montaggio per tutte le tue partizioni non crittografate. Per la tua rootpartizione, seleziona /dev/mapper/root, fai clic su "Modifica". Quindi selezionare ext4per il tipo di file system e impostare il punto di montaggio su /. Quindi fare clic su "Installa ora" e installare Ubuntu normalmente.

Al termine dell'installazione, fai clic su "Continua il test". Apri un terminale e digita:

sudo -i
cd /mnt
mkdir root
mount /dev/mapper/root root
mount /dev/sdyz root/boot

sdyzdovrebbe essere sostituito con la tua bootpartizione. Quindi, digitare:

chroot root
mount -t proc proc /proc
mount -t sysfs sys /sys
nano /etc/crypttab

Apri un secondo terminale e digita sudo blkid. Trova l'UUID per root(quello che dice crypto_luksalla fine) e incollalo /etc/crypttab. Quindi il file /etc/crypttabdovrebbe essere simile al seguente:

root UUID=d68911dd-172a-4608-86d4-084eb72f409c none luks

Chiudere il file con Ctrl+ x, ye Enter. Digita nano /etc/fstabil terminale e controlla se tutto sembra a posto (es. Gli UUID).

Alla fine, esci dall'ambiente chroot e digita:

cryptsetup luksHeaderBackup /dev/sdxy --header-backup-file /root/root.img

Ciò inserisce un'immagine dell'intestazione della partizione crittografata nella cartella /roote la denomina root.img. Quindi spostare l'immagine su un'unità esterna (in caso di dimenticanza della password). Ora puoi riavviare Ubuntu appena installato.

Fonte: http://thesimplecomputer.info/full-disk-encryption-with-ubuntu


Benvenuto in Ask Ubuntu! Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento.
Karl Richter,

@Earl stai suggerendo di costruire la partizione in anticipo in un ambiente chroot (o containerizzato), e poi inserirla nell'installer?
Deitch

Come lavorerei con il preseeder?
Deitch

Non lo so, ma questa è almeno una soluzione per creare una rootpartizione crittografata LUKS senza LVM.
Conte Nick,
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.