Добро пожаловать в наше руководство по настройке Passbolt CE (Community Edition) в Ubuntu 22.04. Защита вашей конфиденциальной информации имеет решающее значение. Passbolt CE – это решение для управления паролями с открытым исходным кодом, которое обеспечивает безопасность ваших учетных данных.
Эта статья предназначена как для энтузиастов технологий, так и для ИТ-специалистов и предлагает простой пошаговый процесс установки Passbolt CE в вашу систему Ubuntu 22.04. Хотите ли вы повысить личную кибербезопасность или улучшить командное управление паролями, это руководство поможет вам.
Внимательно следуйте каждому шагу и не стесняйтесь обращаться к этому руководству при необходимости. Удачной установки!
Для начала войдите в свой Ubuntu 22.04 VPS с помощью SSH:
ssh root@IP_Address -p Port_number
Замените ‘IP_Address’ и ‘Port_number’ фактическим IP-адресом вашего сервера и номером порта SSH. При необходимости замените ‘root’ именем пользователя вашей учетной записи sudo.
После входа в систему вы должны убедиться, что все пакеты ОС Ubuntu, установленные на сервере, обновлены. Вы можете сделать это, выполнив следующие команды:
sudo apt-get update -y && sudo apt-get upgrade -y
В этом руководстве мы будем использовать Nginx в качестве веб-сервера, но вы также можете выбрать Apache, если предпочитаете. Nginx, высокоэффективный веб-сервер, в настоящее время пользуется большим спросом. Более того, он служит универсальным инструментом, способным функционировать как обратный прокси-сервер, так и сервер кэширования. Используйте следующую команду для установки веб-сервера Nginx:
sudo apt install nginx
После установки мы можем включить автоматический запуск Nginx во время загрузки, выполнив следующую команду:
sudo systemctl enable nginx
Далее запустите Nginx с помощью:
sudo systemctl start nginx
Если все работает должным образом, вы можете проверить состояние с помощью следующей команды:
sudo systemctl status nginx
Вот как должен выглядеть результат:
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2024-02-06 06:33:35 CST; 6s ago Docs: man:nginx(8) Process: 2741 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 2742 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 2743 (nginx) Tasks: 3 (limit: 4558) Memory: 3.3M CPU: 44ms CGroup: /system.slice/nginx.service ├─2743 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ├─2744 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" └─2745 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
MariaDB служит заменой MySQL. Он был разработан бывшими членами команды MySQL, которые выразили опасения, что Oracle может превратить MySQL в продукт с закрытым исходным кодом. Выполните следующую команду, чтобы установить MariaDB в Ubuntu 22.04:
sudo apt install mariadb-server mariadb-client
После установки мы можем включить автоматический запуск MariaDB во время загрузки, выполнив следующую команду:
sudo systemctl enable mariadb
Далее запустите MariaDB с помощью:
sudo systemctl start mariadb
Если все работает должным образом, вы можете проверить состояние с помощью следующей команды:
sudo systemctl status mariadb
Вот как должен выглядеть результат:
● mariadb.service - MariaDB 10.6.16 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2024-02-06 06:34:27 CST; 19s ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 3386 (mariadbd) Status: "Taking your SQL requests now..." Tasks: 12 (limit: 4558) Memory: 61.1M CPU: 525ms CGroup: /system.slice/mariadb.service └─3386 /usr/sbin/mariadbd
Существует два основных метода установки PHP в Ubuntu. Мы воспользуемся стандартным подходом и установим PHP из репозиториев Ubuntu с помощью диспетчера пакетов APT, как показано ниже:
sudo apt install php
Однако важно отметить, что этот метод не предоставляет последнюю версию PHP. В настоящее время репозиторий предоставляет только PHP 8.1.
Далее мы установим расширения PHP с помощью следующей команды:
sudo apt install php-{fpm,mysql,common,cli,opcache,readline,mbstring,xml,gd,cur,imagick,gnupg,ldap,imap,zip,bz2,intl,gmpl}
Теперь, когда стек LEMP установлен, мы собираемся создать пустую базу данных для Passblot и пользователя базы данных с разрешением на доступ к этой базе данных.
Войдите в консоль MySQL и выполните следующие команды:
sudo mysql -u root
CREATE DATABASE passbolt; CREATE USER 'passbolt'@'localhost' IDENTIFIED BY 'YourStrongPasswordHere'; GRANT ALL PRIVILEGES ON passbolt.* TO 'passbolt'@'localhost'; FLUSH PRIVILEGES; EXIT;
Обязательно обновите ‘YourStrongPasswordHere’ более безопасным паролем.
После установки системных зависимостей, позволяющих Passbolt функционировать, мы клонируем репозиторий последней стабильной версии Passbolt, доступной на GitHub, выполнив следующие команды:
sudo apt install git sudo -R chown www-data:www-data /var/www/ cd /var/www/ sudo -u www-data git clone https://github.com/passbolt/passbolt_api.git
Затем откройте каталог Passbolt и установите composer:
cd /var/www/passbolt_api/ sudo apt install composer
Используйте Composer для установки зависимостей PHP с помощью следующей команды:
sudo -u www-data composer install --no-dev
Он должен спросить, хотите ли вы установить права доступа к каталогу, ответьте ”Y”:
Для пользователей виртуальных частных серверов (VPS) рекомендуется установить пакет haveged, чтобы обеспечить адекватное генерирование энтропии.
sudo apt install haveged
Если все работает так, как ожидалось, вы можете проверить состояние с помощью следующей команды.
sudo systemctl status haveged
Вот как должен выглядеть результат:
● haveged.service - Entropy Daemon based on the HAVEGE algorithm Loaded: loaded (/lib/systemd/system/haveged.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2024-02-06 08:08:08 CST; 1min 14s ago Docs: man:haveged(8) http://www.issihosts.com/haveged/ Main PID: 22174 (haveged) Tasks: 1 (limit: 4558) Memory: 3.3M CPU: 356ms CGroup: /system.slice/haveged.service └─22174 /usr/sbin/haveged --Foreground --verbose=1
Затем выполните следующую команду, чтобы сгенерировать новую пару ключей.
sudo -u www-data gpg --quick-gen-key --pinentry-mode=loopback 'YourFirstName YourLastName <yourMailAddress@yourDomain.ru>' default default never
Замените “YourFirst Name“ и ”YourLastName” на ваше имя и фамилию, а “yourMailAddress@yourDomain.ru” – на вашу учетную запись электронной почты.
Если вам будет предложено ввести пароль, просто проигнорируйте его, нажав Enter, поскольку модуль php-gnupg в настоящее время не поддерживает использование пароля.
Скопируйте закрытый и открытый ключи в папку конфигурации Passbolt, выполнив следующие команды:
sudo -u www-data gpg --armor --export-secret-keys yourMailAddress@yourDomain.ru | sudo tee /var/www/passbolt_api/config/gpg/serverkey_private.asc > /dev/null sudo -u www-data gpg --armor --export yourMailAddress@yourDomain.ru | sudo tee /var/www/passbolt_api/config/gpg/serverkey.asc > /dev/null
Инициализируйте связку ключей для пользователя www-data, чтобы настроить криптографические ключи и связанные с ними операции для пользователя www-data:
sudo -u www-data gpg --list-keys
Сохраните отпечаток ключа для последующего использования:
Получить доступ к каталогу Passbolt:
cd /var/www/passbolt_api
Создайте копию файла конфигурации по умолчанию с помощью команды:
sudo cp config/passbolt.default.php config/passbolt.php
Откройте файл конфигурации с помощью текстового редактора:
sudo nano config/passbolt.php
Затем измените содержимое:
'fullBaseUrl' => 'https://passbolt.yourdomain.ru',
Обязательно обновите passbolt.yourdomain.ru укажите URL, который вы будете использовать для подключения Passbolt.
В разделе настройки базы данных введите имя базы данных, имя пользователя и пароль, которые вы создали для Passbolt.
// Database configuration. 'Datasources' => [ 'default' => [ 'host' => 'localhost', //'port' => 'non_standard_port_number', 'username' => 'passbolt', 'password' => 'YourStrongPasswordHere', 'database' => 'passbolt',
В разделе настройки электронной почты вам необходимо ввести данные вашей учетной записи электронной почты, которые вы будете использовать для восстановления паролей.
// Email configuration. 'EmailTransport' => [ 'default' => [ 'host' => 'yourSMTPHostname.ru', 'port' => 465, 'username' => 'yourSMTPUser', 'password' => 'yourSMTPPassword', // Is this a secure connection? true if yes, null if no. 'tls' => true, //'timeout' => 30, //'client' => null, //'url' => null, ], ], 'Email' => [ 'default' => [ // Defines the default name and email of the sender of the emails. 'from' => ['yourMailAddress@yourDomain.ru' => 'Passbolt'], //'charset' => 'utf-8', //'headerCharset' => 'utf-8', ], ],
В разделе GPG введите отпечаток ключа GPG, как показано ниже. Убедитесь, что в отпечатке удалены все пробелы. Дополнительно раскомментируйте строки для открытого и закрытого ключей.
'fingerprint' => 'E2E6E2EB5CE2DF9158CABBE63A22420DB732C8D3', 'public' => CONFIG . 'gpg' . DS . 'serverkey.asc', 'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',
Чтобы сохранить и закрыть файл, вы должны нажать CTRL + X, а затем Y.
Теперь нам нужно запустить установочный скрипт, используя пользователя www-data.
sudo su -s /bin/bash -c "/var/www/passbolt_api/bin/cake passbolt install --force" www-data
Во время установки вам будет предложено создать учетную запись администратора.
User email (also called username) > YourPassboltUser@yourdomain.ru First name > YourFirstName Last name > YourLastName User saved successfully. To start registration follow the link provided in your mailbox or here: https://passbolt.yourdomain.ru/setup/start/a97554f8-3e3f-4764-89a4-858d3a64b99f/cce4db00-3464-41fe-a3f9-d201e73e81b7 Passbolt installation success! Enjoy! ☮
После создания учетной записи вы получите URL-адрес для завершения установки в веб-браузере. Прежде чем продолжить, необходимо создать серверный блок на Nginx.
Определите серверный блок для вашего домена, создав этот файл. Мы используем nano, но вы можете использовать любой текстовый редактор, который вам больше нравится:
sudo nano /etc/nginx/conf.d/passbolt.conf
Как только файл будет создан, вставьте это содержимое:
server { listen 80; server_name passbolt.yourdomain.ru; root /var/www/passbolt_api/webroot/; error_log /var/log/nginx/passbolt_error.log; access_log /var/log/nginx/passbolt_access.log; index index.php index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 16k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { access_log off; log_not_found off; } location ~ /\. { deny all; access_log off; log_not_found off; } location ~* (Gruntfile|package|composer)\.(js|json)$ { deny all; access_log off; log_not_found off; } location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } }
Обязательно обновите passbolt.yourdomain.ru укажите URL, который вы будете использовать для подключения Passbolt.
Чтобы сохранить и закрыть файл, вы должны нажать CTRL + X, а затем Y.
Вы можете проверить правильность синтаксиса с помощью:
sudo nginx -t
Вот как будет выглядеть результат:
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Затем перезагрузите службу Nginx, чтобы применить изменения:
systemctl reload nginx
Чтобы включить SSL, нам необходимо установить SSL-сертификат для нашего домена/поддомена Passbolt. Выполните следующие действия, чтобы установить SSL из Let’s Encrypt с помощью certbot.
sudo apt install python3-certbot-nginx -y
После установки выполните следующую команду для установки SSL-сертификата:
certbot
Вам будет предложено указать свой адрес электронной почты, принять условия использования Let’s Encrypt и выбрать, следует ли предоставлять свой адрес электронной почты Electronic Frontier Foundation. Затем вам нужно будет выбрать имя домена / поддомена, для которого вы хотите активировать HTTPS. Введите соответствующий номер и нажмите ENTER, чтобы выбрать свой веб-сайт Passbolt.
Затем Let’s Encrypt установит сертификат и предложит вам настроить перенаправление с HTTP на HTTPS. Вы можете выбрать перенаправление, и certbot создаст перенаправление и перезагрузит NGINX, если все в порядке.
После запуска команды ‘certbot’ вы получите результат, аналогичный этому:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): YourPassboltUser@yourdomain.ru - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, 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 Account registered. Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: passbolt.yourdomain.ru - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1 Requesting a certificate for passbolt.yourdomain.ru Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/passbolt.yourdomain.ru/fullchain.pem Key is saved at: /etc/letsencrypt/live/passbolt.yourdomain.ru/privkey.pem This certificate expires on 2024-05-06. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. Deploying certificate Successfully deployed certificate for passbolt.yourdomain.ru to /etc/nginx/conf.d/passbolt.conf Congratulations! You have successfully enabled HTTPS on https://passbolt.yourdomain.ru - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Passbolt совместим только с Firefox и Google Chrome. Для завершения установки вам необходимо загрузить и установить расширение для браузера.
После установки расширения перейдите по URL, указанному в конце сценария установки.
Если доступ был успешным, мы должны создать пароль:
Далее загрузите набор для восстановления:
Далее создайте токен безопасности:
Теперь, когда Passbolt успешно установлен, вы можете создавать пароли
Для отправки сообщений электронной почты вам необходимо настроить выполнение задания cron каждую минуту.
Вы должны добавить задание cron для пользователя, связанного с вашим веб-сервером, который в этом руководстве является пользователем www-data. Выполните следующую команду:
sudo crontab -u www-data -e
Затем добавьте следующее содержимое:
* * * * * /var/www/passbolt_api/bin/cake EmailQueue.sender
Сохраните и закройте файл.
Теперь вы можете получить доступ к Passbolt Manager, используя свое доменное имя по адресу http://passbolt.yourdomain.ru и начать работу над своим проектом. Для получения дополнительной информации о Passbolt, его функциях и конфигурации обратитесь к их официальной документации.
Конечно, вам не обязательно устанавливать Passbolt в Ubuntu 22.04, если вы используете одну из наших служб VPS-хостинга для Linux, в этом случае вы можете просто попросить наших опытных администраторов Linux установить и настроить Passbolt в Ubuntu 22.04 для вас. Они доступны 24 × 7 и немедленно выполнят ваш запрос.
PS. Если вам понравился этот пост об установке Passbolt в Ubuntu 22.04, пожалуйста, поделитесь им со своими друзьями в социальных сетях или просто оставьте комментарий в разделе комментариев. Спасибо.