La seguridad de la información es una de las tareas más importantes que debemos gestionar hoy en día ya que con las constantes amenazas tanto a nivel interno como externo la información siempre estará susceptible y vulnerable a caer en las manos erróneas.
Existen diversos métodos disponibles para proteger la información, desde alojar los datos en la nube hasta establecer reglas fuertes de Firewall pero podemos optar por métodos prácticos, fiables y con diversas opciones de seguridad. Uno de ellos es encriptar y establecer una contraseña para nuestros dispositivos y en este caso Solvetic hablará de los medios USB, que son más vulnerables para ser atacados en cualquier lugar. Para evitarlo debemos encriptar su contenido y asignamos una contraseña, solo el usuario de dicha USB tendrá acceso a ésta. Aprenderemos a usar LUKS junto a Cryptsetup para ello.
Por su parte, LUKS (Linux Unified Key Setup) es un estándar diseñado para el cifrado del disco duro en ambientes Linux. gracias a LUKS, se ofrece un formato estándar en disco que facilita la compatibilidad entre las diversas distribuciones, pero también permite una gestión segura de las contraseñas para múltiples usuarios. LUKS almacena toda la información de configuración necesaria en el encabezado de la partición, esto facilita transportar o migrar datos de una forma completa y sin problemas.
- compatible a través de la estandarización.
- seguro contra ataques de todo tipo
- Es gratuito
- soporte para múltiples claves
- permite ejecutar la revocación efectiva de la frase de contraseña y más.
LUKS está en la capacidad de administrar múltiples contraseñas, las cuales pueden ser revocadas efectivamente y están protegidas contra ataques de diccionario con PBKDF2.
1. Funciones y sintaxis de LUKS, Cryptsetup
Algunas acciones validas al usar LUKS son:
luksFormat <dispositivo> [<archivo clave>]Con este parámetro podemos añadir <opciones> como:
[--cipher, --verify-passphrase, --key-size, --key-slot, --key-file (tiene prioridad sobre el segundo argumento opcional), --keyfile-size, - uso aleatorio | --use-urandom, --uuid].
luksOpen <dispositivo> <nombre>Esta opción abre la partición LUKS <dispositivo> y configura un mapeo <nombre> después de que la verificación haya sido exitosa con la clave indicada. Con este parámetro podemos añadir <opciones> como:
[--key-file, --keyfile-size, --readonly]
luksClose <nombre>
luksSuspend <nombre>
luksAddKey <dispositivo> [<nuevo archivo clave>]Esta opción agrega un nuevo archivo de clave o frase de contraseña, para ello se debe proporcionar una frase de contraseña o archivo de clave, algunas de sus opciones son:
[--key-file, --keyfile-size, --new-keyfile-size, --key-slot]
- Eliminar la clave suministrada o el archivo de clave del dispositivo LUKS
luksRemoveKey <dispositivo> [<archivo clave>]
- Imprimir el UUID del dispositivo seleccionado
luksUUID <dispositivo>
- Volcar la información del encabezado de una partición LUKS.
luksDump <dispositivo>
cryptsetup <opciones> <acción> < argumentos>Las opciones disponibles con Cryptsetup son:
- Renombrar un mapeo existente.
remove <nombre>
- Generar el estado del mapeo.
status <nombre>
- Modificar una asignación activa.
reload <nombre>
- Redimensionar un mapeo actual.
resize <nombre>
Ahora veremos cómo instalar Cryptsetup y hacer uso de esta utilidad junto a LUKS para proteger los dispositivos USB y para ello usaremos Ubuntu 18.
2. Instalar y configurar Cryptsetup y el medio USB en Ubuntu Linux
Para la instalación de la utilidad, accedemos a la terminal y allí ejecutamos lo siguiente:
sudo apt-get install cryptsetup
Ingresamos la letra S para confirmar la descarga e instalación. Después de esto, accedemos a la utilidad de discos a través del buscador de Ubuntu 18:
Seleccionamos “Discos” y en la ventana desplegada seleccionamos el medio USB conectado al equipo:
Ahora, pulsamos sobre el icono de piñón en la parte inferior y en las opciones desplegadas seleccionamos “Formatear partición”:
Se desplegará la siguiente ventana donde debemos configurar los siguientes parámetros:
- En el campo “Borrar” podemos seleccionar si sobrescribimos o no los datos existentes.
- En el campo “Tipo” debemos seleccionar la opción “Cifrado, compatible con sistemas Linux (LUKS + Ext4)” con el fin de que se apliquen las políticas de seguridad de LUKS.
- Ingresamos y confirmamos la contraseña para la USB.
Definido esto, pulsamos e el botón “Formato” y se desplegara la siguiente advertencia:
Allí confirmamos la acción pulsando de nuevo en el botón “Formato” y veremos que se inicia el proceso de formato de la USB:
Una vez finalice este proceso, desconectamos y reconectamos de nuevo el dispositivo USB al equipo y al tratar de acceder a él se desplegará la siguiente ventana. Allí ingresamos la contraseña que hemos asignado en el proceso de formato y pulsamos en el botón “Desbloquear” para acceder al contenido del medio.
Para verificar que la USB está protegida, podremos ver un icono de candado en la esquina inferior derecha del acceso al medio:
Ahora, en el momento que deseemos modificar la contraseña de LUKS, debemos ir de nuevo a la utilidad Discos y allí pulsar en el icono de engranaje y esta vez seleccionar la opción “Cambiar frase de paso”:
Al realizar esto, en la ventana emergente ingresaremos la contraseña actual y la nueva a asignar. Pulsamos en “Cambiar” para completar el proceso. De esta forma gráfica tenemos la oportunidad de cifrar y proteger con contraseña el medio USB deseado.
3. Usar LUKS y Cryptsetup a través de consola de comandos en Ubuntu Linux
Otra de las opciones para usar estas herramientas es a través de la terminal, así, para cifrar y añadir contraseña a un dispositivo USB debemos ejecutar lo siguiente:
cryptsetup -y -v luksFormat /dev/sdb
Al pulsar Enter, debemos ingresar el termino YES para conformar la acción y establecer la respectiva contraseña:
Este comando inicializará el volumen y establecerá una clave inicial o frase de contraseña, es importante anotar que la frase de contraseña no es recuperable, ahora, ejecutamos el siguiente comando para crear una asignación:
sudo cryptsetup luksOpen /dev/sdb backup2
Allí debemos ingresar la contraseña, después de esto será posible ver el nombre de asignación /dev/mapper/backup2 cuando la verificación haya sido exitosa con el comando luksFormat, para ver estos detalles ejecutamos:
ls -l /dev/mapper/backup2
Si deseamos ver el estado del cifrado ejecutamos lo siguiente:
sudo cryptsetup -v status backup2
Allí encontramos detalles como. Si deseamos volcar los encabezados LUKS, debemos usar el siguiente comando. Allí veremos detalles mucho más profundos sobre el cifrado.
sudo cryptsetup luksDump /dev/sdb
- Tipo de cifrado
- Tamaño del cifrado
- Dispositivo seleccionado
- Tamaño
- Modo y más.
Podemos ver las diferentes opciones para proteger y cifrar un dispositivo USB en Linux y así añadir una capa más de seguridad la cual nunca sobrará.