¿Cómo presento encriptar solo la partición raíz?

13

Tengo 3 particiones: EFI ( /boot/efi), boot ( /boot) y root ( /). Quiero encriptar solo / . Puedo hacer esto manualmente a través del instalador, pero quiero preestablecerlo.

¿Cómo lo defino? Mi receta (no encriptada) se parece a la siguiente. Es una especie de mezcla de sugerencias para las particiones del sistema EFI que he encontrado (no encontré una guía clara).

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{ / }
  .

¿Cómo hago para que sda3sea ​​una partición física para el cifrado LUKS y luego tener un sistema de archivos además de eso?

ACTUALIZAR:

Descubrí que puedo configurar la partición para que sea criptográfica como se muestra a continuación, pero todavía hay 3 problemas:

  1. Todavía necesito crear y activar los volúmenes cifrados en la partición elegida
  2. Todavía necesito configurar el sistema de archivos ext4 correcto en el volumen cifrado después de creado y activado
  3. La receta no selecciona el tipo de cifrado dm-cryptque se requiere para crear y activar los volúmenes cifrados.

Aún luchando poderosamente

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{ }
  .
deitch
fuente
Para su información, los sellos como sda, sdb, sdc, etc no siempre se mantienen las mismas letras (a, b, c) entre las botas (el mío cambiar cada arranque)
Xen2050
2
@ Xen2050 tiene razón, UUIDo PARTUUIDo LABELo PARTLABELson mucho mejores. En mi caso, estoy iniciando una imagen para formatear, por lo que solo hay una unidad de disco. De cualquier manera, ¿cómo lo configuro para criptar una partición? Puedo hacerlo de forma interactiva, pero lo necesito preestablecido.
deitch
Hmm, podría estar llegando a alguna parte, pero hay más preguntas. Publicaremos otros q.
deitch
@deitch: ¿es esta una configuración de partición de servidor o un cliente o simplemente un ejemplo de partición de escritorio? Estas 3 particiones son muy pocas para su intención: faltan / intercambiar y / inicio, por lo que debe configurar de alguna manera una parte extendida del disco duro con particiones lógicas; normalmente las particiones solo permiten 4 en total, pero las particiones extendidas con lógica permiten ¿4 veces 63 particiones como máximo (y GPT permite mucho más)? - unix.stackexchange.com/questions/33555/… - con respecto a las particiones maestras y esclavas.
dschinn1001
@ dschinn1001 en realidad es una plantilla para un servidor seguro. El sistema operativo central está en una unidad extraíble. Los datos de usuario y el intercambio están en una unidad interna, que un servicio systemd encuentra y monta de manera adecuada. Pero ignorando eso ... ¿cómo puedo configurar la raíz para que se cifre sin LVM?
deitch

Respuestas:

1

Al principio, abra una terminal raíz:

sudo -i

Luego llene la partición, que debe estar encriptada, con datos aleatorios usando un comando como este:

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

Debe reemplazar sdxycon la partición que se cifrará. Luego escribe

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

para encriptar la partición sdxy. Abre el volumen y nómbralo root:

cryptsetup luksOpen /dev/sdxy root

Use este comando para hacer un sistema de archivos ext4 dentro de él:

mkfs.ext4 /dev/mapper/root

A continuación, puede iniciar el instalador. Elija "Algo más" cuando se le pregunte qué le gustaría hacer. Luego, elija los puntos de montaje para todas sus particiones no cifradas. Para su rootpartición, seleccione /dev/mapper/root, haga clic en "Cambiar". Luego seleccione ext4para el tipo de sistema de archivos y establezca el punto de montaje en /. Luego haga clic en "Instalar ahora" e instale Ubuntu normalmente.

Cuando termine de instalar, haga clic en "Continuar probando". Abra una terminal y escriba:

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

sdyzdebe ser reemplazado con su bootpartición. A continuación, escriba:

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

Abra una segunda terminal y escriba sudo blkid. Encuentre el UUID para root(el que dice crypto_luksal final) y péguelo /etc/crypttab. Entonces el archivo /etc/crypttabdebería verse así:

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

Cierre el archivo y Ctrl+ x, yy Enter. Escriba nano /etc/fstabel terminal y verifique si todo parece correcto (por ejemplo, los UUID).

Por último, salga del entorno chroot y escriba:

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

Esto coloca una imagen del encabezado de la partición encriptada en la carpeta /rooty la nombra root.img. Luego mueva la imagen a una unidad externa (en caso de olvidar la contraseña). Ahora puede reiniciar en su Ubuntu recién instalado.

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

Earl Nick
fuente
Bienvenido a Ask Ubuntu! Si bien esto puede responder teóricamente la pregunta, sería preferible incluir aquí las partes esenciales de la respuesta y proporcionar el enlace para referencia.
Karl Richter
@Earl, ¿estás sugiriendo construir la partición de antemano en un entorno chroot (o contenedorizado) y luego pegarla en el instalador?
deitch
¿Cómo trabajaría eso con el presentador?
deitch
No lo sé, pero esa es al menos una solución para hacer una rootpartición cifrada con LUKS sin LVM.
Earl Nick