Установка Passbolt CE на Ubuntu 22.04

Passbolt — свободный проект менеджера паролей с открытым кодом на базе PHP, MySQL и OpenPGP. Это приложение для развёртывания на собственном сервере: вы управляете инфраструктурой и данными. Passbolt ориентирован на команды, но подойдёт и для личного использования.
Определение в одну строку: Passbolt — серверное приложение для безопасного совместного хранения паролей, использующее OpenPGP для шифрования.
В этом руководстве показано, как установить Passbolt CE на Ubuntu 22.04 и интегрировать его с браузером.
Что будет установлено и почему
Passbolt CE устанавливает пакет, который в процессе установки разворачивает необходимые компоненты: веб‑сервер (Nginx), PHP‑FPM, MySQL (или MariaDB), GnuPG‑обёртки и сертификаты SSL по настройке. Клиентская часть — браузерное расширение — использует OpenPGP.js, сервер использует GnuPG PHP Extension и openpgp-php.
Важно: Passbolt использует GPGAuth для аутентификации пользователей, поэтому корректная настройка OpenPGP‑ключей и HTTPS обязателен для безопасной работы.
Требования
- Сервер с Ubuntu 22.04 (чистая или «ванильная» установка рекомендована).
- Нераутовый пользователь с правами sudo.
- UFW (фаервол) включён и открыт доступ на 80/443 только при необходимости.
- Для продакшна: доменное имя, указывающее на IP сервера, и действующий SSL‑сертификат (или возможность получить Let’s Encrypt).
Важно: на тестовой машине можно использовать самоподписанные сертификаты, но для рабочих сред используйте доверенные сертификаты и корректные записи DNS.
Быстрая структура руководства
- Настройка репозитория Passbolt
- Установка passbolt-ce-server
- Конфигурация базы данных MySQL/MariaDB
- Настройка Nginx и SSL
- Первичная веб‑конфигурация, создание администратора и OpenPGP‑ключа
- Подключение браузерного расширения
- Рекомендации по безопасности и чек‑листы для продакшна
- Отладка и распространённые проблемы
Настройка репозитория
Для установки мы воспользуемся официальным репозиторием Passbolt. Скачайте скрипт настройки репозитория:
curl -O https://raw.githubusercontent.com/passbolt/passbolt-dep-scripts/main/passbolt-repo-setup.ce.shПроверьте целостность скрипта и выполните его (команда проверяет sha256 и выполняет скрипт при совпадении контрольной суммы):
[ "$(sha256sum passbolt-repo-setup.ce.sh | awk '{print $1}')" = "6a378dd2c021dbbfe25b5dba08949f81df62605babc64d4a07a5fb91b8cbd347" ] && sudo bash ./passbolt-repo-setup.ce.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.ce.shЕсли проверка пройдёт, репозиторий будет добавлен в систему и вы увидите сообщение типа “passbolt repository setup is finished”.

Установка Passbolt CE
После добавления репозитория установите пакет сервера:
sudo apt update
sudo apt install passbolt-ce-serverПодтвердите установку клавишей Y и Enter. В процессе установки запустится мастер настройки, который запросит параметры базы данных, веб‑сервера и SSL.

Во время установки вас попросят выполнить три основных шага:
- Создание базы данных и пользователя MySQL.
- Настройка блока сервера Nginx.
- Настройка SSL‑сертификатов.
После установки пакет автоматически попытается упростить эти шаги — ниже описаны варианты и примеры ввода.
Настройка MySQL / MariaDB
При первом запросе выберите Yes, чтобы пакет создал локальную базу данных.

Если у вас только что установился MySQL сервер пакетом, корневой пользователь может быть без пароля. В типичной автоматической установке укажите пользователя root и оставьте пароль пустым, затем подтвердите.


Далее создайте пользователя базы данных для Passbolt; по умолчанию предложено имя passboltadmin. Введите надёжный пароль и подтвердите.


Повторите пароль и укажите имя базы данных (по умолчанию passboltdb).

Важно: сохраните эти данные (имя базы, пользователя и пароль) — они понадобятся при веб‑конфигурации Passbolt.
Настройка Nginx и SSL
Далее мастер предложит настроить Nginx. Выберите Yes, чтобы продолжить.

Опции для настройки Nginx:
- none — настроить серверный блок без SSL.
- manual — настроить серверный блок и указать путь к уже имеющимся сертификатам.
- auto — настроить серверный блок и автоматически получить сертификаты через Let’s Encrypt.
В примере выбрана manual‑настройка: укажите домен, путь к публичному сертификату (fullchain) и путь к приватному ключу.




После завершения Nginx будет настроен, и вы получите сообщение о готовности — Passbolt станет доступен по указанному доменному имени.

Важно: проверяйте, что файлы сертификатов имеют корректные права доступа и принадлежат пользователю, под которым запущен Nginx.
Первичная конфигурация через браузер
Откройте браузер и перейдите на https://<ваш‑домен>. На начальной странице нажмите «Get Started» (или «Начать» при локализации) чтобы запустить веб‑мастер.

Мастер проверит окружение. Если все готово, появится сообщение “Nice one! Your environment is ready for passbolt”.

Далее введите данные базы данных, созданные ранее (хост: localhost, имя базы: passboltdb, пользователь: passboltadmin и пароль).

На шаге OpenPGP вы можете импортировать существующий ключ или создать новый. Если вы не знакомы с OpenPGP — создайте новый ключ в мастере.

Далее укажите SMTP‑сервер для уведомлений и приглашений. Для тестовой среды можно указать тестовые значения, для продакшна — используйте реальный SMTP с корректной аутентификацией.

В дополнительных опциях укажите домен Passbolt и включите «Force SSL» чтобы принудительно использовать HTTPS.

Создайте администратора: укажите имя, фамилию и логин администратора.

Во время конфигурации мастер создаст необходимые структуры и применит настройки.

Подключение браузерного расширения и финальные шаги
После завершения веб‑настройки вам будет предложено скачать браузерное расширение Passbolt. Установите расширение, затем создайте основную фразу‑пароль (passphrase) для своего аккаунта — это локальная защита вашего закрытого OpenPGP‑ключа.

Скачайте и храните в безопасном месте «recovery kit» — файл восстановления, который сгенерирует Passbolt.

Выберите случайный security token при необходимости и завершите процесс.

После всех шагов вы попадёте в дашборд пользователя.

В разделе «Users» вы сможете управлять пользователями системы и приглашать новых участников.

Passbolt предоставляет клиенты для разных платформ: расширения для браузеров (Chrome/Firefox), мобильные приложения для Android/iOS и CLI для автоматизации и интеграций.
Проверочные списки и рекомендации для продакшна
Важно: до перевода сервера в продуктивную среду выполните следующие шаги.
Чек‑лист администратора (минимум):
- Домен с корректной DNS‑записью A/AAAA.
- Действующий SSL (Let’s Encrypt или коммерческий CA).
- Бэкап приватных ключей GPG и recovery kit, хранящийся вне сервера.
- Бэкапы базы данных и конфигурации Nginx.
- Настроенный мониторинг и алерты (логирование, диск, CPU, SLO в будущем).
- Ограничение доступа по фаерволу: только 80/443 (и SSH по необходимости).
- Аудит прав доступа к файлам сертификатов и GPG‑ключам.
Чек‑лист безопасности:
- Включить Force SSL в настройках Passbolt.
- Запретить прямой доступ к административным серверам из интернета (через VPN/ACL для админов).
- Настроить регулярное обновление пакетов OS и Passbolt.
- Использовать сложные пароли/двухфакторную аутентификацию для администраторов (если применимо).
Рекомендации по безопасности и жёсткая конфигурация
- Храните приватные GPG‑ключи отдельно — не сохраняйте их в общих репозиториях или на общих ресурсах.
- Ограничьте доступ к каталогу с сертификатами (обычно /etc/letsencrypt или /etc/ssl) до пользователей nginx и root.
- По возможности используйте HSM/Key Manager для приватных ключей и TLS‑ключей.
- Включите Content Security Policy (CSP) и другие заголовки безопасности для Nginx.
- Регулярно проверяйте логи на предмет необычной активности и попыток аутентификации.
Пример базовой директивы Nginx для заголовков безопасности (пример, адаптируйте под сайт):
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";
add_header Referrer-Policy no-referrer-when-downgrade;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;Резервирование и восстановление
- Бэкап базы данных: регулярно экспортируйте дамп MySQL (mysqldump) и храните в защищённом хранилище.
- Бэкап GPG‑ключей и recovery kit: храните минимум в двух разных надёжных местах (например, зашифрованный бэкап на внешний носитель и в корпоративном хранилище с доступом по ролям).
Отладка и распространённые ошибки
- Проблемы с подключением к базе данных:
- Проверьте правильность имени базы, пользователя и пароля.
- Убедитесь, что MySQL слушает на localhost и доступ не заблокирован.
- SSL‑ошибки при доступе по HTTPS:
- Убедитесь, что путь к сертификату и ключу правильные и файлы читаются процессом nginx.
- Проверьте совпадение домена в сертификате и в настройках Passbolt.
- Ошибки GPG / OpenPGP:
- Проверьте установленные пакеты GnuPG и PHP‑расширения.
- Убедитесь, что права на ключи корректные.
Плейбук: шаги восстановления после сбоя сервиса (короткий план)
- Восстановить доступ к серверу (SSH) через резервный доступ/консоль.
- Проверить работу nginx, php‑fpm и mysql (systemctl status).
- Если база повреждена — восстановить из последнего дампа.
- Восстановить приватные GPG‑ключи из зашифрованного хранилища.
- Перезапустить сервисы и проверить HTTP/S доступ и работу мастера.
Роли и их чек‑листы
Администратор:
- Настроить бэкапы и мониторинг.
- Управлять сертификатами и тестировать автоматическое обновление Let’s Encrypt.
- Управлять правами пользователей и групп.
Пользователь:
- Установить расширение Passbolt в браузер.
- Сохранить recovery kit и не раскрывать passphrase.
- Использовать уникальные пароли для учётных записей.
Разработчик/DevOps:
- Настроить CI/CD для обновлений и тестирования конфигурации Nginx.
- Интегрировать Passbolt CLI для автоматизированных сценариев.
Решение «когда Passbolt не подходит»
- Если требуется полностью управляемый SaaS (без собственного сервера), Passbolt как self‑hosted решение может быть избыточным.
- Для организаций с регуляторными требованиями к хранению ключей в HSM — убедитесь, что инфраструктура позволяет интеграцию с аппаратными модулями.
Краткие советы по масштабированию
- Горизонтальное масштабирование: выделяйте отдельный сервер для базы данных (отдельный кластер MySQL) и отдельный для веб‑узлов за балансировщиком.
- Кэширование: используйте Redis/OPcache для снижения нагрузки.
- Мониторинг: SLI/SLO для работы веб‑интерфейса и времени отклика API.
Часто задаваемые вопросы
Q: Можно ли использовать MariaDB вместо MySQL?
A: Да, MariaDB совместима и часто используется в продакшн‑окружениях.
Q: Можно ли автоматически получать SSL через Let’s Encrypt?
A: Да — при выборе auto в мастере Nginx Passbolt попытается получить сертификат автоматически.
Q: Как обмениваться паролями между пользователями?
A: Passbolt использует OpenPGP для шифрования данных; вы создаёте записи и даёте права другим пользователям в интерфейсе.
Подведение итогов
Вы установили Passbolt CE на Ubuntu 22.04, настроили базу данных, Nginx и SSL, прошли веб‑мастер и подключили браузерное расширение. Для безопасной эксплуатации выполните рекомендованные чек‑листы: бэкапы, хранение ключей, обновления и мониторинг.
Ключевые шаги:
- Добавление репозитория и установка пакета passbolt-ce-server.
- Автоматическая конфигурация MySQL и создание пользователя.
- Настройка Nginx и SSL (ручная или автоматическая через Let’s Encrypt).
- Веб‑мастер: ввод параметров БД, генерация или импорт OpenPGP‑ключа, создание администратора.
Для подробного изучения возможностей Passbolt и дополнительных инструкций переходите на официальную документацию: https://help.passbolt.com.
Важно: храните recovery kit и приватные GPG‑ключи в безопасном месте — восстановление доступа без них затруднено.
Mermaid flowchart (для быстрого понимания этапов установки):
flowchart TD
A[Начало: Ubuntu 22.04] --> B[Добавить репозиторий Passbolt]
B --> C[Установить passbolt-ce-server]
C --> D{В процессе установки}
D --> D1[Создать БД MySQL]
D --> D2[Настроить Nginx]
D --> D3[Добавить SSL 'manual/auto']
D1 --> E[Запустить веб‑мастер]
D2 --> E
D3 --> E
E --> F[Создать администратора и OpenPGP]
F --> G[Установить расширение в браузер]
G --> H[Готово: проверить работу]Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента