Installare in una cryptroot

Tenere presente che ci sono alcune avvertenze nell'utilizzo di questa guida per criptare le partizioni root opppure dati. Eccole:

Esempi di crittografia:

Utilizzare la crittografia con i gruppi LVM

Questo esempio utilizza la crittografia dentro il volume LVM, permette di separare la home da / ed avere una partizione di swap senza la necessità di password multiple; è applicabile da aptosid-2010-03-apate in poi.

Prima di avviare il programma di installazione si devono preparare i filesystem che verranno utilizzati per l'installazione. Per le linee guida base per il partizionamento LVM, ci si deve riferire a Logical Volume Manager - partizionamento LVM.

C'è bisogno di almeno una partizione con un filesystem non criptato /boot un filesystem criptato / ed inoltre creare filesystem criptati /home e swap.

  1. Se non si prevede di utilizzare un gruppo di volumi lvm esistente creare normalmente un gruppo di volumi lvm. Questo esempio considera che il gruppo di volumi si chiami vg per contenere l'avvio ed i dati criptati.
  2. C'è bisogno di un volume logico per /boot ed i dati criptati, utilizzare lvcreate per creare i volumi logici nel gruppo di volumi vg con le dimensioni che si vogliono:
    lvcreate -n boot --size 250m vg
    lvcreate -n crypt --size 300g vg
    
    Qui si sono chiamati i volumi logici boot e crypt con dimensioni rispettivamente di 250Mb e 300Gb.
  3. Creare il filesystem per /boot in modo che sia disponibile per il programma di installazione:
    mkfs.ext4 /dev/mapper/vg-boot
    
  4. Utilizzare cryptsetup per criptare vg-crypt utilizzando l'opzione più veloce xts con la lunghezza della chiave più sicura di 512bit e quindi aprirla. Verrà richiesta la password due volte per impostarla ed una terza volta per aprirla. Aprirla con le impostazioni di default di cryptopts usando come nome cryptroot:
    cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/mapper/vg-crypt
    
    cryptsetup luksOpen /dev/mapper/vg-crypt cryptroot
    
  5. Adesso utilizzare lvm dentro la periferica criptata per creare un secondo gruppo di volumi che verrà utilizzato per le periferiche /swap e /home. pvcreate cryptroot per farla diventare un volume fisico ed utilizzarla con vgcreate per creare un altro gruppo di volumi che si chiamerà cryptvg:
    pvcreate /dev/mapper/cryptroot
    vgcreate cryptvg /dev/mapper/cryptroot
    
  6. Quindi utilizzare lvcreate nel nuovo gruppo di volumi criptato cryptvg per creare i volumi logici / , /swap e /home delle dimensioni che si vogliono:
    lvcreate -n swap --size 2g cryptvg
    lvcreate -n root --size 40g cryptvg
    lvcreate -n home --size 80g cryptvg
    
    Adesso si hanno i volumi logici swap, root e home creati rispettivamente con 2Gb, 40Gb e 80Gb.
  7. Creare i filesystems per cryptvg-swap, cryptvg-root e cryptvg-home in modo da renderli disponibili nel programma di installazione:
    mkswap /dev/mapper/cryptvg-swap
    mkfs.ext4 /dev/mapper/cryptvg-root
    mkfs.ext4 /dev/mapper/cryptvg-home
    
  8. Adesso tutto è pronto per avviare il programma di installazione dove si dovranno utilizzare:
    vg-boot per /boot,
    cryptvg-root per /,
    cryptvg-home per /home,
    and cryptvg-swap per swap dovrebbe essere riconosciuto come per magia.

Il sistema installato alla fine dovrebbe avere una linea di comando per il kernel che include le seguenti opzioni:

root=/dev/mapper/cryptvg-root cryptopts=source=/dev/mapper/vg-crypt,target=cryptroot,lvm=cryptvg-root

Adesso si hanno crypt e boot dentro il gruppo di volumi lvm vg e root, home e swap dentro il gruppo di volumi vgcrypt che si trova dentro la periferica criptata protetta da password.

Note: If reinstalling to a previously encrypted lvm volume the installer needs to be made aware of the crypt:

cryptsetup luksOpen /dev/mapper/cryptvg-root cryptvg
vgchange -a y

Note per la crittografia con i metodi di partizionamento tradizionali

La prima cosa da decidere è come si vuole partizionare il disco. C'è bisogno di almeno 2 partizioni, una partizione normale per /boot e una per i dati criptati.

Assumendo che è necessario swap (la quale deve essere criptata a sua volta) c'è la necessità di una terza partizione e si dovrà inserire la password per swap separatamente durante l'avvio (così si avranno due richieste di password).

È possibile utilizzare chiavi per la swap dall'interno del sistema criptato con il partizionamento tradizionale, tuttavia non si potrà fare il sospendi su disco. A causa di questi problemi, l'opzione migliore nel lungo termine è quella di utilizzare i volumi LVM con partizioni e chiavi completamente criptate.

Presupposti essenziali:

Adesso che si è fatto il partizionamento, si devono preparare le partizioni criptate in modo che siano riconosciute dal programma di installazione.

Se si è utilizzata una applicazione grafica per il partizionamento, chiuderla ed aprire un terminale, dato che i comandi per la crittografia devono essere eseguiti dalla linea di comando.

La partizione /boot

Creare la partizione /boot come ext4, se non si è ancora fatto:

/sbin/mkfs.ext4 /dev/sda1
Partizione swap criptata

Per la partizione swap criptata per prima cosa si deve formattare ed aprire la periferica grezza, /dev/sda2, come una periferica criptata, come la periferica vg-crypt come sopra ma aprirla con un nome differente, swap.

  1. cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/sda2
    
  2. cryptsetup luksOpen /dev/sda2 swap
    
  3. echo "swap UUID=$(blkid -o value -s UUID /dev/sda2) none luks" >> /etc/crypttab
    

Formattare la swap creata /dev/mapper/swap in modo che venga risconosciuta dal programma di installazione:

/sbin/mkswap /dev/mapper/swap
Partizione / criptata

Per la partizione / criptata per prima cosa si deve formattare ed aprire la periferica grezza, /dev/sda3, come una periferica criptata, come la periferica vg-crypt come sopra.

cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/sda3
cryptsetup luksOpen /dev/sda3 cryptroot

Formattare /dev/mapper/cryptroot in modo che sia visualizzata nel programma di installazione:

/sbin/mkfs.ext4 /dev/mapper/cryptroot

Aprire il programma di installazione

Adesso si è pronti per avviare il programma di installazione dove si deve usare:
sda1 per /boot,
cryptroot per / e /home
swap dovrebbe essere riconosciuta come per magia.

Il sistema installato alla fine dovrebbe avere una linea di comando per il kernel che include le seguenti opzioni (sebbene verrà utilizzato l'UUID esistente):

root=/dev/mapper/cryptroot cryptopts=source=UUID=12345678-1234-1234-1234-1234567890AB,target=cryptroot

A questo punto si ha /boot in una partizione semplice, uno swap criptato protetto da password ed una partizione criptata con root e /home.

Fonti e Risorse:

Letture necessarie:

man cryptsetup

LUKS.

Redhat e Fedora .

Protect Your Stuff With Encrypted Linux Partitions.

KVM how to use encrypted images.

aptosid wiki.

Page last revised 06/09/2011 0920 UTC