Guardar contraseñas de forma segura con KeePassXC
Escrito por
el , actualizado el .
gnu-linux
planeta-codigo
Enlace permanente
Comentarios
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 hacerla 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 incorpora las mejoras que algunos usuarios proponían de modo que decidieron hacer un nuevo fork dando lugar KeePassXC.
KeePassXC es una aplicación de escritorio gestor de contraseñas que tiene las funcionalidades adicionales de un generador de contraseñas seguras, la posibilidad de realizar la funcionalidad de authenticator para activar la verificación en dos pasos en servicios que lo ofrecen como Google, Amazon o PayPal. También guarda un historial de las contraseñas antiguas usadas para cada servicio que permite recuperar una contraseñas antigua en caso de ser necesario o por algún error al hacer el cambio de contraseña.
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 «Salted Password Hashing» e implementar un segundo factor de autenticación en una aplicación web Java con Spring.
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. Strong Password Generator en una página web con la que podemos generar contraseñas usando estas mismas preferencias desde el navegador.