Basico - Cifrado de particiones con LUKS.docx

16
Cifrado de particiones con LUKS. Introducción. LUKS (Linux Unified Key Setup-on-disk-format) es una implementación muy sencilla de utilizar para la gestión de particiones y unidades de almacenamiento cifradas en GNU/Linux. Se recomienda su uso en dispositivos móviles, computadoras portátiles y dispositivos de almacenamiento cuya información se desee proteger en caso de extravío o robo. Las particiones o unidades de almacenamiento externo cifradas con LUKS, pueden ser utilizadas desde Windows utilizando FreeOTFE . Este documento describe los procedimientos para cifrar una partición de disco duro, asignada al punto de montaje /datos. Cabe señalar que el procedimiento hará que todos los datos de esta partición se pierdan. Si la partición contiene datos de algún tipo, se debe respaldar todo antes de proceder y verificar que el respaldo esté completo e integro, para luego restaurar estos datos después de terminar el procedimiento. Equipamiento lógico necesario. En CentOS, Fedora y Red Hat Enterprise Linux. Por lo general el paquete cryptsetup-luks viene instalado de manera predeterminada. Puede instalar el paquete correspondiente ejecutando lo siguiente: yum -y install cryptsetup-luks En openSUSE™ y SUSE™ Linux Enterprise. Por lo general el paquete cryptsetup viene instalado de manera predeterminada. Puede instalar el paquete correspondiente ejecutando lo siguiente: yast -i cryptsetup Procedimientos.

Transcript of Basico - Cifrado de particiones con LUKS.docx

Cifrado de particiones con LUKS.Introduccin.LUKS (Linux Unified Key Setup-on-disk-format) es una implementacin muy sencilla de utilizar para la gestin de particiones y unidades de almacenamiento cifradas en GNU/Linux. Se recomienda su uso en dispositivos mviles, computadoras porttiles y dispositivos de almacenamiento cuya informacin se desee proteger en caso de extravo o robo.Las particiones o unidades de almacenamiento externo cifradas con LUKS, pueden ser utilizadas desde Windows utilizando FreeOTFE.Este documento describe los procedimientos para cifrar una particin de disco duro, asignada al punto de montaje /datos. Cabe sealar que el procedimiento har que todos los datos de esta particin se pierdan. Si la particin contiene datos de algn tipo, se debe respaldar todo antes de proceder y verificar que el respaldo est completo e integro, para luego restaurar estos datos despus de terminar el procedimiento.Equipamiento lgico necesario.En CentOS, Fedora y Red Hat Enterprise Linux.Por lo general el paquete cryptsetup-luks viene instalado de manera predeterminada. Puede instalar el paquete correspondiente ejecutando lo siguiente:yum -y install cryptsetup-luks

En openSUSE y SUSE Linux Enterprise.Por lo general el paquete cryptsetup viene instalado de manera predeterminada. Puede instalar el paquete correspondiente ejecutando lo siguiente:yast -i cryptsetup

Procedimientos.A fin de evitar contratiempos, conviene realizar todos los procedimientos desde el nivel de ejecucin 1 (mono usuario). Como root ejecute:init 1

Antes de proceder, es muy importante cerciorarse de qu dispositivo se va a utilizar para el procedimiento. De ser necesario y s acaso estuviese montada, ejecute df para determinar que dispositivo corresponde a la particin que se desea cifrar.df -h

Respalde todos los datos de la particin que necesite cifrar. Copie o mueva, los datos hacia otro dispositivo de almacenamiento. El procedimiento eliminar, de manera inevitable, todo el contenido actual de dicha particin.mkdir -p /var/respaldo/datos/tar cpf /var/respaldo/datos.tar /datos/

Antes de continuar ser una buena idea que verifique y compruebe que el respaldo es confiable.Cifrado de una particin existente en CentOS, Fedora y Red Hat Enterprise Linux.El algoritmo de ciframiento utilizado de modo predeterminado por LUKS es aes-cbc-essiv:sha256 y el tamao de la firma es de 256 bits. El algoritmo de ciframiento utilizado por Anaconda el programa de instalacin de CentOS, Fedofra;trade; y Red Hat Enterprise Linux para LUKS es aes-xts-plain64 y el tamao de la firma es de 512 bits es decir se utilizan las opciones --cipher con el valor aes-xts-plain64:sha512 y --key-size con el valor 512.Salvo que se realice el procedimiento desde la instalacin del sistema operativo donde slo se requiere habilitar la casilla de Cifrar particin estas distribuciones carecen de una herramienta para hacer el procedimiento fcil. Es necesario hacer uso del intrprete de mandatos.Una vez hecho el respaldo y que haya verificado que el respaldo es confiable, desmonte la particin que se pretende cifrar:umount /datos

El siguiente paso es opcional, pero se recomienda llevarlo a cabo, pues mejora el cifrado al llenar previamente la particin con datos aleatorios. Debe tomarse en consideracin que &mdahs;dependiendo del tamao de la particin sto puede demorar varias horas o incluso das.dd if=/dev/urandom of=/dev/sdaX bs=4096

La particin a utilizar se debe preparar ejecutando cryptsetup, con las opciones --verbose (para obtener una salida ms descriptiva en caso de problemas), --verify-passphase (para asignar una frase de acceso o bien una contrasea), luksFormat para dar formato en LUKS y el nombre del dispositivo.cryptsetup --verbose --verify-passphrase luksFormat /dev/sdaX

Lo anterior requerir responder explcitamente con YES, en maysculas, que se desea proceder y que se est consciente que se perdern todos los datos actuales de la particin. A continuacin, se pulsa la tecla ENTER y se ingresa la nueva frase o bien la nueva contrasea, que se pretenda asignar.Una vez realizado lo anterior y para poder hacer uso de la nueva particin cifrada, ejecute cryptsetup con la opcin luksOpen, indicando el dispositivo que corresponde a la particin que se acaba de cifrar y el nombre que se quiera asignar a sta en el planificador de dispositivos (device mapper). cryptsetup luksOpen /dev/sdaX datos

Lo anterior crea un nuevo dispositivo denominado /dev/mapper/datos.Para que el sistema operativo pueda utilizarlo, este nuevo dispositivo requiere ser formateado. En el siguiente ejemplo se da formato en ext4 a /dev/mapper/datos:mkfs.ext4 /dev/mapper/datos

A fin de que el sistema solicite automticamente la frase de acceso o bien la contrasea, al volver iniciar el sistema, se crea o edita el archivo /etc/crypttab:vim /etc/crypttab

Dentro de ste se define en el primer campo el nombre que se quiera utilizar para el planificador de dispositivos (device mapper), en el segundo campo se define el nombre del dispositivo que se cifr y en el tercer campo se define none. De manera opcional, aunque poco recomendado, se puede especificar la frase de acceso o bien la contrasea o bien un archivo que contenga sta, en lugar de none para que el sistema inicie sin necesidad de que el administrador ingrese la frase de acceso o bien la contrasea.datos/dev/sdaXnone

Edite el archivo /etc/fstab:vim /etc/fstab

Aada lo siguiente o bien se reemplaza el nombre del dispositivo anterior (UUID=xxxxxxxxxxxx, /dev/sdaX o LABEL=/datos, dependiendo de la versin del sistema operativo) como /dev/mapper/datos para que el sistema operativo utilice automticamente el dispositivo con el siguiente reinicio:/dev/mapper/datos /datos ext4 defaults,noatime,nodiratime 1 2

Ejecute lo siguiente para montar la particin cifrada:mount /datos

Restaure los datos que respald previamente.tar xvf /var/respaldo/datos.tar -C /

Restaure los atributos y contextos de SELinux del directorio involucrado.restorecon -R /datos

Desmonte la particin:umount /datos

Desconecte el dispositivo ejecutando cryptsetup, con la opcin luksClose y el nombre del dispositivo, de acuerdo a como lo vea el planificador de dispositivos:cryptsetup luksClose /dev/mapper/datos

El archivo initramfs de ALDOS, CentOS, Fedora y Red Hat Enterprise Linux ya incluye los mdulos para cifrado con LUKS y el mapa de dispositivos. Si lo considera pertinente o bien porque el sistema est utilizando un archivo initramfs distinto al que originalmente vena con el paquete kernel, puede regenerar la imagen de disco RAM que utiliza el ncleo del sistema para cargar los controladores necesarios, ejecutando dracut con la opcin -f para forzar la operacin y el archivo del archivo initramfs correspondiente como argumento, la versin del ncleo utilizado, la opcin -a para aadir mdulos de dracut y los nombres de los mdulos dm y crypt como argumentos. El siguiente ejemplo detecta automticamente el nombre del archivo initramfs y la versin del ncleo que corresponda:dracut -f /boot/initramfs-`uname -r`.img `uname -r` -a dm crypt

Reinicie el sistema. En adelante, para poder iniciar el sistema y as acceder a la particin cifrada, se solicitar la contrasea o frase de acceso definida durante el procedimiento.Cifrado de una particin existente en openSUSE y SUSE Linux Enterprise.El algoritmo de ciframiento utilizado de modo predeterminado por LUKS es aes-cbc-essiv:sha256 y el tamao de la firma es de 256 bits. Realice un respaldo de toda la informacin contenida en la particin que se quiera cifrar. Recuerde que el procedimiento requiere destruir toda la informacin existente en dicha particin.Ejecute yast con disk como argumento para utilizar el mdulo de YaST para gestin de discos y particiones.

El sistema le advertir que slo se debe utilizar este mdulo de YaST si se entiende perfectamente el concepto de particiones. Responda Yes o Si. Slo siga las siguientes instrucciones. El ejemplo descrito a continuacin considera que se tiene una particin /dev/sdb1 y que actualmente se utiliza con el directorio /datos como punto de montaje.Use la tecla TAB hasta seleccionar la particin que requiera cifrar.

Pulse la tecla ENTER. Aparecer un resumen informativo de la particin seleccionada. Seleccione Edit o Editar.

Aparecern las opciones que se pueden aplicar a la particin.

Seleccione las casillas de las opciones Format partition (o bien Formatear particin) y Encrypt partition (o bien Cifrar particin).

Use la tecla TAB hasta seleccionar Next o Siguiente y pulse la tecla ENTER.

Utilice la tecla TAB y defina una buena contrasea con confirmacin. Recuerde que si olvida o extrava esta contrasea, la informacin ser irrecuperable. Al terminar, utilice la tecla TAB para seleccionar Finish o Finalizar y pulse la tecla ENTER.

Regresar a la pantalla con el resumen de la particin seleccionada. Use la tecla TAB para seleccionar Next o Siguiente y pulse la tecla ENTER.

Se mostrar una pantalla con el resumen de los procedimientos que realizar YaST. Use la tecla TAB para seleccionar Finish o Finalizar y pulse la tecla ENTER o bien slo pulse la tecla F10.

El sistema realizar todos los procedimientos y cambios necesarios en el sistema indicando el avance de stos con barras de progreso.

Al terminar, YaST finalizar y lo devolver al intrprete de mandatos.

YaST se encarga de generar automticamente la imagen de disco RAM utilizada por el ncleo del sistema para cargar los controladores necesarios y a fin de aadir el soporte necesario para gestor de dispositivos.Reinicie el sistema ejecutando reboot:

Se har una pausa con un dilogo para solicitar la contrasea necesaria para poder desbloquear el dispositivo cifrado cuando inicie de nuevo el sistema.

El sistema deber continuar el inicio de manera normal luego de ingresar la contrasea.Restaure los datos correspondientes a partir del respaldo que debi realizar previamente.Cifrado de una unidad de almacenamiento externo USB.El procedimiento asume que ya se ha realizado un respaldo de los datos de la unidad de almacenamiento externo USB, pues el procedimiento implica la destruccin de los datos existentes en sta.Conecte el dispositivo USB y ejecute dmesg del siguiente modo para determinar que particin que corresponda al dispositivo.dmesg |grep sd

Lo anterior debe devolver algo similar a lo siguiente.[ 1368.902764] sd 6:0:0:0: Attached scsi generic sg2 type 0[ 1368.904999] sd 6:0:0:0: [sdb] 4122624 512-byte logical blocks: (2.11 GB/1.96 GiB)[ 1368.906562] sd 6:0:0:0: [sdb] Write Protect is off[ 1368.906572] sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00[ 1368.907176] sd 6:0:0:0: [sdb] No Caching mode page present[ 1368.907183] sd 6:0:0:0: [sdb] Assuming drive cache: write through[ 1368.910295] sd 6:0:0:0: [sdb] No Caching mode page present[ 1368.910303] sd 6:0:0:0: [sdb] Assuming drive cache: write through[ 1369.174678] sdb: sdb1[ 1369.182877] sd 6:0:0:0: [sdb] No Caching mode page present[ 1369.182886] sd 6:0:0:0: [sdb] Assuming drive cache: write through[ 1369.182892] sd 6:0:0:0: [sdb] Attached SCSI removable disk

Si el sistema realiz el montaje automtico de la unidad de almacenamiento externo, determine el punto de montaje y dispositivo asignado ejecutando df sin argumentos.df

Asumiendo que el sistema asign el directorio /media/MI-USB como punto de montaje, desmonte la unidad ejecutando lo siguiente:umount /media/MI-USB

Asumiendo que la particin de la unidad de almacenamiento externo corresponde al dispositivo /dev/sdb1, ejecute cryptsetup, con las opciones --verbose (para obtener una salida ms descriptiva en caso de problemas), --verify-passphase (para asignar una frase de acceso o bien una contrasea), luksFormat para dar formato en LUKS y el nombre del dispositivo.cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb1

Lo anterior requerir responder explcitamente con YES, en maysculas, que se desea proceder y que se est consciente que se perdern todos los datos actuales de la particin. A continuacin, se pulsa la tecla ENTER y se ingresa la nueva frase o bien la nueva contrasea, que se pretenda asignar.Una vez realizado lo anterior, para poder hacer uso de la nueva particin cifrada en la unidad de almacenamiento externo USB, ejecute cryptsetup con la opcinluksOpen, indicando el dispositivo que corresponde a la particin que se acaba de cifrar y el nombre que se quiera asignar a sta en el planificador de dispositivos (device mapper). cryptsetup luksOpen /dev/sdb1 MI-USB

Lo anterior crea un nuevo dispositivo denominado /dev/mapper/MI-USB.Para que el sistema operativo pueda utilizarlo, este nuevo dispositivo requiere un formato que pueda ser utilizado en cualquier sistema operativo. En el siguiente ejemplo se da formato en FAT32 a /dev/mapper/MI-USB:mkfs.vfat /dev/mapper/MI-USB

Monte la particin de la unidad de almacenamiento externo en /media/MI-USB:mkdir /media/MI-USBmount /dev/mapper/MI-USB /media/MI-USB

Restaure o copie los datos que requiera utilizar en esta unidad de almacenamiento.Desmonte la unidad. umount /media/MI-USB

Desconecte el dispositivo cifrado:cryptsetup luksClose /dev/mapper/MI-USB

Para utilizar en lo sucesivo la unidad de almacenamiento externo USB desde modo terminal, sin escritorio activo, se sigue el siguiente procedimiento:mkdir /mnt/mi-usbcryptsetup luksOpen /dev/sdb1 mi-usbmount /dev/mapper/mi-usb /mnt/mi-usb

Para utilizar la unidad de almacenamiento externo USB cifrada con LUKS desde el escritorio de GNOME o KDE, se inserta sta en cualquier puerto USB, dejando que el administrador de archivos se encargue de gestionar lo necesario y mostrar el dialogo para ingresar la clave o frase de acceso necesaria.Para utilizar la unidad de almacenamiento externo USB cifrada con LUKS desde el escritorio Windows, slo hay que instalar FreeOTFE, insertar la unidad a cualquier puerto USB, permitiendo que FreeOTFE se encargue de gestionar lo necesario y mostrar el dialogo para ingresar la clave o frase de acceso necesaria. Sin FreeOTFE, Windows solo vera una unidad de almacenamiento externo USB sin formato, mostrando un dialogo para dar formato a sta.