Resultados 1 al 4 de 4

Particiones cifradas con dm-crypt

  1. #1 Particiones cifradas con dm-crypt 
    HH Administrator Avatar de LUK
    Fecha de ingreso
    Oct 2001
    Ubicación
    SpaÑa
    Mensajes
    5.284
    Descargas
    223
    Uploads
    250
    En este artículo veremos cómo crear particiones cifradas en un sistema linux 2.6 que se pueden utilizar como área de intercambio (swap) o para alojar cualquier sistema de ficheros soportado por el kernel

    Introducción

    El nuevo kernel 2.6 incorpora soporte para particiones encriptadas mediante el mecanismo 'dm-crypt' desarrollado por Christophe Sauot. El nuevo modelo aprovecha la flexibilidad del código que se incluyó en el kernel con el fin de gestionar discos RAID y volúmenes lógicos para sustituir al antiguo 'cryptoloop', que por diferentes razones se podría considerar obsoleto antes incluso de haber sido terminado.

    Configuración del kernel e instalación de herramientas necesarias

    Necesitaremos un kernel 2.6.4 final o superior.

    Utilizando nuestro script de configuración favorito (config, menuconfig, xconfig o gconfig) deberemos entrar en la sección 'Device Drivers' -> 'Multi-device support (RAID and LVM)' y activar soporte para las opciones 'device-mapper' y 'dm-crypt'. Podemos compilarlas estáticamente en el kernel o bien configurarlo para que se carguen como módulos.

    También deberemos entrar en la sección 'Cryptographic options' y habilitar el soporte para los algoritmos que pretendamos utilizar, por ejemplo, AES, que es una muy buena opción.

    Tendremos que instalar la librería de espacio de usuario 'libdevmapper' y la utilidad de configuración 'dmsetup' (en Debian se instalan ambas con un 'apt-get install dmsetup', en Gentoo con 'emerge dmsetup', etc...), y un pequeño script que utiliza estas herramientas para facilitar la creación de los volúmenes encriptados llamado 'cryptsetup' (disponible también como paquete en las versiones más recientes de muchas distribuciones).

    Creación y formato de las particiones cifradas

    El subsistema 'device-mapper' del kernel, en el que se apoya 'dm-crypt', utiliza un dispositivo de bloque existente (por ej, /dev/hda3) como 'back-end' sobre el que se crea un nuevo dispositivo de bloque 'virtual'. Los accesos a este dispositivo 'virtual' se canalizan a través de los algoritmos de cifrado pertinentes antes de realizar las operaciones físicas en el dispositivo 'back-end'.

    Por ello, primero deberemos tener las particiones que actuarán de 'back-end' creadas.

    Área de intercambio cifrada

    Podemos utilizar la partición de intercambio existente en nuestro sistema como dispositivo de soporte para la partición de intercambio cifrada. Supongamos que se trata de /dev/hda3.

    Primero desactivaremos la partición de intercambio con el siguiente comando:


    Código:
    # swapoff /dev/hda3

    Si hemos compilado el soporte para 'device-mapper' como módulo, deberemos cargarlo manualmente:


    Código:
    # modprobe dm_mod

    Los demás módulos se cargan automáticamente bajo demanda. En caso de haber compilado el soporte directamente en el kernel, no será necesario este paso.

    A continuación utilizamos el script 'cryptsetup' para configurar el volumen lógico cifrado de la siguiente forma:


    Código:
    # cryptsetup -d /dev/random create cryptswap /dev/hda3

    La opción '-d' especifica un fichero del que leer la clave a utilizar. Utilizamos una clave aleatoria ya que no necesitaremos acceder a los datos presentes en la partición de intercambio tras un reinicio del sistema, y supone un nivel de seguridad añadido.

    Ahora deberíamos disponer de nuestro volumen lógico en /dev/mapper/cryptswap. Podemos utilizarlo como si se tratara de una partición en un disco normal y corriente. Así que lo preparamos para utilizarlo como partición de intercambio.


    Código:
    # mkswap /dev/mapper/cryptswap

    Y, finalmente...


    Código:
    # swapon /dev/mapper/cryptswap

    Partición de datos cifrada

    Supongamos que disponemos de la partición /dev/hda4 para utilizar como 'back-end'. Perderemos todo el contenido de dicha partición, por lo que resultaría conveniente copiar su contenido a algún otro sitio, caso de no disponer de una partición vacía.


    Código:
    # cryptsetup create cryptpart /dev/hda4

    Nos solicitará la contraseña con la que queremos cifrar el contenido. En este caso, al tratarse de una partición que contendrá datos, sería de agradecer poder acceder a esos datos tras un reinicio del sistema, para lo cual sería muy conveniente recordar la contraseña.

    Ahora podemos formatear el dispositivo virtual con nuestro sistemas de ficheros preferido. (Nota: si la partición contenía datos, es justo ahora cuando los vamos a destruir).


    Código:
    # mke2fs -j /dev/mapper/cryptpart

    Finalmente podemos montarlo...


    Código:
    # mkdir /crypto
    # mount /dev/mapper/cryptpart /crypto

    y utilizarlo como cualquier otro sistema de ficheros (ext3, en este caso).

    Persistencia

    Si ahora reiniciáramos el sistema, y al margen de que los scripts de inicio nos indicarían un error al intentar activar la partición de intercambio en /dev/hda3 y montar /dev/hda4 (si es que se encuentran referidas en /etc/fstab), tendríamos que repetir casi todos los pasos anteriores para acceder a las particiones.

    En concreto, salvo el comando 'swapoff /dev/hda3' (ya que no ha podido ser activada), y el comando 'mke2fs -j /dev/mapper/cryptpart' (que reformatearía la partición con nuestros preciados datos), deberíamos repetir todo el proceso, incluyendo el formato de la partición de intercambio, ya que utilizamos una clave aleatoria y no se conservaría la firma que la indentifica como tal.

    Podríamos crearnos nuestros propios scripts para automatizar el proceso, pero afortunadamente, las distribuciones principales están incorporando a sus scripts de inicio soporte para estos dispositivos.

    Por ejemplo, Debian proporciona un script de inicio en /etc/init.d/cryptdisks y un fichero de configuración en /etc/crypttab para facilitar la gestión de particiones cifradas.

    En nuestro caso añadimos las siguientes líneas al fichero:


    Código:
    cryptswap	/dev/hda3	/dev/random	swap
    cryptpart	/dev/hda4

    Y alteraremos el fichero /etc/fstab para que acceda a las particiones virtuales añadiendo (o sustituyendo donde corresponda) las siguientes líneas:


    Código:
    /dev/mapper/cryptswap	none		swap	sw		0 0
    /dev/mapper/cryptpart	/crypto		ext3	defaults	0 0

    Finalmente debemos activar el soporte para particiones cifradas durante el arranque, editando el fichero /etc/default/cryptdisks:


    Código:
    CRYPTDISKS_ENABLE=Yes

    Esto provocará que durante el arranque, después de comprobar las particiones, pero antes de montarlas, evaluará el fichero /etc/crypttab, solicitando la contraseña para la partición de datos. Si se introduce mal la contraseña, no dará error en ese momento, sino al intentar montar la partición, ya que no encontrará un sistema de ficheros válido.

    Los que hayan compilado el soporte como módulos deberán, además, añadir el módulo 'dm_mod' al fichero /etc/modules, para que se cargue automáticamente durante el arranque.

    Conclusiones

    Si bien el mecanismo se puede considerar completamente funcional a nivel de kernel, todavía falta trabajo por realizar por parte de las distribuciones para hacer más transparente esta funcionalidad al usuario, aunque vemos que ya empiezan a incorporar un soporte básico.

    Para aquellos preocupados por el rendimiento de un sistema de ficheros sobre un volumen lógico cifrado cabe indicar que se está empleando el mismo mecanismo subyacente desde hace tiempo para implementar el soporte para RAID y volúmenes lógicos genéricos en servidores de alto rendimiento. Considerando además que la velocidad de las operaciones dentro del microprocesador superan por varios órdenes de magnitud a las tasas de transferencia de las unidades de disco más veloces, podemos confiar en que la capa de cifrado no será el cuello de botella en cuanto al rendimiento del sistema de ficheros.

    Enlaces relacionados

    Página oficial de dm-crypt
    http://www.saout.de/misc/dm-crypt

    FUENTE: Robota.net (Roberto Sierra Cabrera)
    [][][] LUK [][][]
    hackhispano.com
    Citar  
     

  2. #2  
    Moderador Global
    Fecha de ingreso
    Aug 2005
    Mensajes
    6.279
    Descargas
    7
    Uploads
    0
    Buenísimo, sí señor

    Gracias LUK

    Salu2


    Keep on Rollin'

    . . . . . . . . . . . . . . . . . . . .
    [[ NORMAS DEL FORO ]]
    . . . . . . . . . . . . . . . . . . . .
    __________
    Citar  
     

  3. #3  
    Iniciado
    Fecha de ingreso
    Nov 2009
    Mensajes
    22
    Descargas
    0
    Uploads
    0
    Hola esto es un tema que me interesa, pero tengo un poblema no me lo monta automatico cuando insecto un pendrive, y eso configurando el fstab y el crypttab, que no lo puedo poner ahora por que no tengo tiempo, a mi me gusta poner mi algoritmo de cifrado como ejemplo el blowfish, hay un comando que ahora no me acuero donde podrias ver todos los algoritmos de cfrado que podrias elegiar, crypsetup --verbose --cipher=blowfish luksFormat /dev/sdb hay un tema que no me gusta, es que según el formato de cryptsetup en su head deja información de encriptado, (aunque no la pueden ver su contenido sin la clave) pero se sabrá que algo se esta ocultando, en eso me gusta más con el cryptoloop que no contiene head y parece que los datos son aleatorios, por ahora yo sigo encryptandolo con el cryptoloop aunque se considera obsoleto, gracias y un salu2.
    Citar  
     

  4. #4  
    Avanzado
    Fecha de ingreso
    Jan 2010
    Mensajes
    813
    Descargas
    1
    Uploads
    0
    Te has pasado tres años.
    Citar  
     

Temas similares

  1. Respuestas: 1
    Último mensaje: 04-10-2013, 20:38
  2. Existe algún ataque para particiones cifradas???
    Por desevensa en el foro LINUX - MAC - OTROS
    Respuestas: 4
    Último mensaje: 22-06-2011, 04:05
  3. Respuestas: 0
    Último mensaje: 29-12-2010, 16:04
  4. vista y particiones
    Por kronos85 en el foro WINDOWS
    Respuestas: 5
    Último mensaje: 04-04-2007, 19:37
  5. Problema con particiones
    Por The_chacal en el foro LINUX - MAC - OTROS
    Respuestas: 5
    Último mensaje: 19-01-2004, 20:20

Marcadores

Marcadores