¿Cómo puedo instalar Ubuntu encriptado con LUKS con arranque dual?

73

El disco de instalación de Ubuntu 13.04 tiene una opción para instalar Ubuntu encriptado usando LUKS. Sin embargo, no hay una opción para realizar una instalación cifrada junto con las particiones existentes para un escenario de arranque dual.

¿Cómo puedo instalar Ubuntu encriptado junto con otra partición desde el disco en vivo?

Flimm
fuente
Mirando el script cryptroot, esa edición rechazada es realmente correcta. Cada línea en conf.d / cryptroot se trata de la misma manera que lo sería otro argumento de cryptopts. ¿Es posible usar el instalador sin que la partición descifrada sea un grupo de volúmenes? Lo he intentado y parece que no me deja usarlo sin particiones. En mi caso, es un SSD con 3 particiones: Linux / boot, Linux /, Windows, con swap y / home en el HDD, por lo que realmente no es necesario LVM. Supongo que tendría que quedarme con mi idea original, que era usar debootstrap del CD en vivo.
Guía útil: " ¿Cómo configurar una instalación cifrada de Ubuntu? ", Por Gayan en HecticGeek.com - hecticgeek.com/2012/10/…
Gabriel Staples

Respuestas:

88

En primer lugar, si desea instalar Ubuntu encriptado en un disco duro, reemplazando cualquier partición y sistema operativo existente, puede hacerlo directamente desde el instalador gráfico. Este proceso manual solo es necesario para el arranque dual.

Esta respuesta ha sido probada con Ubuntu 13.04.

  1. Arranque desde un DVD en vivo de Ubuntu o una memoria USB, y seleccione "Probar Ubuntu".

  2. Cree dos particiones usando GParted incluido en el disco en vivo. La primera partición no debe estar formateada y debe ser lo suficientemente grande para root e intercambio, en mi ejemplo, esto es /dev/sda3. La segunda partición debe ser de varios cientos de megabytes y formateada en ext2 o ext3, no estará encriptada y estará montada /boot(en mi ejemplo, esto es /dev/sda4).

    En esta captura de pantalla, tengo una instalación de Ubuntu sin cifrar existente en dos particiones: /dev/sda1y /dev/sda5, resaltar en el círculo a la izquierda. He creado una partición sin formato /dev/sda3y una partición ext3 en /dev/sda4, destinada a la instalación cifrada de Ubuntu, resaltada en el círculo a la derecha:

    Captura de pantalla de GParted

  3. Cree un contenedor LUKS con estos comandos. Reemplace /dev/sda3con la partición sin formato creada anteriormente y cryptcherriescon un nombre de su elección.

    sudo cryptsetup luksFormat /dev/sda3
    sudo cryptsetup luksOpen /dev/sda3 cryptcherries
    
  4. Advertencia : Notará que el luksFormatpaso se completó muy rápidamente, ya que no borra de forma segura el dispositivo de bloque subyacente. A menos que solo esté experimentando y no le importe la seguridad contra varios tipos de ataques forenses, es fundamental inicializar correctamente el nuevo contenedor LUKS antes de crear sistemas de archivos en él. Escribir ceros en el contenedor asignado hará que se escriban datos aleatorios fuertes en el dispositivo de bloque subyacente. Esto puede llevar un tiempo, por lo que es mejor usar el pvcomando para monitorear el progreso:

    ### Only for older releases, e.g. not for 19.04, `pv` is not included in the repo must be added first
    # sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
    # sudo apt-get update
    
    sudo apt-get install -y pv
    sudo sh -c 'exec pv -tprebB 16m /dev/zero >"$1"' _ /dev/mapper/cryptcherries
    

    o, si está realizando una instalación sin conexión y no puede obtener fácilmente pv:

    sudo dd if=/dev/zero of=/dev/mapper/cryptcherries bs=16M
    
  5. Dentro del contenedor LUKS montado, cree un volumen físico LVM, un grupo de volúmenes y dos volúmenes lógicos. El primer volumen lógico se montará en /, y el segundo se usará como intercambio. vgcherrieses el nombre del grupo de volúmenes, y lvcherriesrooty lvcherriesswapson los nombres de los volúmenes lógicos, puede elegir el suyo propio.

    sudo pvcreate /dev/mapper/cryptcherries
    sudo vgcreate vgcherries /dev/mapper/cryptcherries
    sudo lvcreate -n lvcherriesroot -L 7.5g vgcherries
    sudo lvcreate -n lvcherriesswap -L 1g vgcherries
    
  6. Cree sistemas de archivos para los dos volúmenes lógicos: (También puede realizar este paso directamente desde el instalador).

    sudo mkfs.ext4 /dev/mapper/vgcherries-lvcherriesroot
    sudo mkswap /dev/mapper/vgcherries-lvcherriesswap
    
  7. Sin reiniciar , instale Ubuntu usando el instalador gráfico (el acceso directo está en el escritorio en Xubuntu 18.04), eligiendo la partición manual. Asignar /a /dev/mapper/vgcherries-lvcherriesrooty /boota la partición no cifrada creado en el paso 2 (en este ejemplo, /dev/sda4).

  8. Una vez que el instalador gráfico haya finalizado, seleccione "continuar con las pruebas" y abra un terminal.

  9. Encuentre el UUID de las particiones LUKS ( /dev/sda3en este caso), lo necesitará más adelante:

    $ sudo blkid /dev/sda3
    /dev/sda3: UUID="8b80b3a7-6a33-4db3-87ce-7f126545c74af" TYPE="crypto_LUKS"
    
  10. Monte los dispositivos apropiados en las ubicaciones apropiadas /mnty realice el chroot en él:

    sudo mount /dev/mapper/vgcherries-lvcherriesroot /mnt
    sudo mount /dev/sda4 /mnt/boot
    sudo mount --bind /dev /mnt/dev
    sudo chroot /mnt
    > mount -t proc proc /proc
    > mount -t sysfs sys /sys
    > mount -t devpts devpts /dev/pts
    
  11. Cree un archivo nombrado /etc/crypttaben el entorno chrooteado para contener esta línea, reemplazando el valor de UUID con el UUID de la partición LUKS y vgcherriescon el nombre del grupo de volúmenes:

    # <target name> <source device> <key file> <options>
    cryptcherries UUID=8b80b3a7-6a33-4db3-87ce-7f126545c74af none luks,retry=1,lvm=vgcherries
    
  12. Ejecute el siguiente comando en el entorno chrooteado:

    update-initramfs -k all -c
    
  13. Reinicie y arranque en Ubuntu encriptado. Debería solicitar una contraseña.

  14. Verifique que esté utilizando la partición cifrada /ejecutando mount:

    $ mount
    /dev/mapper/vgcherries-lvcherriesroot on / type ext4 (rw,errors=remount-ro)
    /dev/sda4 on /boot type ext3 (rw)
    # rest of output cut for brevity
    
  15. Compruebe que está utilizando la partición de intercambio cifrada (no ninguna partición de intercambio no cifrada de ninguna otra instalación) ejecutando este comando:

    $ swapon -s
    Filename                              Type      Size   Used Priority
    /dev/mapper/vgcherries-lvcherriesswap partition 630780 0    -1
    
  16. Compruebe que puede arrancar en modo de recuperación, no desea saber más tarde durante una emergencia que el modo de recuperación no funciona :)

  17. Instale cualquier actualización, que probablemente reconstruya el ramdisk y actualice la configuración de grub. Reinicie y pruebe tanto el modo normal como el modo de recuperación.

Flimm
fuente
3
Puedo comprobar que en 15,04 se puede omitir los pasos 11, 13 y 14, y que, de hecho, puede ser necesario omitir estos pasos (como ejecutar update-grub de este modo hizo que mi partición de Windows para perderse.)
process91
44
@ process91 Parece que los pasos cambiaron los números. Ahora debe omitir 12, 14 y 15.
Aleksandr Dubinsky
55
Gran guía Trabajó por primera vez para Windows 10 con BitLocker y Ubuntu 16.04 omitiendo los pasos 12, 14 y 15 aquí. Noté un par de otros obstáculos que podrían ayudar con la aclaración, particularmente lo que selecciona para la partición del cargador de arranque (se instala en una partición EFI existente, pero probablemente solo puede seleccionar el disco donde está instalando Ubuntu, por ejemplo / dev / sda). Cualquier persona con permisos de editor completos puede copiar y pegar desde mi escrito: stevenmaude.co.uk/posts/…
Steven Maude
55
@unhammer solo editó la respuesta y eliminó un par de pasos, para aquellos que leen los comentarios y se confunden.
Flimm
3
El autor ya ha eliminado los viejos pasos 12,14,15. Así que NO omita ningún paso. Funciona con Ubuntu Mate 16.04.1.
user4955663
9

Es posible crear una configuración encriptada de arranque dual usando solo las herramientas GUI del Ubuntu LiveCD.

Prerrequisitos

  • Una memoria USB con el instalador de Ubuntu 19.04.
  • Si tiene una placa base EFI, asegúrese de que el disco esté utilizando la tabla de particiones GUID (GPT). El uso de un disco MBR con este método parece fallar. Puede convertir un MBR a GPT con las herramientas de Linux ( gdisk), pero primero debe hacer una copia de seguridad. Si convierte la tabla de Partición, deberá reparar el cargador de arranque de Windows después.

Ventanas

  • En la barra de inicio, escriba disk partitiony seleccione la primera opción (abrir el administrador de partición de disco desde la configuración).

  • Reduzca su partición primaria al tamaño deseado de Ubuntu (acabo de usar el predeterminado, dividiendo mi unidad de 500 GB en un sistema operativo Windows de 240 GB y 240 GB de espacio no asignado).

BIOS

  • Deshabilite el arranque seguro (si tiene bitlocker necesitará renombrarlo para arrancar de forma segura en Windows cada vez), esto está bien para mí, ya que Ubu es mi sistema operativo principal, solo use windoze para jugar.

Ubuntu LiveCD

Finalmente - Arranque en el instalador USB 19.04

  • Presiona Enterla opción predeterminada Instalar Ubuntu .

  • Cuando llegue a la pantalla que dice Borrar todo el disco y tiene algunas casillas de verificación, haga clic en la opción Algo más (partición manual). De lo contrario, perderá sus datos de Windows.

Una vez que el administrador de partición de disco cargue su disco, tendrá un gran espacio sin asignar. Haga clic en eso y presione el botón Agregar para crear particiones.

  • Primero, cree una /bootpartición de 500 MB (primaria, ext4).
  • En segundo lugar, con el resto del espacio haga un volumen encriptado. Esto creará una única partición LV. Modifíquelo para que sea la /partición raíz seleccionada .
  • Luego, el resto del proceso de instalación funcionará como de costumbre.

Cuando inicie por primera vez, inicie sesión, abra una terminal, ejecute sudo apt-get updatey sudo apt dist-upgrade, reinicie e inicie sesión nuevamente.

Se creará automáticamente un archivo de intercambio de 2 GB. Si quieres uno de 8GB, lee esta respuesta .

Falieson
fuente
44
En mayo de 2019, esta es la respuesta preferida (parece funcionar desde 2012, en realidad), no se necesita complicación en la línea de comandos. En la partición, después de crear el volumen físico para el cifrado, no vi el nuevo /dev/mapper/sdaX_crypt en la parte superior de la lista . Esta guía tiene capturas de pantalla y visualiza el formato de partición, puede ser útil: hecticgeek.com/2012/10/…
firepol
Buena respuesta, @Falieson! Pero no lo entendí durante los primeros 14 días y 17 horas de investigación que lo miré, así que creo que voy a escribir mi propia respuesta con capturas de pantalla. Ese artículo publicado por @firepol ( hecticgeek.com/2012/10/… ) fue Súper útil, y solo DESPUÉS de seguir ese artículo su respuesta tuvo algún sentido para mí.
Gabriel Staples
Además, me gustaría agregar la próxima vez que deba dejar de usar Windows Bitlocker y cambiar a VeraCrypt. Es gratis y de código abierto, sin costo, y parece funcionar muy bien con arranque dual. Mi partición de Windows lo está utilizando, así como mis discos duros externos y algunos volúmenes locales basados ​​en archivos ahora. Aquí hay un gran video de introducción a VeraCrypt: youtube.com/watch?v=C25VWAGl7Tw , y su página de descargas: veracrypt.fr/en/Downloads.html . Sin embargo, para el cifrado LUKS basado en Linux en unidades externas ext4, estoy usando la utilidad Ubuntu Disks incluida , que tiene una casilla de verificación de cifrado LUKS al formatear.
Gabriel Staples
5

Primero, señala por qué solo cifrar la partición de Linux puede no ser lo suficientemente seguro para usted:

  1. https://superuser.com/questions/1013944/encrypted-boot-in-a-luks-lvm-ubuntu-installation
  2. https://security.stackexchange.com/questions/166075/encrypting-the-boot-partition-in-a-linux-system-can-protect-from-an-evil-maid-a
  3. https://www.reddit.com/r/linux/comments/6e5qlz/benefits_of_encrypting_the_boot_partition/
  4. https://unix.stackexchange.com/questions/422860/why-should-we-encrypt-the-system-partition-and-not-only-home
  5. https://www.coolgeeks101.com/howto/infrastructure/full-disk-encryption-ubuntu-usb-detached-luks-header/
  6. https://superuser.com/questions/1324389/how-to-avoid-encrypted-boot-partition-password-prompt-in-lvm-arch-linux

Ahora, seguí este tutorial:

  1. https://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive
  2. http://web.archive.org/web/20160402040105/http://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive

En esta respuesta, presento una instalación paso a paso (con fotos) de Linux Mint 19.1 XFCEy Ubuntu 18.04.2ambos completamente encriptados en un solo disco. En primer lugar he instalado Ubuntu 14.04.2en /dev/sda5y yo no he creado las particiones de intercambio porque Linux Mint 19.1, y Ubuntu 18.04.2no los utilizan, es decir, que utilizan archivos de intercambio.

Ubuntu 18.04.2 Bionic Beaver

Primero, inserte los Ubuntumedios de instalación y reinicie la máquina en la Ubuntusesión en vivo, luego, seleccione Try Ubuntuy abra un terminal, luego

  1. sudo su -
  2. fdisk /dev/sda, luego, cree las siguientes particiones
    • ingrese la descripción de la imagen aquí
  3. cryptsetup luksFormat /dev/sda5
  4. cryptsetup luksOpen /dev/sda5 sda5_crypt
  5. pvcreate /dev/mapper/sda5_crypt
  6. vgcreate vgubuntu /dev/mapper/sda5_crypt
  7. lvcreate -L10G -n ubuntu_root vgubuntu
    • lvcreate -l 100%FREE -n ubuntu_root vgubuntu(opcional, en lugar de ejecutar lvcreate -L10G -n ubuntu_root vgubuntu, puede ejecutar esto lvcreate -l 100%FREE -n ubuntu_root vgubuntupara usar todo el espacio libre del disco, en lugar de solo 10 GB)
    • ingrese la descripción de la imagen aquí
  8. No cierre el terminal y abra el instalador de la distribución, seleccione Algo más e instálelo con
    • /dev/sda1montado como /bootpartición con ext2formato
    • /dev/mapper/vgubuntu-ubuntu_rootmontado como /con ext4formato.
    • /dev/sda como instalación del cargador de arranque
    • No marques nada más
    • ingrese la descripción de la imagen aquí
    • ingrese la descripción de la imagen aquí
  9. No reinicie, haga clic en Continuar usando Linux y seleccione el terminal abierto
  10. mkdir /mnt/newroot
  11. mount /dev/mapper/vgubuntu-ubuntu_root /mnt/newroot
  12. mount -o bind /proc /mnt/newroot/proc
  13. mount -o bind /dev /mnt/newroot/dev
  14. mount -o bind /dev/pts /mnt/newroot/dev/pts
  15. mount -o bind /sys /mnt/newroot/sys
  16. cd /mnt/newroot
  17. chroot /mnt/newroot
  18. mount /dev/sda1 /boot
  19. blkid /dev/sda5 (copie UUID sin comillas y úselo en el siguiente paso)
  20. echo sda5_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
    • ingrese la descripción de la imagen aquí
    • ingrese la descripción de la imagen aquí
    • ingrese la descripción de la imagen aquí
  21. Crea el archivo /etc/grub.d/40_custom
    • ingrese la descripción de la imagen aquí
  22. Editar /etc/default/gruby configurar
    • GRUB_TIMEOUT_STYLE=menu
    • GRUB_TIMEOUT=10
    • ingrese la descripción de la imagen aquí
  23. update-initramfs -u
  24. update-grub
    • ingrese la descripción de la imagen aquí
    • ingrese la descripción de la imagen aquí
  25. exit
  26. reboot
  27. Después de reiniciar su computadora, seleccione la opción Ubuntuy le pedirá correctamente su contraseña de cifrado
    • ingrese la descripción de la imagen aquí
  28. Después de iniciar sesión, ejecute
    • sudo apt-get update
    • sudo apt-get install gparted
  29. Y al abrir gpartedencontrarás esto
    • ingrese la descripción de la imagen aquí

Para obtener instrucciones más detalladas, lea el tutorial original señalado en la parte superior de esta pregunta o busque en google sobre el uso de estos comandos.


Linux Mint 19.1 Canela

Para las instalaciones restantes de Linux, rebootsu Ubuntumáquina, inicie con el Mint 19.1instalador (Live CD) y abra una ventana de terminal

  1. sudo su -
  2. cryptsetup luksFormat /dev/sda6
  3. cryptsetup luksOpen /dev/sda6 sda6_crypt
  4. pvcreate /dev/mapper/sda6_crypt
  5. vgcreate vgmint /dev/mapper/sda6_crypt
  6. lvcreate -L10G -n mint_root vgmint
    • lvcreate -l 100%FREE -n mint_root vgmint(opcional, en lugar de ejecutar lvcreate -L10G -n mint_root vgmint, puede ejecutar esto lvcreate -l 100%FREE -n mint_root vgmintpara usar todo el espacio libre del disco, en lugar de solo 10 GB)
    • ingrese la descripción de la imagen aquí
    • ingrese la descripción de la imagen aquí
  7. No cierre el terminal y abra el instalador de la distribución, seleccione Algo más e instálelo con
    • /dev/sda2montado como /bootpartición con ext2formato
    • /dev/mapper/vgmint-mint_rootmontado como /con ext4formato.
    • /dev/sda2como instalación del cargador de arranque (no seleccione /dev/sdacomo antes)
    • No marques nada más
    • ingrese la descripción de la imagen aquí
    • ingrese la descripción de la imagen aquí
  8. No reinicie, haga clic en Continuar usando Linux y seleccione el terminal abierto
  9. mkdir /mnt/newroot
  10. mount /dev/mapper/vgmint-mint_root /mnt/newroot
  11. mount -o bind /proc /mnt/newroot/proc
  12. mount -o bind /dev /mnt/newroot/dev
  13. mount -o bind /dev/pts /mnt/newroot/dev/pts
  14. mount -o bind /sys /mnt/newroot/sys
  15. cd /mnt/newroot
  16. chroot /mnt/newroot
  17. mount /dev/sda2 /boot
  18. blkid /dev/sda6 (copie UUID sin comillas y úselo en el siguiente paso)
  19. echo sda6_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
    • ingrese la descripción de la imagen aquí
    • ingrese la descripción de la imagen aquí
    • ingrese la descripción de la imagen aquí
  20. update-initramfs -u
  21. update-grub
    • ingrese la descripción de la imagen aquí
    • ingrese la descripción de la imagen aquí
  22. exit
  23. reboot
  24. Después de reiniciar su computadora, seleccione la opción Linux Mint on /dev/sda2
    • ingrese la descripción de la imagen aquí
  25. Luego, se iniciará correctamente Mint 19.1y solicitará la contraseña de cifrado
    • ingrese la descripción de la imagen aquí
  26. Después de iniciar sesión, ejecute
    • sudo apt-get update
    • sudo apt-get install gparted
  27. Y al abrir gpartedencontrarás esto
    • ingrese la descripción de la imagen aquí

Enlaces relacionados:

  1. ¿Cómo puedo cambiar el tamaño de una partición LVM activa?
  2. ¿Cómo puedo cambiar el tamaño de una partición LVM? (es decir, volumen físico)
  3. https://www.tecmint.com/extend-and-reduce-lvms-in-linux/
  4. Grub chainloader no funciona con Windows 8
  5. Arranque UEFI con cifrado / arranque en Ubuntu 14.04 LTS
usuario
fuente
1
Tengo 1 disco duro en mi computadora y tenía un Kubuntu 18.04 no cifrado existente. He instalado un segundo Kubuntu 18.04 encriptado cerca del primer Kubuntu no encriptado basado en esto. Ahora ambos funcionan bien en un disco duro. Gracias por la respuesta detallada
Ikrom
1
La parte sobre Linux Mint debería eliminarse de esta respuesta. Esta parte está fuera de tema, no ha sido solicitada por OP, hace que la respuesta sea innecesaria por mucho tiempo y lleva a preguntas de seguimiento fuera de tema como esta .
mook765
-1 para la parte relacionada con la menta.
user68186