Arch Linux es una buena distribución Rolling Release que puede llegar a ser algo compleja de usar correctamente en un principio pero acaba enamorando si te gusta estar en la última versión disponible de software y tener un cierto control añadido del sistema operativo ya que una gran parte de las tareas se han de realizar de forma manual mediante comandos.
La instalación de este sistema GNU/Linux se realiza por comandos, lo cual no impide que cifremos las particiones que vamos a usar para instalar la distribución aunque estos pasos se compliquen solo un poco respecto al instalador gráfico de otras distribuciones.
Tendremos que particionar mediante comandos y luego crear el volumen cifrado para las particiones que necesitemos, añadirlo posteriormente al fstab para que sea detectado y decir al gestor de arranque GRUB que estamos arrancando desde particiones cifradas.
En esta guía pretendemos explicar los pasos que más difieren de una instalación normal ya que este proceso no es para principiante y se recomienda saber instalar arch Linux normalmente (sin cifrar particiones) y tener ciertas nociones de GNU/Linux y sus comandos básicos o más comunes.
Instalar Arch Linux Cifrado
Particionar
Mostraremos las particiones y discos duros que disponesmo en el equipo
fdisk -l
Comenzar particionado con “cgdisk” donde tenemos que especificar el disco duro junto a este comando:
cgdisk /dev/sdx
En este ejemplo usaremos este esquema de particionado:
- BOOT: /dev/sda1
- Raíz cifrada: /dev/sda2
- Home cifrada: /dev/sda3
Lo que estamos haciendo es crear 3 particiones donde BOOT será el arranque sin cifrar, Raíz contendrá todo el sistema operativo y estará cifrada, por último home contendrá el directorio de usuarios y también estará cifrada.
Crear Cifrado
Ahora vamos a cifrar las particiones que hemos creado anteriormente con cgdisk. Ciframos los volúmenes (las claves se pueden modificar más tarde, podemos añadir 8 claves simultaneas)
cryptsetup luksFormat /dev/sda2
cryptsetup luksFormat /dev/sda3
Por cada comando nos pedirá confirmar escribiendo la palabra “YES” en mayúsculas, acto seguido nos pedirá la clave y volverla a introducir para verificarla.
Una vez que se han cifrado las particiones vamos abrirlas para poder acceder a su contenido y seguir trabajando con ellas.
Para abrirlas especificamos con –type que es una partición cifrada con luks y también le decimos cual es el dispositivo /dev/sdX y por último el punto de montaje con el que será conocido en el sistema. Para la particion root en este caso, será conocida posteriormente como /dev/mapper/root puesto que así interpreta a los dispositivos cifrados.
Abrimos los volúmenes e introducimos la clave:
cryptsetup open –type luks /dev/sda2 root
cryptsetup open –type luks /dev/sda3 home
Formatear
Vamos a formatear las particiones pero aquí deberéis utilizar un poco la lógica ya que si habéis utilizado otro esquema de particionado distinto o simplemente vuestras particiones cifradas tienen otro nombre (se puede comprobar con fdisk -l) tenéis que adaptarlo a vuestra situación.
También dejo como formatear la swap en las dos últimas líneas a continuación pero no está contemplada la swap en este tutorial.
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/mapper/root
mkfs.ext4 /dev/mapper/home
mkswap /dev/mapper/swap
swapon /dev/mapper/swap
Montar particiones en orden dentro de /mnt
Llegó el momento de montar las particiones haciéndolas accesibles pero esto implica tener un orden que no tiene que ser estrictamente como el siguiente pero si contempla tener que montar la raíz /dev/mapper/root en nuestro caso, en primer lugar.
Las particiones que no existan las vamos a crear como en el ejemplo siguiente hago con boot y home utilizando el comando mkdir antes de montarla.
mount /dev/mapper/root /mnt
mkdir /mnt/home
mount /dev/mapper/home /mnt/home
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
Instalar el sistema Base
Aseguraos de tener internet para este punto porque la instalación base de Arch Linux necesitará descargar cierta cantidad de paquetes para poder llenar nuestro sistema dentro de /mnt con los archivos correspondientes a esta distribución.
pacstrap /mnt base base-devel
Una vez concluido este paso ya tenemos el sistema instalado, aunque aún no podemos arrancar desde el y deberemos realizar algunas configuraciones antes.
Establecer discos cifrados en el archivo crypttab
En el archivo crypttab encontramos información de los discos cifrados que tengamos en el equipo, aunque viene vacío por defecto y debemos rellenarlos manualmente nosotros.
Tranquilo que no es demasiado complicado.
Lo primero será editar el siguiente archivo /mnt/etc/crypttab
nano /mnt/etc/crypttab
El formato será en este orden:
NOMBRE_MONTAJE DISCO_DURO CLAVE CIFRADO
Quedaría algo similar a la siguiente tabla cambiando vuestra UUID o dispositivo como /dev/sda2 por ejemplo que también valdría:
root UUID=46a94984c-44b1-4c6b-44ac-1a844422e8fae none luks
home UUID=0e19223d-53d1-426a-82ef-2ea2222af2be none luks
Al poner en clave “none” haremos que nos pregunte la contraseña. También podemos aquí introducir un archivo de clave en nuestro disco duro para todas las particiones menos la raíz “/” que es donde se almacenarán y esta es la única que tendremos que escribir a mano.
Por ahora la dejaremos así aún teniendo que escribir dos contraseñas al inicio.
Preparar fstab con discos cifrados
Autogenerar el fstab:
genfstab -U /mnt > /mnt/etc/fstab
Entrar al fstab y comprobar que está correcto y muestra en este caso las 3 particiones, si no es así debes rellenarla manualmente quedando algo parecido a esto:
#/dev/mapper/root
UUID=46a94984c-44b1-4c6b-44ac-1a844422e8fae rw,realtime,data=ordered 0 1
#/dev/mapper/home
UUID=0e19223d-53d1-426a-82ef-2ea2222af2be rw,realtime,data=ordered 0 2
#/dev/mapper/root
UUID=8e19273d-53d1-426a-87ef-2ea2772af7be rw,realtime,data=ordered 0 2
Nos enjaulamos dentro de /mnt
Al enjaularnos todo lo que ejecutamos se realizará como si estuviésemos dentro del sistema y /mnt será la raíz, por lo tanto cuando pongamos “/” se referirá a “/mnt/ para salir de este modo escribimos “exit” y para entrar:
arch-chroot /mnt
GRUB, el paso que puede generar más problemas con cifrados
Instalamos en el sistema los paquetes de grub:
pacman -S grub os-prober
Editamos el archivo /etc/default/grub
nano /etc/default/grub
Introducimos donde pone GRUB_CMDLINE_LINUX=”” lo cambiamos por:
GRUB_CMDLINE_LINUX=”cryptdevice=/dev/sda2:root”
Estando atento a si a la partición raíz la hemos llamado de otra forma, en este caso es “root”
Tenemos que hacer que GRUB nos pida la contraseña para descifrar los discos y continuar con la carga del sistema operativo. Así habilitaremos la apertura del sistema cifrado desde GRUB:
Editamos el archivo /etc/mkinitcpio.conf
nano /etc/mkinitcpio.conf
Y dentro metemos en “HOOKS” la siguiente entrada después de block como se ve en la imagen siguiente:
Por último generamos archivos de configuración e instalamos el GRUB:
mkinitcpio -p linux
grub-install –recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
Descargar manual: Instalar Arch Linux con particiones cifradas
También está disponible esta guía desde un repositorio de nuestro colaborador Fryntiz el cual puedes descargar del siguiente enlace: