Instalación cifrada

Por favor, tenga en cuenta que hay algunas cosas que tiene que tener presentes al usar esta guía para cifrar la partición root o las de datos. Son las siguientes:

Ejemplos de cifrado:

Cifrado en grupos LVM

Este ejemplo usa encriptación en un volumen LVM para permitirle dividir su home desde / y tener una partición swap sin necesidad de múltiples passwords y es aplicable a partir de aptosid-2010-03-apate y posteriores.

Antes de ejecutar el instalador debe preparar el sistema de ficheros que va a ser usado para la instalación. Para las directrices básicas de partición LVM, vea Administrador de Volúmenes Lógicos - partición en LVM.

Necesitará al menos un sistema de ficheros /boot sin cifrar y otro / encriptado y también crear unos sistemas /home y swap cifrados.

  1. Si no desea usar un grupo de volúmenes LVM existente, cree un grupo de volúmenes LVM normal. Este ejemplo dará por supuesto que el grupo de volúmenes es llamado vg para guardar su arranque y sus datos encriptados.
  2. Necesitará un volumen lógico para /boot y los datos cifrados, así que use lvcreate para crear los volúmenes lógicos en el grupo de volúmenes vg con los tamaños que desee:
    lvcreate -n boot --size 250m vg
    lvcreate -n crypt --size 300g vg
    
    En este caso ha dado el nombre de boot y crypt a los volúmens lógicos y los ha hecho de 250Mb y 300Gb respectivamente.
  3. Cree el sistema de ficheros para /boot a fin de que esté disponible para el instalador:
    mkfs.ext4 /dev/mapper/vg-boot
    
  4. Use cryptsetup para cifrar vg-crypt usando la opción rápida xts con la clave más fuerte de 512 bit de longitud y a continuación ábralo. Le preguntará dos veces por su contraseña para establecerla y una tercera vez para abrirlo. Ábralo aquí bajo cryptopts en el tiempo de arranque por defecto con el nombre objetivo de cryptroot:
    cryptsetup --verify-passphrase --cipher aes-xts-plain:sha512 luksFormat /dev/mapper/vg-crypt
    
    cryptsetup luksOpen /dev/mapper/vg-crypt cryptroot
    
  5. Ahora utilice lvm en el disco encriptado para crear un segundo grupo de volumen que se usará para los directorios /swap y /home. Dé la orden pvcreate a cryptroot para hacer un volumen físico y usarlo con vgcreate para crear otro gupo de volumen, al que llamaremos cryptvg:
    pvcreate /dev/mapper/cryptroot
    vgcreate cryptvg /dev/mapper/cryptroot
    
  6. A continuación use lvcreate con el grupo de volumen recién cifrado cryptvg para crear los volúmenes lógicos / , /swap y /home con los tamaños que prefiera:
    lvcreate -n swap --size 2g cryptvg
    lvcreate -n root --size 40g cryptvg
    lvcreate -n home --size 80g cryptvg
    
    Ha dado el nombre de swap, root y home a los volúmenes lógicos y los ha hecho de 2Gb, 40Gb y 80Gb respectivamente.
  7. Cree el sistema de ficheros para cryptvg-swap, cryptvg-root y cryptvg-home para que estén disponibles para el instalador:
    mkswap /dev/mapper/cryptvg-swap
    mkfs.ext4 /dev/mapper/cryptvg-root
    mkfs.ext4 /dev/mapper/cryptvg-home
    
  8. Ahora ya está listo para ejecutar el instalador en el que debe utilizar:
    vg-boot para /boot,
    cryptvg-root para /,
    cryptvg-home para /home,
    y cryptvg-swap para swap debería ser reconocido automágicamente.

El sistema instalado debe terminar con una línea de comandos del núcleo que incluya las opciones siguientes:

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

Ahora usted tiene crypt y boot bajo el grupo de volumen vg lvm y root, home y swap en el grupo de volumen vgcrypt lvm el cual está dentro de su dispositivo cifrado y protegido por contraseña.

Nota: Si se vuelve a instalar un volumen lvm previamente encriptado, el instalador necesitará saber que está cifrado:

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

Notas para crypt con los métodos de partición tradicionales.

Lo primero que tiene que decidir es cómo quiere diseñar su disco. Necesitará como mínimo 2 particiones, una normal para su /boot y otra partición para los datos cifrados.

Dando por supuesto que usted necesita swap (que también estaría cifrado) necesitará una tercera partición y tendrá que entrar la contraseña para swap separadamente durante el arranque (así que se encontrará con dos peticiones de claves).

Es posible usar claves para swap desde el sistema encriptado con la partición tradicional, si bien no podrá suspender el disco. Por causa de este problema, la mejor opción a largo término es usar volúmenes LVM con particiones y claves totalmente cifradas.

Supuestos esenciales:

Ahora que ya tiene hechas las particiones, necesitará preparar las particiones cifradas para que puedan ser reconocidas por el instalador.

Si ha estado usando un programa GUI para hacer las particiones, ciérrelo y abra una terminal, ya que las órdenes de encriptación tienen que ser dadas desde la línea de comando.

La partición /boot

Haga que la partición /boot sea ext4, si es que ya no lo es:

/sbin/mkfs.ext4 /dev/sda1
Partición swap cifrada

Para el swap encriptado necesitará primero dar formato y abrir el dispositivo en bruto, /dev/sda2, como un dispositivo cifrado, igual que el dispositivo vg-crypt arriba mencionado pero abriéndolo con un nombre distinto, 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
    

Dé formado al recién creado /dev/mapper/swap para que pueda ser reconocido por el instalador:

/sbin/mkswap /dev/mapper/swap
Partición cifrada /

Para el directorio raíz / cifrado primero necesita formatear y abrir el dispositivo en bruto, /dev/sda3, como un dispositivo cifrado, igual que el dispositivo vg-crypt arriba mencionado.

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

Dé formato al creado /dev/mapper/cryptroot para que se muestre al instalador:

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

Abra el instalador

Ahora ya está listo para ejecutar el instalador en el que debe utilizar:
sda1 para /boot
cryptroot para / y /home
swap debería ser automágicamente reconocido.

El sistema instalado debe terminar con una línea de comandos del núcleo que incluya las opciones siguientes: (aunque se usará su UUID):

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

Ahora tiene /boot en una partición normal, un swap protegido por clave juntamente con un directorio raiz y /home cifrados.

Fuentes y recursos:

Lectura obligada:

man cryptsetup

LUKS.

Redhat y Fedora .

Proteja sus cosas con particiones Linux cifradas.

KVM cómo usar imágenes cifradas.

aptosid wiki.

Page last revised 06/09/2011 0920 UTC