Управление паролями должно быть простым и понятным.
Это учетные данные, заголовки, веб-адреса, заметки и другие данные в зашифрованном файле.
Мы можем использовать эти инструменты, описанные ниже для простого управления нашими учетными данными.
Мы можем управлять отдельными файлами паролей, которые очень легко идентифицировать и сортировать.
Эти инструменты предоставляют возможности для редактирования, добавления, генерации и извлечения паролей.
Они содержит очень короткий и простой сценарий оболочки.
В этой статье я расскажу о инструментах Password Manager.
1. Passmgr
Это простой и удобный инструмент для управления паролями. Он хранит парольные фразы и извлекает их через командную строку.
В режиме по умолчанию парольный менеджер выбирает парольную фразу, которую затем скопируют в буфер обмена в течение ограниченного промежутка времени, чтобы быть вставить ее в поле кодовой фразы.
По истечении этого времени буфер будет удален.
Все учетные данные хранятся в AES256-GCM, зашифрованном в одном файле, который находится в домашнем каталоге пользователей.
Ключ шифрования для этого файла выводится из ключевой фразы с использованием scrypt.
Предварительные условия
Установка Go
Xclip или Xsel должны быть установлены
Перед установкой Passmgr нам необходимо выполнить эти предварительные условия.
Установка Go
# 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/
Я загрузил пакет для 64-битной архитектуры. Вы можете создать рабочую папку с переменной окружения.
# 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
Установка Xclip или Xsel
Чтобы включить эти команды на сервере CentOS 7, нам необходимо установить эти пакеты зависимостей.
# 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%]
Установка Passmgr
После завершения вышеуказанной установки мы можем включить этот инструмент passmgr за один шаг, как показано ниже:
# go get github.com/urld/passmgr/cmd/passmgr
Теперь мы можем «passmgr» установить пароль.
# 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: cryptoparty URL: itsecforu.ru Passphrase: n) User URL 1) cryptoparty itsecforu.ru</pre>
Использование Passmgr
Этот инструмент предоставляет различные параметры для управления паролем.
Мы можем запустить опцию help для просмотра списка параметров.
# 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")
Примеры
Вы можете добавить новые записи в наш инструмент Password Manager с помощью опции -add, как показано ниже:
# 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: user@example.com URL: work.example.com Passphrase: n) User URL 1) cryptoparty itsecforu.ru 2) user@example.com work.example.com
Мы можем хранить / читать учетные данные в файле с помощью опции -file.
По умолчанию все пароли будут храниться в файле «/root/.passmgr_store».
Мы можем прочитать файл паролей для конкретной записи, используя эту команду, как показано ниже.
# passmgr -file /root/.passmgr_store [passmgr] master passphrase for /root/.passmgr_store: n) User URL 1) cryptoparty itsecforu.ru 2) user@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.
Мы можем использовать опцию фильтра, чтобы ограничить наш поиск по определенной строке, как показано ниже:
# passmgr [passmgr] master passphrase for /root/.passmgr_store: n) User URL 1) cryptoparty itsecforu.ru 2) user@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
Фильтр можно сбросить, оставив его пустым.
Чтобы удалить запись, мы можем использовать опцию d или delete. См. пример ниже:
# passmgr [passmgr] master passphrase for /root/.passmgr_store: n) User URL 1) cryptoparty itsecforu.ru 2) user@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) cryptoparty itsecforu.ru 2) user@example.com work.example.com 3) test test.com Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] q
В этом примере я удалил запись «testuser» из моего диспетчера паролей.
2. Titan
Titan – еще один инструмент управления паролями командной строки, который может использоваться в любом из Unix операционных систем.
Он использует библиотеку OpenSSL для выполнения шифрования.
Шифрование AES используется с 256-битными ключами.
В базе данных паролей титана он защищен от несанкционированного доступа с помощью кода аутентификации сообщения с ключом-хэшем (HMAC).
Во время шифрования используется уникальный, криптографически случайный вектор инициализации.
Новый вектор инициализации генерируется каждый раз, когда база данных паролей зашифровывается.
Titan использует SQlite для хранения паролей. Схема базы данных проста и легка.
Установка Titan
# 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
Использование Titan
Titan также предоставляет некоторые опции для управления паролями через командную строку. Давайте рассмотрим несколько из них :
# titan --init /home/passwords/passwd.db
Вы можете указать пароль для защиты этой базы данных при создании.
Теперь вы можете добавить все необходимые записи в эту базу данных с помощью опции -add или just -a, как показано ниже:
# titan --add Title: Work Username: cryptoparty Url: itsecforu.ru Notes: Admin notes Password (empty to generate new):
Наша база данных должна быть расшифрована для добавления записей.
Чтобы расшифровать ее, вы можете использовать опцию titan –decrypt [путь к базе данных].
Теперь мы можем выполнить:
# titan --decrypt /home/passwords/passwd.db
Для просмотра добавленных записей вы можете использовать опцию «-list-all».
# titan --list-all ===================================================================== ID: 1 Title: Work User: cryptoparty Url: itsecforu.ru Password: ********** Notes: Admin notes Modified: 2017-07-08 15:11:56 =====================================================================
После добавления всех возможных записей вы должны зашифровать свой пароль.
Мы можем просто запустить эту команду для ее шифрования.
# titan --encrypt /home/passwords/passwd.db
Для получения дополнительной информации см. man titan или titan –help.
Также можно рассмотреть другой менеджер паролей командной строки «Passhole»,который использует базы данных KeePass.