Сегодня будет разбор установить OpenSource решения для создания общего хранилища паролей. И это не просто очередной разбор — это реальность использования в конторе где я сейчас работаю, одним словом долой ведения файлика Excel или txt, пусть есть сервис в локальной сети где все едино и доступ есть только у Вас.

ekzorchik@srv-bionic:~$ hg clone --insecure https://ekzorchik@172.35.35.8/hg/dproject

ekzorchik@srv-bionic:~$ sudo ./dproject/default

Restart services during package upgrades without asking? Yes

ekzorchik@srv-bionic:~$ sudo apt-get install apache2 libapache2-mod-php7.2 mysql-server mysql-client php7.2-mysql unzip -y

ekzorchik@srv-bionic:~$ echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf

ekzorchik@srv-bionic:~$ sudo unlink /etc/apache2/sites-available/000-default.conf 

ekzorchik@srv-bionic:~$ sudo unlink /etc/apache2/sites-available/default-ssl.conf

ekzorchik@srv-bionic:~$ sudo unlink /etc/apache2/sites-enabled/000-default.conf

ekzorchik@srv-bionic:~$ sudo mysqladmin -u root password 712mbddr@

ekzorchik@srv-bionic:~$ sudo apt-get install php7.2-mysql php7.2-opcache php7.2-mbstring php7.2-ldap php7.2-bcmath php7.2-gd php7.2-xml php-common php7.2-mysql php-gd -y

ekzorchik@srv-bionic:~$ php -v

PHP 7.2.19-0ubuntu0.18.04.1 (cli) (built: Jun 4 2019 14:48:12) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

with Zend OPcache v7.2.19-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

ekzorchik@srv-bionic:~$ sudo nano /etc/php/7.2/apache2/php.ini

max_execution_time = 300

date.timezone = Europe/Moscow

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "create database db_teampass character set utf8"

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "create user 'us_teampass'@'localhost' identified by '612mbddr@'"

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "grant all privileges on db_teampass.* to 'us_teampass'@'localhost'"

ekzorchik@srv-bionic:~$ wget -q https://github.com/nilsteampassnet/TeamPass/archive/master.zip

ekzorchik@srv-bionic:~$ unzip master.zip

ekzorchik@srv-bionic:~$ mv TeamPass-master/ teampass

ekzorchik@srv-bionic:~$ sudo mv teampass/ /var/www/html/

ekzorchik@srv-bionic:~$ sudo mkdir -p /var/www/html/teampass/keys

ekzorchik@srv-bionic:~$ sudo chmod 755 /var/www/html/teampass/keys/

ekzorchik@srv-bionic:~$ sudo chown -R www-data:www-data /var/www/html/teampass/

ekzorchik@srv-bionic:~$ sudo nano /etc/apache2/sites-available/teampass.conf

<VirtualHost *:80>

#ServerName srv-bionic.polygon.local

DocumentRoot /var/www/html/teampass/

ErrorLog /var/log/apache2/teampass-error.log

CustomLog /var/log/apache2/teampass-requests.log combined

<Directory /var/www/html/teampass>

AllowOverride All

</Directory>

</VirtualHost>

ekzorchik@srv-bionic:~$ sudo apache2ctl configtest

Syntax OK

ekzorchik@srv-bionic:~$

ekzorchik@srv-bionic:~$ sudo a2ensite teampass.conf

ekzorchik@srv-bionic:~$ sudo systemctl restart apache2

После открываю браузер с URL строкой вида: http://172.33.33.6 — меня перекидывает на http://172.33.33.6/install/install.php где я вижу мастер инсталляции.

Начиная процесс инсталляции TeamPass с помощью мастера установки

Указываю каталог корня файлов TeamPass для работы Web-сервиса Apache2

Нажимаю Launch и проверка показала, что у меня нет пакета:

PHP extension "gd" is loaded   Extension curl is not loaded!
ekzorchik@srv-bionic:~$ sudo apt-get install php7.2-curl -y

ekzorchik@srv-bionic:~$ sudo systemctl restart apache2

Возвращаюсь к процессу инсталляции точнее его началу нажатием кнопки Restart и прохожу заново все шаги которые прошел.

На этапе «Database connection» указываю параметры подключения к базе данных:

  • Host: 127.0.0.1
  • DataBase name: db_teampass
  • Login: us_teampass
  • Password: 612mbddr@
  • Port: 3306

и нажимаю Launch, следом произойдет проверка тестового подключения, если все ОК то будет сообщение «Connection is successful» и можно смело нажимать Next

На этапе «Preparation»

  • Table prefix: teampass_
  • Absolute path to Saltkey: /var/www/html/teampass/keys
  • Administrator password: 712mbddr@

Указываю административный пароль на административную учетную запись в TeamPass

и также для проверки корректности настроек нажимаю на «Launch», если успешно, то надпись «Information stored» и после нажимаю «Next», «Launch» (в этом момент будут созданы необходимые таблицы мастером самостоятельно), затем «Next» (это шаг «Tables creation»), «Launch» (это шаг «Finalization»:

  • Write the new setting.php file for your server configuration: yes
  • Write the new sk.php file for data encryption: yes
  • Change directory security permissions: yes

), «Next» — и вот и все, сервис TeamPass успешно установлен

TeamPass - успешно установлен.

кликаю по гиперссылке надписи «Move to home page» и меня перекидываем на страницу авторизации: http://172.33.33.6/index.php, авторизуюсь:

  • Account: admin
  • Password: 712mbddr@
  • Session duration (minutes): 60

и нажимаю «Log in»

Все я внутри. Отключаю режим обслуживания, т. к. это настройка по дефолту и из-за нее использовать сервис TeamPass не представляется возможным.

Settings (Настройки) — вкладка «Settings/Настройки»

  • Перевести TeamPass в режим обслуживания: Нет

or

  • Enable maintenance mode (disable user login) : No

Чтобы начать использовать программу:

Шаг №1: Создание папки

Manage Folders — Add Folder

  • Folder label: Все пароли
  • Parent Folder: Root
  • Required Password Strenght: Medium
  • Associated access for Roles: No Access
  • Renewal period: 0
  • Allow item creation without required password strength: No
  • Allow item modification without required password strength: No

и нажимаю Save

Шаг №2: Создаю роль:

Manage Roles — Add New Role -

  • Name: Все IT-Admins
  • Required Password Strength: Medium

и нажимаю Save

После нажимаю по иконке «ладошки» здесь же где перечислены или добавляют роли с целью предопределить уровень доступа к этому каталогу:

  • Write — отмечаю данный уровень доступа (после выбора становятся доступны расширенные права: Cannot delete items & Cannot edit items — их не трогаю)
  • Read
  • No Access (по дефолту)

и нажимаю Save

Шаг №3: Создаю учетную запись

Manage Users — Add New User

  • Name: ekz
  • Last name: ekz
  • Login: ekz
  • Password: 712mbddr@@ (главное чтобы пароль был уровня сложности Medium, либо другого уровня если выбрана другая сложность)
  • Email: support@ekzorchik.ru
  • Roles: отмечаю роль «Все IT-Admins»
  • Managed by: Administrators only
  • Allowed Folders: Все пароли
  • Denied Folders: Select options

и нажимаю Save

Шаг №4: Входим на портал под созданной учетной записью. (Account: ekz, Password: 712mbddr@@). Переходим в папку «Все пароли», к которой был предоставлен доступ, щелкаем левой кнопкой мыши рядом с раскрытой папкой «Все пароли» и выбираем из четырех доступных действий, действие: Add item

вкладка Details:

  • Label: FOG
  • Description:
Доступ в Web-интерфейс FOG Project

​http://172.35.35.7/fog/management/

Username: fog

Password:
  • Folder: Все пароли
  • Login: ekz
  • Email: support@ekzorchik.ru
  • URL: ​http://172.35.35.7/fog/management/

Вкладка Password

  • Password: password
  • Confirm: password
  • Tags: fog

и нажимаю Save

Теперь есть запись в каталоге «Все пароли» о доступ к FOG Project сервису развернутому в моей локальной сети, а пароль на доступ скрыт:

Так выглядит запись доступа к сервису добавленная в TeamPass

Чтобы можно было устанавливать любой пароль, пусть даже простой, как «password» следует для создаваемого каталога обозначить политику пароля Required Password Strenght, как самую низкую. Итого для самого себя я разобрал, как установить сервис TeamPass, как завести первую запись и как выглядит процесс скрытия пароля от посторонних. Пока наверное стоит остановиться в пошаговом повествовании и начать пользоваться.

На заметку: От 08.12.2019 переделал чтобы сервис Teampass работал только через https://IP&DNS/teampass

На этом у меня всё, с уважением Олло Александр aka ekzorchik.