KeePass hace difícil lo que debería ser fácil
Hace ya tiempo que quería fortalecer un poco la seguridad de mis cuentas en internet. Las contraseñas, invivibles pero insustituibles, han sido siempre la base de estos sistemas, y como en muchos otros casos mis prácticas en materia de contraseñas son muy, muy mejorables. Para algunas cosas utilizo contraseñas fuertes y distintas, y desde luego trato de hacer uso de verificación en dos pasos para todos los servicios que puedo, pero hace poco ya se vio que lo de usar SMSs para estos sistemas 2FA no es especialmente seguro.
Total, que estaba decidido a aprovechar alguno de los servicios que permiten generar y gestionar contraseñas seguras para todo tipo de servicios web, plataformas y dispositivos. Antes de ir con alguna comercial y más popular -1password y LastPass son las opciones claras aquí- he querido darle una opción a una alternativa Open Source que muchos conoceréis: KeePass.


KeePass teóricamente ofrece muchas de las prestaciones de los servicios de pago. El problema, como en lo demás, es que esa base de datos -la que creas con tus contraseñas para todo tipo de cosas-no se puede sincronizar de buenas a primeras. No puedes usar KeePass en tu equipo con Windows 10 y luego esperar que en tu dispositivo Android esa base de datos pueda importarse y luego utilizarla en tu navegador.
No de forma sencilla.
Yo lo intenté en modo friqui. Tengo disponible un VPS basado en CentOS 6.8, así que tras leer un poco parecía que Syncthing podía ser una buena opción para solventar la parte de la sincronización. Instalaría KeePass 2 en mi equipo con Windows 10, y luego instalaría Syncthing en ese equipo, en el VPS y en mi móvil Android. En el móvil Android utilizaría algún cliente tipo KeePass2Android y todo debería ir sobre ruedas: al crear nuevas entradas con nuevas contraseñas todo iría sincronizándose y tendría contraseñas seguras para todo tipo de servicios web.
Ja.
Resulta que no hay forma sencilla de que Syncthing funcione como un servicio (rollo daemon, siempre en segundo plano) en CentOS 6.8. Eso de depender aún de sysvinit y no haber pasado a systemd no parece gustar a esta aplicación: no tenía acceso al sencillo systemctl que controla todo este tipo de servicios en segundo plano, y tenía que intentarlo con un chkconfig que necesita de scripts bash para ir pudiendo iniciar, detener o reiniciar servicios. En sistemas Debian/Ubuntu me podría animar a intentarlo, pero mi experiencia con CentOS es más limitada. Los scripts para chkconfig que encontraba por ahí para Syncthing -hay uno para las Raspberry Pi, cómo no- no pirulaban en CentOS, claro -Raspbian al poder- así que me tuve que ir a otras opciones. Me comentaron en el foro de soporte oficial que quizás runit podría ser una solución, pero tras toquetear un poco me acabé asustando: aquello de sustituir init con runit era demasiado para mí, así que desistí de usar soluciones Open Source por todos lados y acudí a la alternativa: tirar de Dropbox en lugar de Syncthing para sincronizar.

En blogs como este lo dejaban todo clarito, así que me lancé al tema, y tras seguir esos pasos efectivamente la cosa funciona, pero de forma bastante incómoda y compleja. Hay que utilizar un pequeño plugin llamado KeePassHTTP (¿para qué descargar todo el directorio cuando solo necesitas el fichero KeePassHttp.plgx?) para que por ejemplo las contraseñas se sincronicen con Chrome a través de la extensión ChromeIPass, algo que logré siguiendo este otro tutorial, pero como digo el proceso es demasiado áspero. No apto para novatos, eso seguro. Así, a bote pronto, mis dudas de usabilidad:
- Hay que añadir entradas a mano: al principio no acababa de entender esto. Para usar KeePass -y supongo que otras alternativas- no haces uso del navegador, sino de KeePass. Lo que quiero decir con esto es que si quieres que KeePass te gestione una nueva cuenta en Gmail -por ejemplo- tienes que crear una nueva entrada en KeePass. Allí tienes que rellenar nombre de la entrada, usuario y contraseña, que eso sí, te genera KeePass con un montón de opciones de lo más potentes para que esa contraseña sea de las chungas de verdad, y sea éste programa el que te la recuerde cuando la necesites. Nadie podrá acceder a esa y otras contraseñas a no ser que tenga tu contraseña maestra, que debe ser súpersegura, súper recordable y súperprivada. El generador de contraseñas de XKCD es una buena alternativa en mi caso, pero aquí cada cual tiene su truco del almendruco.
- ¿Qué pasa con mis viejas contraseñas?: corregidme si me equivoco, pero estos programas no te "obligan" a cambiar las contraseñas. Tienes que ir tú servicio por servicio cambiándolas y añadiendo la entrada en KeePass. Eso resulta ser un tostón infernal, pero entiendo que es un mal necesario para dejarlo todo bien preparadito. Al final es acostumbrarse a ese proceso de actualización de todas tus cuentas, aunque muchas de ellas, las menos utilizadas, probablemente acaben sin ser gestionadas por estos gestores y las dejes sin tocar, con sus viejas contraseñas guardadas en el navegador, por no molestarte.
- El auto rellenado es difícil de configurar: con extensiones como la citada ChromeIPass para Chrome puedes ir activando que al ir a un nuevo sitio web se te autorellene el usuario y la contraseña, pero la forma de hacerlo no es intuitiva. ¿Debo seguir guardando las contraseñas en Chrome? No, evidentemente (digo yo, ¿no?). ¿Tengo que estar saltando desde KeePass a Chrome para hacerlo? Bueno, al principio sí, al menos en escritorio. Parece que luego la cosa se suaviza y autorellena cuando has creado la entrada correctamente -poner bien la URL donde está el login, por ejemplo, es crítico: no es lo mismo xxx.com/login.php que xxx.com a secas, aquí se trata de probar lo que funciona- pero yo sigo encontrándome con dudas en este sentido.
- Usar KeePass en Android es una tortura: he tardado 5 minutos en lograr autorellenar el usuario y contraseña en el primer sitio web que había probado para configurar en KeePass. Tras instalar KeePass2Android y sincronizarlo con la base de datos que está en mi cuenta de Dropbox la cosa no iba porque tenía que guardar primero la sesión en KeePass para que la base de datos efectivamente recogiese todos los cambios (¿no hay autoguardado?). Una vez hecho eso, tenía que activar el teclado de KeePass2Android, activarlo también en opciones de accesibilidad, y atención, hacer uso de la opción "Compartir en..." como si quisiera enviar la URL por WhatsApp, para luego seleccionar KeePass2Android para poder rellenar esos datose ir copiando el usuario -súper raro-, pegándolo en el campo usuario como si fuese un teclado normal, y lo mismo con la contraseña. Un maldito infierno, porque el autorelleno, al menos en mi caso, no funciona.
- No me fío de Dropbox: en realidad ni de ellos ni de ningún otro servicio de almacenamiento de ficheros online en el que tengas datos sensibles. No me gusta nada que mis datos más importantes dependan de un tercero que a saber lo que puede hacer con ellos. A eso se suma el hecho de que caídas en sus servidores pueden afectarme, y tampoco sé dónde estará Dropbox -o Google Drive, o One Drive- dentro de 5 o 10 años. Por eso no guardo fotos en estos servicios, entre otras cosas.
- ¿Funcionará en mi dispositivo/navegador?: he probado en Chrome y luego también en Opera en Android y ha funcionado, pero no estoy seguro de que esto funcione en todas las plataformas y tampoco de que lo haga igual en unas y otras. La usabilidad es tan mala que uno tiene la sensación de que es mejor usar ciertas combinaciones -Windows y Android con Chrome- por si las moscas para que todo vaya bien. ¿Y si me gusta Firefox, u Opera, u otro navegador? Puede que tengas suerte -en Firefox de escritorio hay extensión similar a ChromeIPass, por ejemplo- pero puede que no. A saber. Miedito.
- ¿Por qué Chrome, Firefox u Opera no tienen algo así?: me parece increíble que a estas alturas los navegadores no implementen algún tipo de mecanismo similar al de estos gestores de forma nativa. Bien por guardar las contraseñas, pero no hacerlo con una maestra y no permitir generarlas de forma sencilla de serie me parece un error fatal. Para mí que un navegador hiciera algo así de forma directa probablemente me convencería de usar ese navegador en lugar de otro... si estuviese bien resuelto.
La primera hora con KeePass ha sido muy, muy decepcionante. Demasiadas cosas que configurar, demasiadas dependencias externas y demasiadas interacciones que hacen que la usabilidad sea una verdadera basura. Si alguno ha utilizado KeePass y tiene ideas, sugerencias o correcciones -seguro que algo estoy haciendo mal- que comente, por favor (si añadís enlaces a artículos explicativos, mejor que mejor).

Supongo que cosas como LastPass funcionarán de forma mucho más intuitiva -¿alguien me puede confirmar esto?-, pero la verdad, no sé si quiero probar y dejarme 12 dólares para luego darme cuenta de que la curva de aprendizaje es igualmente alta. Me da la sensación de que luego la cosa mejora y una vez tienes configurados todos los servicios todo va mejor, pero tendré que ir probando un poco más.
Si todo va como parece, no obstante, me temo que volveré a mis viejas -e inseguras- contraseñas. Que alguien me robe la de Reddit no sería tanta tragedia, pero me quedo con una sensación de decepción total con esto. Gestionar tus contraseñas no debería ser tan difícil.
Si os ha gustado el artículo, quizás queráis aportar (Atención: los 0,50 euros son solo una referencia, podéis modificar la cantidad antes de dar a “Siguiente”). ¡Gracias!
