Pages

Ads 468x60px

viernes, 9 de enero de 2015

Cifrar particiones Linux con LUKS (centOS)


Si no has cifrado tus unidades al instalar el sistema operativo, con LUKS puedes hacerlo a posteriori. LUKS es un programa que permite cifrar tus discos bajo sistemas Linux (aunque también hay versión para Windows, llamada FreeOTFE) y que especifica un formato estándar.
Es otro medio más para "hardenizar" nuestros equipos o servidores.

Esta vez, voy a usarlo en CentOS 6.5 en lugar de hacerlo en Debian como venía haciendo en entradas anteriores.

LUKS viene por defecto instalado en centOS 6.5, pero si quieres instalarlo, ya sabes:


     yum -y install cryptsetup-luks

Para evitar problemas, vamos a realizar todos los pasos con el nivel de ejecución 1. Así que accedemos como root y:

     init 1

Lo que nos reinicia el equipo y nos da acceso al modo mono-usuario.




Lo primero es ver que partición tenemos para cifrar, usamos df -h.




Antes de nada, recordar que lo que vamos a hacer nos eliminará todos los datos que hubiese en la partición. Si el disco o partición está montado, hay que desmontarlo antes de comenzar.

     umount /dev/sdb

Lo siguiente que haremos es rellenar la partición con datos aleatorios, de esa manera mejoraremos el cifrado. Lo que si, debemos tener en cuenta que cuanto mayor sea el disco, más tiempo tomará este proceso (este paso no es obligatorio).

     dd if=/dev/urandom of=/dev/sdb bs=4096

Ahora preparamos la partición con los siguientes modificadores:

     cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb

Usamos --verbose para que nos de la mayor información posible, así en caso de error, sabremos por donde seguir. --verify-passphrase para poder asignarle una contraseña y luksFormat para darle el formato en LUKS.




Nos pregunta que si estamos seguros y para contestar habrá que poner YES (en mayúsculas). Además y como lo habíamos establecido, nos pide una contraseña.

Hecho esto, debemos usar la opción luksOpen para poder usar la partición que hemos cifrado. Esto nos creará un dispositivo nuevo /dev/mapper/data.

     cryptsetup luksOpen /dev/sdb data





Como vemos en la imagen nos pide la contraseña que acabamos de crear.

Formateamos la partición con un formato ext4 para empezar a utilizarla con:

     mkfs.ext4 /dev/mapper/data





Lo siguiente que vamos a realizar es hacer que el sistema nos pida automaticamente la contraseña al iniciar el sistema, para ello editamos el archivo cryptab.

     vi /etc/crypttab

Y lo dejamos como aparece en la siguiente imagen.





También editamos el archivo fstab. Añadimos la última linea para que al reiniciar ya se pueda usar el disco.

     vi /etc/fstab




  • Creamos una carpeta llamada data con mkdir /data
  • Montamos el disco con mount /dev/data /data/. 
  • Usamos df -h para ver los discos.
  • Comprobamos que todo esté bien con cd /data/ y haciendo un ls -l.


  • Comprobamos también el estado con cryptosetup -v status /dev/mapper/data.

En esta imagen se puede ver que está activo y en uso.

  • Desmontamos el volumen con umount /data y lo cerramos con cryptosetup luksClose /dev/mapper/data.
  • Para volver a montarlo usamos de nuevo mount /dev/mapper/data /data/. Nos pedirá la contraseña y ya estará montado. 


Por ultimo, para reiniciar y arrancar CentOS escribimos exit y habremos terminado. Al acceder al sistema nos aparece el disco.





Si como usuario (y a pesar de estar en el fichero sudoers con permisos de administrador) intentase acceder, vería lo siguiente.





Ni siquiera podría acceder por consola xD.





Roberto García (@1GbDeInfo)

Creative Commons Licence
1Gb De informacion by Roberto García Amoriz is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Based on a work at http://www.1gbdeinformacion.com/.
Permissions beyond the scope of this license may be available at http://www.1gbdeinformacion.com/.

Perfil profesional en Linkedin

 
Blogger Templates