LINUX

Administradores de contraseñas de línea de comandos para Linux

contraseña de línea de comandosLa 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í.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar