Una breve historia
LastPass fue mi bóveda de contraseñas por casi 15 años. De verdad estaba muy contento con la conveniencia y la facilidad de uso de la aplicación. Inclusive, luego de la adquisición por LogMeIn lo seguí usando. Después, como usualmente pasa, LastPass fue atacado por un grupo de hackers. Siendo sinceros LastPass ha sido, y sigue siendo, muy transparente con los hechos.
Al principio no estaba muy preocupado, ya que, según LastPass, la brecha sufrida fue sobre un ambiente de desarrollo y no hubo datos de usuarios extraídos. Las cosas luego se tornaron para mal, sí hubo datos extraídos: los backups cifrados de las bóvedas de contraseñas. Ahora bien, las claves estaban cifradas, pero las urls de los sitios no lo están. Un adversario determinado puede descubrir la clave maestra con fuerza bruta y violar el cifrado. En este punto fue que decidí hacer el cambio a un servicio más seguro.
Primero consideré instalar un producto y administrarlo yo mismo. De las alternativas que hay en internet me gustaron Psono y Passbolt. Las características de ambos son suficientes para mí.
Me gusta esta Psono, pero creo que es demasiado para mí. No necesito todo lo que ofrece, y la interfaz gráfica necesita un poco de mejora, especialmente la experiencia de usuario.
Me gusta el “Look & Feel” de Passbolt, pero no es abierto, y la edición gratuita necesita un poco más de trabajo para ser viable. No tiene aplicaciones móviles, ya que se encuentran en el “roadmap” al momento de escribir este artículo. Además, la autenticación de doble factor va a ser ofrecida como una característica paga, que considero es una mala decisión para un producto orientado a la seguridad.
En cualquier caso, estaba dispuesto a ceder, ya que las dos opciones ofrecen cifrado de punta a punta, extensiones para los navegadores, notas, y una experiencia de usuario aceptable. Cada uno requiere como mínimo una máquina con 2 núcleos de CPU y 2 GB de memoria RAM para que funcionen correctamente. Si se hacen calculos rápidos significa pagar $168 dólares por un Droplet comparable, o ~$260 si se incluyen backups automatizados.
Para mí esto es demasiado costoso. Vivo en un país, que en el último año ha tenido un incremento de ~20% en la tasa de cambio frente al dólar estadounidense. Se espera que en el futuro esto siga así, por lo que necesitaba otra alternativa.
Bitwarden fue la que terminé usando. Es una bóveda de contraseñas abierta con paridad de características con LastPass. Tiene disponibles extensiones para los navegadores más utilizados como Chrome, Firefox y Safari; y aplicaciones móviles para Android y iOS. También tiene autenticación de doble factor para el ingreso a la bóveda y cifrado de punta a punta de todos los datos guardados.
Decidí optar por usar el servicio en la nube, que es más barato que LastPass, costando $10 dólares por año (contra $30 por LastPass, y más de $250 por “hostear” mi propia instancia). Adicionalmente, no debo preocuparme por administrar y asegurar una máquina propia.
Igualmente, si en algún momento decido administrar mi propia instancia, usando Vaultwarden puedo hacerlo. Esta es una versión más ligera del servicio completo de Bitwarden, pero que tiene la mayoría de las características implementadas, incluyendo aquellas que son pagas en el servicio en la nube. El cambio no sería tan tedioso ni complicado.
Haciendo la transición
El proceso de transición no fue tan complicado, aunque fue siempre un poco tedioso. Bitwarden soporta importar datos desde varios servicios, incluyendo LastPass.
Cómo hacerlo está explicado de manera clara en esta guía. Una nota de precaución: LastPass no exporta los adjuntos que las entradas tengan, por lo que es necesario descargarlas e importarlas manualmente en la bóveda de Bitwarden.
Este paso es realmente rápido y sencillo, ya que todas mis carpetas, notas, identidades y datos de tarjetas de crédito quedaron exactamente como estaban en LastPass. No tuve que reorganizar nada.
Ahora elimina el archivo exportado de LastPass, ya que todas tus contraseñas están guardadas en formato plano.
De LastPass Authenticator a Bitwarden Authenticator
Yo también usaba la aplicación autenticadora de LastPass, y desafortunadamente no existe un mecanismo oficial para exportar los datos de la aplicación. Sí existe una solución no oficial para regenerar los códigos QR de cada entrada ingresada en la aplicación: esto.
NOTA: Este proceso requiere de una cuenta premium de Bitwarden o de una instancia local. También es necesario que tengas un cierto nivel de confianza usando una consola de comandos.
Si estás en Windows, como es mi caso, recomiendo instalar el subsistema de Linus para Windows WSL usando los pasos descritos en esta guía. No me parece que sea muy complicado, ya que únicamente se debe ejecutar un comando en CMD o PowerShell y reiniciar.
Luego, debes instalar una distribución de Linux desde la tienda de Microsoft. Yo usé Ubuntu, que es una de las más simples de usar. Debes asignar un usuario y una contraseña en el primer ingreso.
Ahora se deben instalar los prerrequisitos de la herramienta que vamos a usar. En la consola de WSL de la distribución instalada se ejecuta el siguiente comando:
sudo apt-get install -y git python3 python3-pip
Pedirá la contraseña que creaste en el primer ingreso a WSL.
Finalmente, descargamos y ejecutamos la herramienta para exportar los datos del autenticador. Estos comandos se deben ejecutar en la misma consola de WSL:
git clone https://github.com/dmaasland/lastpass-authenticator-export
cd lastpass-authenticator-export
pip install -r requirements.txt
# Reemplaza el correo usado en LastPass e ingresa el código OTP para ingresar a la cuenta de LastPass
python lastpass-authenticator-export.py -u <your-last-pass-email> -o <last-pass-otp>
El último comando pedirá la contraseña de tu cuenta de LastPass y exportará todos los códigos en la
carpeta export
dentro de lastpass-authenticator-export
. Ahí habrá un archivo HTML que se puede
abrir con cualquier navegador.
Si estás usando WSL, la carpeta se puede abrir desde el explorador de Windows. Se debe buscar la
entrada llamada Linux
en la barra lateral izquierda, y navegar a la ruta en la que se ejecutaron
los comandos. Usualmente, será algo como Linux/Ubuntu/home/<user>/lastpass-authenticator-export
si
no cambiaste de carpeta para iniciar el export.
La página tendrá todos los códigos QR para cada una de las cuentas exportadas. Estos códigos se deben escanear con la aplicación de Bitwarden. La puedes descargar desde aquí. El proceso está explicado en la siguiente guía.
Este es el paso tedioso de la transición, ya que se debe escanear cada entrada individualmente. Tengo al rededor de 40 servicios con MFA habilitado, por lo que escanear cada código me tomo 30 minutos.
Diría que el tedio vale la pena por una razón: los códigos MFA pueden ser copiados directamente desde la extensión del navegador. No necesito tener mi teléfono a la mano cada vez que quiera ingresar a cada uno de estos sitios. Es maravilloso.
En este punto la transición está completa. En mi caso decidí eliminar completamente mi cuenta de LastPass y cambiar las contraseñas de mis servicios más usados y de los más sensibles. Tal vez no quieras hacer esto, aunque lo recomiendo.
No olvides eliminar la carpeta de export al terminar.
Instancias propias
Si quieres instalar y administrar tu propia instancia de alguno de los productos mencionados en este artículo, todos los desarrolladores tienen excelentes recursos en línea. Siendo sinceros esta sección es más para mi referencia posterior. Si decido en el futuro “hostear” alguno de estos programas. No es una guía detallada.
Vaultwarden
Para Vaultwarden el repositorio tiene muy buena documentación para instalar usando Docker, y para asegurar el despliegue.
También hay un gran árticulo que explica como instalar Vaultwarden en Google Cloud gratis. Igual es necesario contar con un dominio de internet, que no es gratis.
Psono
Psono es una solución más empresarial, por lo que su arquitectura es más compleja. El proceso de despliegue manual está aquí, pero proveen un repositorio con un proceso semi-autónomo que puede ser fácilmente modificado para ponerlo a funcionar.
Passbolt.
Passbolt también tiene excelentes instrucciones para su instalación en varios sistemas, incluyendo una aplicación en DigitalOcean, que puede ser instalada con un solo clic.