password-store (pass) es un ingenioso sistema que se apoya en GPG y...

Cada persona en la organización tiene su par de claves criptográficas GPG:
— La clave pública la subes a un repo git y los demás se la bajan y la instalan en su llavero.
— La clave privada la guardas cuidadosamente en tu equipo, cifrada con una passphrase (una contraseña larga) que aprendes de memoria y no escribes jamás en ningún sitio. Solo existe en tu cerebro.
Cada secreto reside en un fichero cifrado. Pueden ser credenciales de texto, certificados digitales, la tarjeta de coordenadas del banco, una foto de la tarjeta de crédito…
Los ficheros cifrados descansan en una estructura de directorios. pass los cifra y descifra automáticamente para las personas autorizadas en cada directorio. El proceso es transparente para el usuario.
Por ejemplo, en /administracion estaban las nóminas de la plantilla, y solo dos personas tenían acceso. En /proyectos había credenciales y secretos accesibles a los desarrolladors. En /fulanito residían los secretos de Fulanito (que nadie salvo él conocía ni podía conocer).
El árbol completo es un repositorio git. Por lo tanto está bajo control de versiones y toda la empresa tiene una copia actualizada. Está respaldado y hay control de cambios. Si alguien edita o borra una contraseña, hay una trazabilidad y el cambio se puede revertir.
— Si un actor malicioso gana acceso al repositorio, no puede descifrar los secretos porque no tiene las claves privadas.
— Si un actor malicioso gana acceso a la clave privada de un trabajador, no puede descifrar los secretos porque no tiene la passphrase.
Cuando un trabajador abandonaba la empresa sabíamos perfectamente a qué credenciales había tenido acceso. Las cambiábamos, quitábamos su clave GPG y recifrábamos el almacén.
Escribí para mis compañeros una política de contraseñas. Que, básicamente, decía «usa siempre un generador aleatorio (pwgen -sy 15)» y, para la elección de la passphrase, mostraba esta mítica tira de xkcd:
En la empresa teníamos medidas adicionales de ciberseguridad, pero a grandes rasgos así gestionamos durante una década y de forma segura un almacén grande de secretos, con control de cambios y una asignación granular de permisos de acceso. Esto estaba integrado en el Sistema de Gestión de la Calidad de la empresa. ¡Venían empresas más grandes a que se lo contáramos!
Parece complicado —y técnicamente lo es— pero en el día a día son dos comandos simples que utilizaban hasta los administrativos y becarios.
Ya entonces había servicios comerciales como 1Password o LastPass, pero yo soy bastante paranoico con la ciberseguridad y siempre me opuse a externalizar datos y servicios críticos. No hizo falta.
x.com/jordi_wp/statu…

