Administradores de contraseñas de línea de comandos para Linux
La gestión de contraseñas debería ser sencilla. Estos administradores de contraseñas de línea de comandos almacenan nuestras credenciales, títulos, URL web, notas y otros detalles en un archivo cifrado. Podemos utilizar estas herramientas para administrar fácilmente nuestras credenciales. Incluso podemos administrar archivos de contraseñas individuales que son extremadamente fáciles de identificar y clasificar.
Estas herramientas brindan opciones para editar, agregar, generar y recuperar contraseñas. Contiene un script de shell muy corto y simple capaz de colocar temporalmente contraseñas en su portapapeles y realizar un seguimiento de los cambios de contraseña.
En este artículo, explicaré dos de las herramientas del Administrador de contraseñas de línea de comandos.
1. Passmgr
Es una herramienta de administración de contraseñas simple y portátil. Almacena de forma segura frases de contraseña y las recupera a través de la línea de comandos. En su modo predeterminado, passmgr permite seleccionar frases de contraseña almacenadas que luego se copian en el portapapeles durante un tiempo limitado para pegarlas en un campo de frase de contraseña. Pasado este tiempo, se borra el portapapeles.
Todas las credenciales se almacenan encriptadas con AES256-GCM en un solo archivo que, por defecto, se encuentra en el directorio de inicio de los usuarios. La clave de cifrado para este archivo se deriva de una frase de contraseña maestra que utiliza scrypt.
Prerrequisitos
- Instalación de Go
- Comando Xclip o Xsel a instalar
Antes de instalar Passmgr, debemos cumplir con estos requisitos previos.
Instalación de Go
Dependiendo de la arquitectura de nuestro servidor, podemos descargar el paquete requerido y extraerlo para instalarlo.
#yum update # wget https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz # tar -xzvf go1.6.2.linux-amd64.tar.gz -C /usr/local/
Descargué el paquete para una arquitectura de 64 bits. Puede crear un conjunto de carpetas de trabajo con variables de entorno en todo el servidor como antes.
# cd /root # mkdir go # cat /etc/profile.d/goenv.sh export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin # source /etc/profile.d/goenv.sh # go version go version go1.6.2 linux/amd64
Instalación de Xclip o Xsel
Para habilitar estos comandos en el servidor CentOS 7, necesitamos instalar estos paquetes de dependencia seguidos de la instalación del paquete. Siga estos pasos para habilitar este comando.
# yum install libX11.x86_64 # yum install libX11-devel.x86_64 # yum install libXmu.x86_64 # yum install libXmu-devel.x86_64 # wget ftp://mirror.switch.ch/pool/4/mirror/epel/7/x86_64/x/xclip-0.12-5.el7.x86_64.rpm # wget http://dl.fedoraproject.org/pub/epel/7/x86_64/x/xsel-1.2.0-15.el7.x86_64.rpm # rpm -Uvh xsel-1.2.0-15.el7.x86_64.rpm warning: xsel-1.2.0-15.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY Preparing... ################################# [100%] Updating / installing... 1:xsel-1.2.0-15.el7 ################################# [100%] # rpm -Uvh xclip-0.12-5.el7.x86_64.rpm warning: xclip-0.12-5.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY Preparing... ################################# [100%] Updating / installing... 1:xclip-0.12-5.el7 ################################# [100%]
Instalación de Passmgr
Después de completar la instalación anterior, podemos habilitar esta herramienta Passmgr en un solo paso como se muestra a continuación:
# go get github.com/urld/passmgr/cmd/passmgr
Ahora podemos correr "passmgr"
para establecer la contraseña maestra para nuestra herramienta Password Manager y hacer nuestra entrada principal a nuestra herramienta.
# passmgr [passmgr] new master passphrase for /root/.passmgr_store: [passmgr] retype master passphrase for /root/.passmgr_store: -- store is empty -- Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] a Enter the values for the new entry User: Saheetha URL: linoxide.com Passphrase: n) User URL 1) Saheetha linoxide.com
Usos de Passmgr
Esta herramienta proporciona varias opciones para administrar la contraseña. Podemos agregar, eliminar, buscar usando una cadena en particular usando estas opciones. Podemos ejecutar el comando de ayuda para enumerar todas las opciones posibles usando esta herramienta.
# passmgr --help Usage of passmgr: -add store new credentials -appTTL int time in seconds after which the application quits if there is no user interaction (default 120) -clipboardTTL int time in seconds after which the clipboard is reset (default 15) -del delete stored credentials -file string specify the passmgr store (default "/root/.passmgr_store")
Ejemplos:
Puede agregar nuevas entradas a nuestra herramienta Administrador de contraseñas usando la opción –add como se muestra a continuación:
# passmgr -add [passmgr] master passphrase for /root/.passmgr_store: docker n) User URL 1) Saheetha linoxide.com Enter the values for the new entry User: sshameer@example.com URL: work.example.com Passphrase: n) User URL 1) Saheetha linoxide.com 2) sshameer@example.com work.example.com
Podemos almacenar / leer las credenciales en un archivo usando la opción –file. De forma predeterminada, todas las contraseñas se almacenarán dentro del archivo «/root/.passmgr_store». Podemos leer el archivo de contraseña para una entrada en particular usando este comando como se muestra a continuación:
# passmgr -file /root/.passmgr_store [passmgr] master passphrase for /root/.passmgr_store: n) User URL 1) Saheetha linoxide.com 2) sshameer@example.com work.example.com 3) testuser website.com Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] 1 Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] S Select: 1 Passphrase copied to clipboard! Clipboard will be erased in 15 seconds.
Podemos usar la opción de filtro para restringir nuestra búsqueda a una cadena en particular como se muestra a continuación:
# passmgr [passmgr] master passphrase for /root/.passmgr_store: n) User URL 1) Saheetha linoxide.com 2) sshameer@example.com work.example.com 3) testuser website.com 4) test test.com Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] f Filter: test n) User URL 3) testuser website.com 4) test test.com
El filtro se puede restablecer dejándolo vacío.
Para eliminar una entrada de la herramienta Password Manager, podemos usar la opción do eliminar. Por favor, vea el ejemplo a continuación:
# passmgr [passmgr] master passphrase for /root/.passmgr_store: n) User URL 1) Saheetha linoxide.com 2) sshameer@example.com work.example.com 3) testuser website.com 4) test test.com Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] d Delete: 3 Delete all secrets for 'testuser | website.com? [Y/n] y n) User URL 1) Saheetha linoxide.com 2) sshameer@example.com work.example.com 3) test test.com Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] q
En este ejemplo, eliminé el "testuser"
entrada desde mi Administrador de contraseñas.
2. Titán
Titan es otra herramienta de Commandline Password Manager que se puede utilizar en cualquiera de los tipos de sistemas operativos Unix. Utiliza la biblioteca OpenSSL para realizar el cifrado. El cifrado AES se utiliza con claves de 256 bits. En Titan, la base de datos de contraseñas también está protegida contra la manipulación mediante el uso de un código de autenticación de mensajes hash con clave (HMAC). Se utiliza un vector de inicialización criptográficamente aleatorio único durante el cifrado. Se genera un nuevo vector de inicialización cada vez que se cifra la base de datos de contraseñas.
Titan usa SQlite para almacenar las contraseñas. El esquema de la base de datos es simple y fácil.
Seguí estos pasos para instalar Titan en nuestro servidor CentOS7.
# yum install sqlite-devel.x86_64 sqlite-tcl.x86_64 # yum install openssl-devel # git clone https://github.com/nrosvall/titan.git # cd titan/ # make # make install
Usos de Titán
Titan también ofrece algunas opciones para administrar las contraseñas a través de la línea de comandos. Echemos un vistazo a algunos de ellos a continuación:
Para empezar, necesitamos crear una base de datos para almacenar nuestras contraseñas. Podemos crear nuestra nueva base de datos simplemente ejecutando este comando.
# titan --init /home/passwords/passwd.db
Puede proporcionar la contraseña para proteger esta base de datos durante la creación. Ahora puede agregar todas las entradas requeridas a esta base de datos usando el --add or just -a
opción de la siguiente manera:
# titan --add Title: Work Username: sshameer Url: linoxide.com Notes: Admin notes Password (empty to generate new):
Nuestra base de datos debe estar descifrada para agregar las entradas. Para descifrarlo puedes usar la opción titan –decrypt [database path]. Aquí podemos usar:
# titan --decrypt /home/passwords/passwd.db
Para ver las entradas agregadas puede utilizar la opción "--list-all".
# titan --list-all ===================================================================== ID: 1 Title: Work User: sshameer Url: linoxide.com Password: ********** Notes: Admin notes Modified: 2017-07-08 15:11:56 =====================================================================
Después de agregar todas las entradas posibles, debe cifrar nuestra base de datos de contraseñas para mayor seguridad. Podemos simplemente ejecutar este comando para cifrarlo.
#titan --encrypt /home/passwords/passwd.db
Por favor mira man titan
o titan --help
para más información.
Recientemente encontré otro administrador de contraseñas de línea de comandos «Ojo de buey«que utiliza bases de datos KeePass.
Terminando
Los administradores de contraseñas de línea de comandos son simples y excelentes cuando inicia sesión de forma remota a través de SSH. Obtener todas sus contraseñas existentes en el administrador de contraseñas es un buen primer paso. Un administrador de contraseñas facilita al máximo la seguridad. Todo lo que necesita hacer es recordar una contraseña maestra (¡conviértala en una buena!), Y el administrador de contraseñas se encarga del resto, generando y guardando una contraseña única para cada cuenta según sea necesario. Además de cifrar estas credenciales de inicio de sesión, las almacena de forma segura. Gracias por leer este artículo y si encontró más herramientas, no dude en compartirlo aquí.