Установите и настройте менеджер паролей Passbolt Team в Ubuntu 20.04
На этой странице
- Предпосылки
- Установить сервер LAMP
- Настройка базы данных MariaDB
- Загрузить и настроить Passbolt
- Скачать Passbolt
- Создать ключ OpenPGP
- Настроить пароль
Passbolt — это бесплатный, открытый, самодостаточный и расширяемый менеджер паролей, который помогает вам безопасно обмениваться и хранить учетные данные для входа, такие как пароль маршрутизатора, веб-сайта, Wi-Fi и т. д. Он отличается от других менеджеров паролей. он ориентирован на использование команды, а не отдельных лиц. Он доступен как в сообществе, так и в платной версии. Он предлагает множество функций, некоторые из которых перечислены ниже:
- Предоставляет расширения для Firefox и Google Chrome.
- Используйте OpenPGP для шифрования пароля.
- Простой и удобный веб-интерфейс.
- Позволяет импортировать и экспортировать пароли.
- Позволяет добавлять учетные данные для входа вручную.
В этом руководстве мы объясним, как установить менеджер паролей Passbolt с Apache и Lets Encrypt на Ubuntu 20.04.
Предпосылки
- Сервер под управлением Ubuntu 20.04.
- Действительное доменное имя, указанное с IP-адресом вашего сервера.
- Пароль root настраивается на сервере.
Установить LAMP-сервер
Во-первых, вам нужно будет установить Apache и сервер MariaDB в вашей системе. Вы можете установить их с помощью следующей команды:
apt-get install apache2 mariadb-server -y
После установки вышеуказанных пакетов вам также потребуется установить PHP и другие необходимые пакеты в вашей системе.
По умолчанию Ubuntu 20.04 поставляется с PHP7.4 в репозитории по умолчанию. Однако Passbolt не поддерживает PHP7.4. Поэтому вам нужно будет добавить репозиторий PHP в вашу систему.
Сначала установите необходимые пакеты с помощью следующей команды:
apt-get install software-properties-common gnupg -y
Затем добавьте репозиторий PHP с помощью следующей команды:
add-apt-repository ppa:ondrej/php --yes
Затем установите PHP версии 7.3 с Composer и другими необходимыми расширениями с помощью следующей команды:
apt-get install php7.3 php7.3-mysql libapache2-mod-php7.3 php7.3-intl php7.3-mbstring php7.3-gd php7.3-imagick php7.3-xml php7.3-common php7.3-curl php7.3-json php7.3-ldap php7.3-gnupg zlib1g unzip git composer curl -y
После установки всех пакетов можно переходить к следующему шагу.
Настроить базу данных MariaDB
Во-первых, вам нужно будет защитить установку MariaDB и установить пароль root для MariaDB. Вы можете сделать это с помощью следующей команды:
mysql_secure_installation
Этот скрипт установит корневой пароль MariaDB, удалит анонимных пользователей, запретит удаленный вход в систему root и удалит тестовую базу данных и доступ к ней, как показано ниже:
Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] Y Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Как только MariaDB будет защищена, войдите в оболочку MariaDB с помощью следующей команды:
mysql -u root -p
Укажите свой пароль root при появлении запроса, затем создайте базу данных и пользователя для Passbolt с помощью следующей команды:
MariaDB [(none)]> CREATE DATABASE passboltdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL on passboltdb.* to identified by 'password';Затем сбросьте привилегии и выйдите из MariaDB с помощью следующей команды:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Как только вы закончите, вы можете перейти к следующему шагу.
Загрузите и настройте Passbolt
В этом разделе мы узнаем, как скачать и настроить passbolt:
Скачать Passbolt
Сначала загрузите последнюю версию Passbolt в корневой веб-каталог Apache с помощью следующей команды:
mkdir /var/www/passbolt
git clone https://github.com/passbolt/passbolt_api.git /var/www/passboltПосле загрузки измените владельца пароля на www-data с помощью следующей команды:
chown -R www-data:www-data /var/www/
Затем измените каталог на passbolt и установите необходимые зависимости с помощью следующей команды:
cd /var/www/passbolt
sudo -u www-data composer install --no-devВы должны получить следующий результат:
> Cake\Composer\Installer\PluginInstaller::postAutoloadDump 9 packages you are using are looking for funding. Use the `composer fund` command to find out more! thadafinser/package-info: Generating class... thadafinser/package-info: ...generating class > App\Console\Installer::postInstall Created `config/app.php` file Created `/var/www/passbolt/logs` directory Created `/var/www/passbolt/tmp/cache/models` directory Created `/var/www/passbolt/tmp/cache/persistent` directory Created `/var/www/passbolt/tmp/cache/views` directory Created `/var/www/passbolt/tmp/sessions` directory Created `/var/www/passbolt/tmp/tests` directory Set Folder Permissions ? (Default to Y) [Y,n]? Y
Введите Y и нажмите Enter, чтобы установить права доступа к папке.
Сгенерировать ключ OpenPGP
Далее вам нужно будет сгенерировать ключ OpenPGP для аутентификации и подписи исходящих запросов JSON. Вы можете сгенерировать его с помощью следующей команды:
cd /var/www/passbolt
gpg --full-generate-keyВо время процесса вам будет предложено ввести парольную фразу, просто нажмите клавишу Tab, выберите «ОК» и подтвердите, что вы не хотите ее устанавливать, потому что модуль php-gnupg в данный момент не поддерживает использование парольной фразы.
gpg (GnuPG) 2.2.19; Copyright (C) 2019 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. gpg: directory '/root/.gnupg' created gpg: keybox '/root/.gnupg/pubring.kbx' created Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) (14) Existing key from card Your selection? 1 RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (3072) 4096 Requested keysize is 4096 bits Please specify how long the key should be valid. 0 = key does not expire
= key expires in n days w = key expires in n weeks m = key expires in n months y = key expires in n years Key is valid for? (0) 0 Key does not expire at all Is this correct? (y/N) y GnuPG needs to construct a user ID to identify your key. Real name: Hitesh Email address: Comment: Hi You selected this USER-ID: "Hitesh (Hi) <>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. gpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: key 2DA8E7FB8E23B2FD marked as ultimately trusted gpg: directory '/root/.gnupg/openpgp-revocs.d' created gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/9622291A72D99A4EC78ABCB92DA8E7FB8E23B2FD.rev' public and secret key created and signed. pub rsa4096 2020-07-25 [SC] D2394A45B7CBBAB7F00CC79B23D4750486780854 uid Hitesh (Hi) <> sub rsa4096 2020-07-25 [E] Пожалуйста, запомните приведенный выше отпечаток открытого ключа, так как он понадобится позже при настройке.
Затем экспортируйте открытый и закрытый ключ в каталог /var/www/passbolt с помощью следующих команд:
gpg --armor --export-secret-keys > /var/www/passbolt/config/gpg/serverkey.asc
Далее вам нужно будет инициализировать связку ключей gpg для пользователя Apache. Вы можете сделать это с помощью следующей команды:
sudo su -s /bin/bash -c "gpg --list-keys" www-data
Вы должны получить следующий результат:
gpg: directory '/var/www/.gnupg' created gpg: keybox '/var/www/.gnupg/pubring.kbx' created gpg: /var/www/.gnupg/trustdb.gpg: trustdb created
Настроить Passbolt
Сначала скопируйте пример файла конфигурации Passbolt с помощью следующей команды:
cp /var/www/passbolt/config/passbolt{.default,}.php
Затем отредактируйте файл конфигурации Passbolt с помощью следующей команды:
nano /var/www/passbolt/config/passbolt.php
Определите свой fullbaseurl, базу данных и отпечаток открытого ключа, как показано ниже:
'fullBaseUrl' => 'https://passbolt.linuxbuz.com', // Database configuration. 'Datasources' => [ 'default' => [ 'host' => 'localhost', //'port' => 'non_standard_port_number', 'username' => 'passbolt', 'password' => 'password', 'database' => 'passboltdb', 'serverKey' => [ // Server private key fingerprint. 'fingerprint' => 'D2394A45B7CBBAB7F00CC79B23D4750486780854', 'public' => CONFIG . 'gpg' . DS . 'serverkey.asc', 'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',
Сохраните и закройте файл, когда закончите.
Если вы не помните отпечаток своего открытого ключа, вы можете получить его с помощью следующей команды:
gpg --list-keys --fingerprint | grep -i -B 2
Вы должны получить следующий результат:
gpg: checking the trustdb gpg: marginals needed: 3 completes needed: 1 trust model: pgp gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u pub rsa4096 2020-07-25 [SC] D239 4A45 B7CB BAB7 F00C C79B 23D4 7504 8678 0854 uid [ultimate] Hitesh (Hi) <>
Настройте Apache для Passbolt
Далее вам нужно будет создать файл конфигурации виртуального хоста Apache для Passbolt. Вы можете создать его с помощью следующей команды:
nano /etc/apache2/sites-available/passbolt.conf
Добавьте следующие строки:
<VirtualHost *:80> ServerName passbolt.linuxbuz.com DocumentRoot /var/www/passbolt ErrorLog ${APACHE_LOG_DIR}/passbolt_error.log CustomLog ${APACHE_LOG_DIR}/passbolt_access.log combined <Directory /var/www/passbolt/> Options FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
Сохраните и закройте файл, затем активируйте файл виртуального хоста и перезапустите службу Apache с помощью следующей команды:
a2ensite passbolt
systemctl restart apache2Когда вы закончите, вы можете перейти к следующему шагу.
Безопасный Passbolt с Lets Encrypt
Чтобы защитить свой веб-сайт с помощью Lets Encrypt SSL, вам необходимо установить клиентскую утилиту Certbot в вашей системе для управления SSL-сертификатом.
Вы можете установить его с помощью следующей команды:
apt-get install python3-certbot-apache -y
После установки выполните следующую команду, чтобы защитить свой сайт с помощью Lets Encrypt SSL:
certbot --apache -d passbolt.linuxbuz.com
Вам будет предложено указать адрес электронной почты и принять условия обслуживания, как показано ниже:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Performing the following challenges: http-01 challenge for passbolt.linuxbuz.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/passbolt-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/passbolt-le-ssl.conf Enabling available site: /etc/apache2/sites-available/passbolt-le-ssl.conf
Затем выберите, следует ли перенаправлять HTTP-трафик на HTTPS, как показано ниже:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Введите 2 и нажмите Enter, чтобы установить Lets Encrypt SSL для вашего сайта:
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/passbolt.conf to ssl vhost in /etc/apache2/sites-available/passbolt-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://passbolt.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=passbolt.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/passbolt.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/passbolt.linuxbuz.com/privkey.pem Your cert will expire on 2020-10-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
На данный момент ваш сайт защищен с помощью Lets Encrypt SSL.
Установить Passbolt
Далее вы можете установить Passbolt, запустив скрипт установки Passbolt.
Сначала измените каталог на /var/www/passbolt:
cd /var/www/passbolt
Затем запустите скрипт установки Passbolt с помощью следующей команды:
sudo su -s /bin/bash -c "./bin/cake passbolt install --no-admin" www-data
После успешного завершения установки вы должны получить следующий вывод:
All Done. Took 1.6533s Import the server private key in the keyring --------------------------------------------------------------- Importing /var/www/passbolt/config/gpg/serverkey_private.asc Keyring init OK Passbolt installation success! Enjoy! ?
Далее вам нужно будет завершить настройку Passbolt из браузера. Откройте веб-браузер и перейдите по URL-адресу https://passbolt.linuxbuz.com. Вы должны увидеть следующий экран:
Здесь вам нужно будет скачать и установить плагин для вашего браузера. Нажмите «Загрузить плагин», чтобы загрузить и установить плагин Passbolt. После установки можно переходить к следующему шагу.
Доступ к веб-интерфейсу Passbolt
Перед запуском вам нужно будет создать пользователя с правами администратора и установить пароль для Passbolt. Вы можете сделать это с помощью следующей команды:
cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt register_user -u -f howtoforge -l Demo -r admin" www-dataВы должны получить следующий результат:
____ __ ____ / __ \____ _____ ____/ /_ ____ / / /_ / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ / ____/ /_/ (__ |__ ) /_/ / /_/ / / / /_/ \__,_/____/____/_.___/\____/_/\__/ Open source password manager for teams --------------------------------------------------------------- User saved successfully. To start registration follow the link provided in your mailbox or here: https://passbolt.linuxbuz.com/setup/install/5bcfb186-3d9f-448f-8388-f705abd855c8/a2ba80dc-5ef2-433a-9138-11282747b377
Теперь скопируйте ссылку из приведенного выше вывода и используйте ее для завершения настройки Passbolt в браузере. Вы должны увидеть следующий экран:
Убедитесь, что URL-адрес и отпечаток ключа GPG в порядке, и нажмите кнопку «Далее». Вы должны увидеть следующий экран:
Укажите имя владельца, адрес электронной почты и нажмите кнопку «Далее». Вы должны увидеть следующий экран:
Установите пароль и нажмите кнопку «Далее». Вы должны увидеть следующий экран:
Загрузите секретный ключ и нажмите кнопку «Далее». Вы должны увидеть следующий экран:
Установите токен безопасности и нажмите кнопку «Далее». Вы должны увидеть следующий экран:
Укажите свое имя пользователя, пароль и нажмите на кнопку входа. Вы должны увидеть панель управления Passbolt на следующем экране:
Заключение
Поздравляем! вы успешно установили менеджер паролей Passbolt с Lets Encrypt SSL на сервер Ubuntu 20.04. Теперь вы можете хранить свои пароли и делиться ими со своими командами и отдельными пользователями. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.