Installazione personalizzata crittografata


21

Il mio computer esegue Ubuntu. Voglio installare Ubuntu su un altro supporto. Vorrei abilitare la crittografia, ma poiché le scelte predefinite dell'installatore di Ubuntu (cancella / a fianco / ecc ...) riguardano solo l'unità predefinita, devo scegliere "qualcos'altro" e creare manualmente le partizioni sull'altra unità, creo ~ Parte da 128 MB per l'avvio, quindi mi perdo, se creo una partizione codificata con il resto dello spazio non riesco a dividerlo, quindi non ho swap; se invece creo due partizioni crittografate, non sembra giusto perché vuole impostare due password diverse ...

Come posso impostare lo swap allora? (Durante o dopo l'installazione).


Risposte:


29

Come realizzare ciò con LVM e una singola partizione crittografata

avvertimento

Innanzitutto 128M è troppo piccolo per l'avvio! Io uso 1G. Altrimenti, ciò che è destinato a succedere è che potresti dimenticare di rimuovere i vecchi kernel e / boot si riempirà, e dovrai affrontare il dolore di provare a rimuovere i vecchi kernel dal sistema in modo da poter ottenere apto apt-getlavorare ancora. Anche con 1G, assicurati di rimuovere di tanto in tanto i vecchi kernel.

I passaggi successivi non sono destinati agli utenti inesperti.
AGGIORNAMENTO: ho creato uno script che eseguirà le seguenti operazioni per te e altro! Tutto quello che devi fare è eseguirlo dal sistema operativo Live prima dell'installazione. Puoi trovare un articolo sul mio blog .


Preinstallazione dal sistema operativo live

Volete installare LUKS e LVM mentre partizionate manualmente! Ho provato questo su Ubuntu 16.04.2

Avvia Ubuntu da un sistema operativo live e seleziona l'opzione per provare Ubuntu senza installarlo. Segui i passaggi che ho indicato di seguito. Supponiamo che tu stia installando su / dev / sdb.

  1. Partiziona il disco con il tuo strumento preferito: ho usato fdisk per impostare il mio su una tabella delle partizioni msdos come segue:
    • altre partizioni: sistemi operativi esistenti - non ci interessa
    • sdb1: / boot (1G)
    • sdb2: partizione LUKS (il resto del disco)
  2. Imposta LUKS
    • sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb2
    • sudo cryptsetup luksOpen /dev/sdb2 CryptDisk
    • Sebbene non sia necessario, è una buona idea riempire la partizione LUKS di zeri in modo che la partizione, in uno stato crittografato, sia piena di dati casuali. sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M ATTENZIONE, questo potrebbe richiedere molto tempo!
  3. Imposta LVM su / dev / mapper / CryptDisk
    • sudo pvcreate /dev/mapper/CryptDisk
    • sudo vgcreate vg0 /dev/mapper/CryptDisk
    • sudo lvcreate -n swap -L 2G vg0
    • sudo lvcreate -n root -L 10G vg0
    • sudo lvcreate -n home -l +100%FREE vg0

Installazione da sistema operativo live

  1. Ora sei pronto per l'installazione. Quando arrivi alla parte "Tipo di installazione" dell'installazione, scegli l'opzione "Qualcos'altro". Quindi assegnare manualmente le partizioni / dev / mapper / vg0- * come si desidera avere configurato. Non dimenticare di impostare / dev / sdb1 come / boot. la partizione / boot non deve essere crittografata. Se lo è, non saremo in grado di avviarlo. Modificare il "Dispositivo per l'installazione del boot loader" in / dev / sdb e continuare con l'installazione.
  2. Al termine dell'installazione, non riavviare ! Scegli l'opzione "Continua test".

Configurazione post-installazione dal sistema operativo live

Questo bit è davvero importante se vuoi che il tuo sistema si avvii! Ho trascorso un bel po 'di tempo a ricercare questo per capire questi passaggi post-installazione. Nel mio caso, lo stavo effettivamente facendo perché volevo personalizzare la dimensione di / boot su / dev / sda, ma tutto quel lavoro dovrebbe essere portato anche alla tua situazione.

  1. In un terminale, digitare quanto segue e cercare l'UUID di / dev / sdb2. Prendi nota di tale UUID per dopo.
    • sudo blkid | grep LUKS
    • La riga importante sulla mia macchina legge /dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
  2. Successivamente, riavviamo il sistema appena installato in modo da poter apportare ulteriori modifiche.

    • sudo mount /dev/vg0/root /mnt
    • sudo mount /dev/vg0/home /mnt/home # questo probabilmente non è necessario
    • sudo mount /dev/sdb1 /mnt/boot
    • sudo mount --bind /dev /mnt/dev # Non sono del tutto sicuro che ciò sia necessario
    • sudo mount --bind /run/lvm /mnt/run/lvm
    • (Solo se stai usando EFI): sudo mount /dev/sd*/your/efi/partition /mnt/boot/efi
  3. Ora corri sudo chroot /mntper accedere al sistema installato

  4. Dal chroot, monta un altro paio di cose
    • mount -t proc proc /proc
    • mount -t sysfs sys /sys
    • mount -t devpts devpts /dev/pts
  5. Setup crypttab. Usando il tuo editor di testo preferito, crea il file / etc / crypttab e aggiungi la seguente riga, cambiando l'UUID con l'UUID del tuo disco.
    • CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
  6. Infine, ricostruire alcuni file di avvio.
    • update-initramfs -k all -c
    • update-grub
  7. Riavvia e il sistema dovrebbe richiedere una password da decrittografare all'avvio!

Un ringraziamento speciale va a Martin Eve , EGIDIO DOCILE e alla gente su blog.botux.fr per i tutorial che hanno pubblicato. Tirando pezzi dai loro post e facendo qualche piccolo problema in più, sono stato finalmente in grado di capirlo.

L'ho provato diverse volte e ho fallito più volte. La parte che ho dovuto elaborare da solo sulla base di messaggi di errore erasudo mount --bind /run/lvm /mnt/run/lvm


Molte grazie, eppure sono bloccato all'inizio dove ho bisogno di impostare la partizione luks. Impossibile trovarlo nell'output di fdisk -L.
Yvain,

E quando provo a configurare la cripta ottengo ed errore: impossibile rimuovere le intestazioni
Yvain

Vedo che hai contrassegnato questo come una soluzione. L'hai fatto funzionare? In caso contrario, quale strumento hai utilizzato per creare le tue partizioni? Devi prima partizionare il disco con uno strumento come Gparted o fdisk, creando una partizione per / boot e una per la crittografia (EFI richiederebbe una terza partizione non crittografata). Non stavo usando EFI nella mia configurazione. Solo dopo aver creato la partizione per la crittografia è possibile effettivamente eseguire il cryptsetup luksFormatcomando per crittografarlo. Dopo aver creato / dev / sdb2, è possibile formattarlo con un filesystem o meno. cryptsetupcancellerà qualsiasi filesystem esistente.
b_laoshi,

1
@Yvain - Credo che sia sbagliato. Sha1 non è più considerato sicuro. Qualcosa di più sicuro (come l'opzione sha512 suggerita) dovrebbe sicuramente essere usato.
mike,

1
+1 @b_laoshi Grazie mille per la risposta, mi sta aiutando molto :)
Tummala Dhanvi

3

Come realizzare questa multipla partizioni crittografate e nessun LVM

Poiché la mia risposta precedente era così lunga, sto pubblicando una seconda risposta che adotta un approccio diverso se non si desidera utilizzare LVM.

È possibile creare più partizioni crittografate e utilizzare lo script decrypt_derived in modo da inserire la password una sola volta. Dai un'occhiata a questo post sul blog per istruzioni dettagliate. L'autore utilizza un file di chiavi, ma sarebbe sufficiente anche lo script LUKS decrypt_derived.


Ho finito per sbloccare l'unità principale, sono disponibili installazioni assistite per il mio sd :) lol
Yvain


0

Questa è la risposta per coloro che continuano a imbattersi in questa domanda che vogliono cambiare leggermente il partizionamento predefinito di Ubuntu. Ad esempio, rimuovere la swappartizione e aumentare le /bootdimensioni. Penso che molte persone sarebbero scoraggiate a seguire le istruzioni di b_laoshi, a causa della quantità di passaggi richiesti.

Quindi per un semplice partizionamento personalizzato con crittografia suggerisco di usare l'opzione "Cancella disco e installa Ubuntu" con l'opzione "Crittografa la nuova installazione di Ubuntu per sicurezza". Ciò che cambieremo è la configurazione per questo partizionamento predefinito.

Queste configurazioni sono contenute in /lib/partman/recipes[-arch]/. Per quanto mi riguarda, sto cambiando /lib/partman/recipes-amd64-efi/30atomic. Per ottenere 538 M per efi, 1024 M per /boote il resto per /ext4, ho modificato il file in

538 538 538 fat32
    $iflabel{ gpt }
    $reusemethod{ }
    method{ efi }
    format{ } .

1024 1024 1024 ext4
    $defaultignore{ }
    $lvmignore{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext4 }
    mountpoint{ /boot } .    

900 10000 -1 ext4
    $lvmok{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext4 }
    mountpoint{ / } .

Nota che una volta che hai scelto il disco da cancellare nel programma di installazione, ti verrà richiesto il riepilogo del partizionamento, in modo da poter verificare se il trucco ha funzionato e stai ottenendo il partizionamento desiderato. Vedi anche /ubuntu//a/678074/47073 .

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.