Guardar contraseñas de forma segura con KeePassXC

Escrito por picodotdev el , actualizado el .
blog-stack gnu-linux planeta-codigo planeta-linux
Comentarios

KeePassXC

La mayor parte de servicios usan aún como forma de autenticación el método de usuario y contraseña. Si la contraseña proporcionada conocida solo por su usuario es correcta el sistema confía en que el usuario es quien dice ser. Las contraseñas deberían ser difíciles de averiguar, se recomienda que tenga una longitud mínima de 8 caracteres y que contenga letras en minúscula y mayúscula, números y símbolos. Sin embargo, cuanto más larga, fuerte y difícil sea de averiguar más difícil es recordarla.

Además, es muy recomendable utilizar una contraseña distinta en cada servicio para evitar que descubierta la contraseña por un fallo de seguridad en cualquiera en los que se use pueda accederse a todos los otros servicios que utilice ese usuario, por lo que el número de contraseñas a recordar son numerosas. Muchos usuarios terminan usando la misma contraseña en varios servicios con el riesgo que conlleva. Dado que recordar una contraseña única fuerte para cada servicio es difícil y mantenerlas guardadas en un archivo de texto o en un papel no es lo más recomendable se puede usar un programa que las almacene cifradas de forma segura.

Uno de estos programas es KeePass, básicamente es una base de datos de contraseñas que se almacenan de forma segura y cifrada y protegidas por una contraseña maestra o para mayor seguridad con un archivo a modo de contraseña maestra. La información básica que se puede guardar es el nombre del servicio y su URL, el usuario en ese servicio y la contraseña. Se pueden agrupar y buscarlas con un campo que va encontrando las coincidencias a medida que se escribe.

En realidad de KeePass hay varias implementaciones, la original es KeePass implementada en C# y el framework .NET. Para evitar el framework .NET y hacarla multiplataforma se reimplementó con C++ y las librerías Qt, la nueva versión se denominó KeePassX. Sin embargo, el desarrollo de KeePassX es lento y no incopora las mejoras que algunos usuarios proponían de modo que decidieron hacer un nuevo fork dando lugar KeePassXC.

Instalado el paquete de KeePassXC de nuestra distribución GNU/Linux o el binario para nuestro sistema operativo lo primero que deberemos hacer es crear una base de datos que protegeremos con una contraseña maestra, se puede guardar la base de datos en un archivo en cualquier ubicación.

Lo siguiente será crear una entrada con el usuario y contraseña de un servicio.

Una vez almacenada la credencial se puede copiar al portapapeles el usuario y contraseña para usarlas en la página de autenticación del servicio con unos botones en la parte superior a tal efecto. También se puede ver la contraseña no protegida con asteriscos sino los caracteres originales. Otra funcionalidad muy útil es la de realizar autoescritura que automatiza el introducir el usuario y contraseña en la página que solicita autenticación. Normalmente consiste en escribir la contraseña en un campo de entrada, pulsar la tecla tabulador para cambiar al campo de entrada de la contraseña, introducir la contraseña y pulsar la tecla return. Con KeePassXC se puede realizar todo esto con un par de pulsaciones de ratón.

KeePassXC es una herramienta que no tiene más complejidad, podemos asociar alguna información más a la credencial con atributos adicionales y archivos adjuntos pero no es imprescindible. Por supuesto, tiene un generador de contraseñas muy útil con el que obtener contraseñas únicas para cada servicio con las propiedades de seguridad que se requiera en cuanto a longitud, caracteres especiales, mayúsculas, minúsculas y números.

Si somos nosotros los que implementamos un servicio con el método de autenticación de usuario y contraseña deberíamos almacenar las contraseñas de forma segura usando «password salted hasing».

Otras formas de guardar las contraseñas es en un archivo cifrado con GPG que desciframos cuando queramos usar alguna contraseña o en un sistema de archivos cifrado como con EncFS que lo montamos para acceder a archivo de texto con las contraseñas. StrongPassowrdGenerator en una página web con la que podemos generar contraseñas usando estas mismas preferencias desde el navegador.