Español English

Thursday, 30 September 2010

Como cifrar el disco duro en Arch Linux

En este post voy a explicar como se realiza el cifrado(no encriptado, eso es meter a una persona en un cripta) de un disco duro en Arch Linux.

Para esto vamos a necesitar:

  • El LVM(Logical Volume Manager --> Administrador de volúmenes lógicos)
En mi caso voy a instalar en un partición un sistema operativo de la família Windows y en la otra partición voy a utilizar el LVM de Linux. Tengo un disco duro de 250GB, las particiones van a quedar de la siguiente forma:

  • /dev/sda1 50GB para el Windows.
  • /dev/sda2 150MB para el BOOT
  • /dev/sda3 200GB para el LVM.

Cifrado:

El primer paso para que se realice un buen cifrado del disco duro es llenarlo de información aleatoria para ellos usamos el siguiente comando:


dd if=/dev/urandom of=/dev/sda


Esto puede llevar un buen rato ,dependiendo del tamaño de nuestro disco duro. Ahora vamos a preparar el disco duro para que esté cifrado. Para ello primero cargamos el módulo del kernel para el cifrado:


modprobe dm-crypt


Ahora una vez hemos cargado el módulo pasamos a realizar el cifrado de la patición /dev/sda3:


cryptsetup -c aes-lrw-benbi -y -s 384 luksFormat /dev/sda3


Nos pedira que introduzcamos 2 veces la clave de cifrado. Una vez hemos esto empezará a cifrar el disco duro.

LVM:

Ahora debemos acceder a la partición cifrada esto lo hacemos con la siguiente sentencia:


cryptsetup luksOpen /dev/sda3 lvm


Una vez hecho esto ya tenemos preparado nuestra partición cifrada ahora debemos utilizar el LVM para crear nuestras particiones dentro de la partición cifrada. El primer paso es crear un volúmen lógico a partir de un volúmen físico esto se hace con la sentencia:


lvm pvcreate /dev/mapper/lvm
lvm vgcreate vgroup /dev/mapper/lvm


También lo hemos añadido al grupo vgroup. Ahora creamos las particiones lógicas, en mi caso he creado un partición para el root("/"), otra para el swap y una última para el home("/home"). Para realizar todas estas acciones ejecutamos las siguientes sentencias:


lvm lvcreate -L 20GB -n root vgroup
lvm lvcreate -L 1GB -n swap vgroup
lvm lvcreate -l 100%FREE -n home vgroup


Instalación Arch Linux:

Una vez hecho esto ya podemos proceder a la instalación de Arch Linux. La instalación se realizará como siempre a excepción de un par de momentos los cuales voy a explicar:

En el momento en que estamos preparando el disco duro para la instalación (Prepare Hard Drive -> Set Filesystem Mountpoints) debemos marcar /dev/sda2(BOOT en mi caso) para la instalación del boot. Otra cosa a tener en cuenta es que el root("/") lo debemos instalar en /dev/mapper/vgroup-root y así con todas nuestras particiones cifradas. Podéis darles el formato que queráis en mi caso los he formateado con ext4.

Una vez hecho esto instalamos el sistema de forma normal hasta llegar al punto en que podemos modificar los ficheros de configuración del sistema. Debemos modificar los siguientes ficheros: "/etc/rc.conf", "/etc/mkinitcpio.conf" y "/boot/grub/menu.lst".

/etc/rc.conf
Buscamos USELVM="no" y lo cambiamos por USELVM="yes".

/etc/mkinitcpio.conf
Buscamos la línea:

HOOKS="base udev autodetect pata scsi sata filesystems"

Y la cambiamos por:

HOOKS=”base udev autodetect pata scsi sata keymap encrypt lvm2 filesystems”

Los elementos escritos en HOOKS deben estar en éste mismo orden.

/boot/grub/menu.lst
Debemos dejar los arranques de Arch linux como el siguiente:

# (0) Arch Linux
title Arch Linux
root (hd0,0)
kernel /vmlinuz26 root=/dev/mapper/vgroup-root cryptdevice=/dev/sda3:vgroup ro
initrd /kernel26.img

# (1) Arch Linux
title Arch Linux Fallback
root (hd0,0)
kernel /vmlinuz26 root=/dev/mapper/vgroup-root cryptdevice=/dev/sda3:vgroup ro
initrd /kernel26-fallback.img


Una vez hemos esto todos estos cambios en los ficheros de configuración seguimos con la parte final de la instalación del sistema. Debemos recordar instalar el booloader en el disco /dev/sda.

Si habéis llegado hasta aquí: ¡Felicidades! Ya tenéis vuestro Arch Linux instalado sobre un disco duro cifrado. Ahora sólo debemos reiniciar el ordenador y entrar en Arch Linux. Veremos que al principio de la carga nos pide que insertemos la contraseña que hemos utilizado para realizar el cifrado del disco duro.

Bueno hasta aquí éste post. Como siempre si tenéis dudas, preguntas o alguna sugerencias, no lo dudéis escribid un comentario.

Un saludo y hasta pronto.

3 comments:

  1. ¡Hola!
    Si nos remitimos a los diccionarios, no vamos a encontrar que "encriptar" sea meter una persona dentro de una cripta sino que no está contemplada, en cambio, aparece "criptografía": Arte de escribir con clave secreta o de un modo enigmático. Y viene del griego criptós, oculto y grafía, estudio. De manera que es el estudio de escritos en clave u ocultos.
    Y cifrar, Transcribir en guarismos, letras o símbolos, de acuerdo con una clave, un mensaje cuyo contenido se quiere ocultar.
    Por lo que yo entiendo que ambas acepciones son correctas, en definitiva, si vamos a los nombres en que vienen los programas en inglés tenemos "TrueCrypt" como ejemplo.
    Por otro lado la palabra crypta -en latín- viene del griego κρύπτη.
    Espero que no incomode mi OT pero me ha resultado molesto que las veces en que consulté por esta acción de cifrar o encriptar datos me hicieran esta corrección semántica.
    Por otro lado debo confesar que aun no pude cargar la parte gráfica en Arch, me taré. :(

    ReplyDelete
  2. ¡Hola charly!

    Primero de todo las OT no me incomodan siempre y cuando se hayan realizado como tu lo has hecho: Dando datos y razonando las cosas. Si es una crítica constructiva sobre algún contenido del blog tampoco me incomodo. Si sólo es criticar por criticar (no es tu caso) me molestaria.

    Bueno en primer lugar me estaba refiriendo a la acción de cifrar algo, que si vamos a las definiciones que has aportado (cifrar, criptografia) son ambas correctas. En eso estoy totalmente de acuerdo.

    La "broma" viene de que como bien has dicho encriptar no está en el diccionario pero hay muchas gente que lo usa como sinónimo de las dos anteriores. Esto se debe a una "traducción libre", como bien has comentado tu también, del inglés.

    Y para finalizar. La definición de cripta según la RAE es: Lugar subterráneo en que se acostumbraba enterrar a los muertos. Entonces basandome en ésto y que por ejemplo de tierra se enterria, hice la "broma".

    Siento si te ha sentado mal. Pero solamente lo había puesto para romper un poco el hielo y que sonriéseis un poco al principio de la entrada ;)

    NOTA: Si estas atascado en la carga del apartado gráfico comenta los problemas que tienes en las entrada de éste mismo blog que hacen referencia a éso y trataremos entre todos de buscarle una solución.

    Un saludo.

    ReplyDelete
  3. HOLA SEÑOR FORNER!!SOY YO, LA MUERTE!xD
    Segur que llegiras si t'escric açò asi, soc Juanky, per a fer el cifrat en una distribució que no sigue Arch, cambiarien moltes coses?esque he googlejat un poc i no trobo res...
    Gràcies!

    ReplyDelete