Instalar Arch Linux con disco duro Cifrado

Instalar Arch Linux Cifrado

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

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

Crypttab en arch cifrado

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

Fstab para Arch Linux cifrado

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”
Grub para abrir partición cifrada

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:
Mkinitcpio arch linux descifrar partición disco duro al arrancar

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:

Instalar Distribuciones Linux

Raúl Caro Pastorino

Informático, técnico en sistemas, redes, baja tensión (electricidad) y desarrollador de aplicaciones WEB. Soy un apasionado por GNU/LINUX y el software libre en general desde prácticamente el año 2001-2003 que comencé. Intento usar y trabajar siempre con código libre o abierto de forma profesional. Me apasiona la programación, la micro-electrónica, el diseño gráfico y edición multimedia. Fan de Raspberry y arduino. Programo en bash, python, php y javascript principalmente. Repositorios de código con git: https://gitlab.com/fryntiz https://github.com/fryntiz

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.