miércoles, 11 de enero de 2017

Controla tu Keepass desde Powershell. PSKeePass

Estimados amigos de Inseguros !!!

Desde el comienzo de Internet hemos lidiado con el problema del usuario y la contraseña. Creo que poco más se puede aportar al respecto. Todos los días lidiamos con esta gestión.

Al parecer, una de las alternativas más empleadas es el usar un repositorio "seguro" de contraseñas, y usar contraseñas tan complejas para el atacante como para el usuario, lo que requiere de usar estos gestores de contraseñas como apoyo en nuestra administración diaria. Yo soy uno de esos.

A todos mis amigos y clientes les recomiendo KeePass. Una aplicación gratuita que te permite organizar tus contraseñas, para uso personal o para toda una empresa. La dinámica es muy sencilla, dejamos al gestor que cree una contraseña de 20 caracteres con dígitos, caracteres y todo tipo de premisas de seguridad, que NUNCA te acordarás, y que deberás hacer copy/paste para usarla. Aunque aún los hay reticentes, la mayoría emplean este técnica, ya sabes, un poco decrece la funcionalidad pero aumenta mucho la seguridad.

Bien, después de todo este rollo que ya sabías, viene la gracia. Podemos usar una API que nos proporcionan los desarrollodores, y una fantástica librería de funciones en powershell del señor JKDBA y su proyecto PSKeePass.

Es tannn fácil. Importas el módulo desde la Powershell Gallery. Creas una conexión al fichero, proporcionandole una key, que puede estar en USB, en un directorio protegido o cualquier que sea tu técnica de autenticación contra keepass, incluida la clave, o la integración con Active Directory.

Una vez que tienes la conexión abierta, le pides datos o los introduces. Ejemplo oficial

Aquí algún ejemplo.



Ahora cuando hagas un deploy de una máquina virtual, puedes usar tu librería para que tu KeePass genere una contraseña fuerte, la uses en powershell, y te olvides documentar el añadido. Por supuesto también lo podemos hacer al revés, leer el dato de contraseña de un campo almacenado en KeePass, MUY interesante, tenemos un "ldap" de andar por casa xD.

Las posibilidades que se me ocurren sin infinitas. Según tengas configurados registros en KeePass, podrías hacer un script para conectarse a tus sistemas favoritos: Wordpress, ERP, Mail y lo que te permita administración remota por comando o POST/REST... y unificar el proceso de cambio de contraseña con el proceso de registro, y todo con datos automáticos.

Puedes sincronizar tu base de datos Mysql con registros en KeePass y almacenar al menos el hash, porque usas el hash verdad? resetear el password desde KeePass y que se sincronice en ...

Gran trabajo de este desarrollador. Por supuesto, las medidas de seguridad para fortificar el fichero key deben ser extremadamente concienzudas, igual que cuando confiamos en la seguridad por contraseña, esta debe ser muy segura. Estamos poniendo toda la seguridad de nuestras cuentas bajo un mecanismo de seguridad ( lo mejor es usar una key en usb + clave o ActiveDirectory)

Espero que os sirva de ayuda, gracias por leerme !!!

PD: Existe más integraciones de este tipo, en concreto para los amantes de Perl y linux he visto este proyecto: http://kpcli.sourceforge.net/ Muy interesante también, pero para la orquestación de mis sistemas me gusta PowerShell.