Как установить менеджер паролей Passbolt CE на Debian 11 ATLEX-VPS

Passbolt — это менеджер паролей со 100% открытым исходным кодом, идущим под AGPL-лицензией, который позволяет безопасно хранить и передавать учетные данные для входа на сайт, пароль роутера, пароль Wi-Fi и т.д.

Менеджер паролей Passbolt использует асимметричное сквозное шифрование при поддержке OpenPGP. Открытый код является дополнительной гарантией от возможных бэкдоров и механизмов отслеживания различного рода, которыми могут грешить закрытые коммерческие решения.

Права доступа пользователям Passbolt на своём сервере вы можете гибко разграничивать, предоставляя только нужные учётные данные, без полного доступа ко всем хранилищу.

Оглавление

  1. Подготовка
  2. Настройка пакетного репозитория
  3. Установка официального пакета Linux от Passbolt
  4. Настройка Passbolt
  5. Настройка аккаунта администратора

Подготовка

Во-первых, для использования Passbolt на собственном сервере вам понадобится сервер, желательно с 2 ядрами, 2 ГБ ОЗУ и 20 ГБ свободного места на накопителе. Таким характеристиками соответствует виртуальный сервер ATLEX-VPS-2 либо выше.

Вы можете заказать виртуальный сервер сразу же с предустановленной ОС Debian 11, либо установить её позже одним кликом в интерфейсе панели управления виртуальным сервером через опцию “Переустановить”.

Опции VPS

Во-вторых, вам понадобится домен, который будет вести на ваш сервер. Хотя IP-адреса, через который вы сможете достучаться до вашего сервера, также будет вполне достаточно, но не так комфортно.

В-третьих, вам понадобится работающий SMTP-сервер, чтобы Passbolt смог отправлять email-оповещения, например при восстановлении пароля учётной записи.

Внимание! Важно использовать чистый сервер без каких-либо дополнительно установленных элементов ПО. Установочные скрипты потенциально обладают возможностью нанести урон любым ранее существующим на сервере данным.

Настройка пакетного репозитория

Для облегчения задач по установке и обновлению Passbolt предоставляет пакетный репозиторий, который вам необходимо настроить перед скачиванием и установкой Passbolt CE.

Шаг 0. Необходимо обновить ОС, установить утилиту wget и sudo на сервере.

su -
apt-get install sudo -y
usermod -aG sudo root

После чего перелогиньтесь или перезапустите сервер. Затем выполните следующие команды:

sudo apt-get update
sudo apt-get install wget

Шаг 1. Скачайте скрипт установки зависимостей:

wget https://raw.githubusercontent.com/passbolt/passbolt-dep-scripts/main/passbolt-repo-setup.ce.sh

Шаг 2. Убедитесь в целостности скрипта и выполните его:

[ "$(sha256sum passbolt-repo-setup.ce.sh | awk '{print $1}')" = "ce96ab921e2fa448d48da018e3be0e9646791629dffb13707bbc49b55c739490" ] && sudo bash ./passbolt-repo-setup.ce.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.ce.sh

Установка официального пакета Linux от Passbolt:

sudo apt install passbolt-ce-server

Настройка MariaDB

По умолчанию пакет Passbolt Debian установит MariaDB-сервер локально. Этот шаг поможет вам создать пустую базу данных MariaDB для использования Passbolt.

Создание БД

Конфигурационный процесс запросит у вас данные учётной записи администратора mariadb для создания новой базы данных. По умолчанию в большинстве случаев предустановленное имя пользователя будет root, а пароль пустым.

Логин администратора БД Пароль администратора БД

Теперь нам нужно создать пользователя MariaDB с урезанными правами для подключения Passbolt. Эти значения также будут запрошены позже в инструменте конфигурирования веб-интерфейса Passbolt (webconfiguration tool), так что запомните их.

Логин пользователя БД Пароль пользователя БД

И наконец, нам нужно создать саму базу данных для Passbolt и задать ей имя:

Имя БД

Настройка nginx для обслуживания HTTPS

Пакет Passbolt для Debian в настоящий момент поддерживает nginx. По умолчанию используются порты:

  • 80 для http;
  • 443 для https.
Настройка nginx

После выбора опции “Yes” вам будет предложено следующее диалоговое окно с выбором метода конфигурации SSL на nginx:

  1. Manual (ручная установка сертификата);
  2. Auto (автоматическая установка с Let’s Encrypt).

1. Ручная установка SSL-сертификата

Выбор ручной установки SSL-сертификата

В данном контексте “ручная” означает, что пользователь предоставит SSL-сертификат, это основное отличие от “автоматического” метода, при котором Let’s Encrypt выпустит SSL-сертификат для вас.

Такой ручной метод часто бывает полезен при использовании в приватных сетях с частным центром сертификации, где системный администратор создаёт новый частный SSL-сертификат и загружает его на сервер Passbolt. Также этот метод часто используется с самоподписанными SSL-сертификатами для тестирования.

Мы рассмотрим создание пользователем самоподписанного сертификата на сервере Passbolt.

Создание SSL-сертификата

На своём сервере вы можете сгенерировать SSL-сертификат следующим способом:

openssl req -x509 \
    -newkey rsa:4096 \
    -days 120 \
    -subj "/C=LU/ST=Luxembourg/L=Esch-Sur-Alzette/O=Passbolt SA/OU=Passbolt IT Team/CN=passbolt.domain.tld/" \
    -nodes \
    -addext "subjectAltName = DNS:passbolt.domain.tld" \
    -keyout key.pem \
    -out cert.pem

Эта команда выдаст два файла: key.pem и cert.pem. Определите абсолютный путь их расположения, так как он понадобится вам в дальнейшем. По умолчанию, если вы проводите установку как “root” пользователь, абсолютными путями будут /root/key.pem и /root/cert.pem соответственно.

Конечно же, замените -subj значения своими. Важно установить своё полностью определённое имя домена расположения Passbolt и в CN и в subjectAltName. Таким образом вы сможете импортировать сгенерированный сертификат в “связку ключей” своей операционной системы и сделать свой самоподписанный сертификат доверенным для своего браузера.

Совет: Вы можете использовать IP-адрес вместо доменного имени для своего самоподписанного сертификата. Если вы сделаете это, замените DNS на IP в subjectAltName.

Введите доменное имя, которое вы планируете использовать для своего сервера Passbolt. В этом примере и так как мы используем самоподписанный сертификат, доменное имя не так важно, как если бы вы планировали использовать полноценный SSL-сертификат. В дальнейших шагах доменное имя DNS и доменное имя SSL-сертификата должны совпадать.

Ввод доменного имени

Введите полный путь SSL-сертификата, который вы создали ранее (cert.pem).

Указание пути до SSL-сертификата

Затем введите полный путь SSL-ключа (key.pem).

Указание пути до SSL-ключа

Помните, что вам может понадобиться добавить DNS-записи, чтобы достичь вашего домена в своей локальной сети или через публичного DNS-провайдера.

Завершающее сообщение

Перезагрузите nginx для начала использования SSL-конфигурации.

sudo systemctl reload nginx

Наконец, убедитесь, что fullBaseUrl значение в /etc/passbolt/passbolt.php начинается с https://.

Теперь вы должны быть способны достичь своего сервера по домену, который вы указали.

2. Автоматическая установка SSL-сертификата от Let's Encrypt

Выбор автоматической установки SSL-сертификата

Важное требование: Это руководство предполагает, что у вашего сервера есть действительное доменное имя для работы с Let’s Encrypt.

Внимание: конфигурация не поддерживает работу Passbolt в режиме подкаталога. Например, не получится использовать сценарий вида https://mydomain.com/passbolt

Вам нужно ввести доменное имя, ведущее на ваш сервер:

Введение домена

И указать email-адрес для того, чтобы Let’s Encrypt получил возможность оповещать вас об обновлениях и другой административной информации:

Введение почты

Если процесс завершится успешно, вы должны увидеть финальное сообщение, которое укажет, что теперь вам необходимо закончить конфигурирование Passbolt.

Завершающее сообщение

Перезагрузите nginx для начала использования SSL-конфигурации.

sudo systemctl reload nginx

Наконец, убедитесь, что fullBaseUrl значение в /etc/passbolt/passbolt.php начинается с https://.

Теперь вы должны быть способны достичь своего сервера по домену, который вы указали.

Настройка Passbolt

Перед тем, как вы сможете использовать приложение, вам необходимо его настроить. Откройте в своём браузере домен или IP-адрес вашего сервера. Вы должны увидеть начальную страницу passbolt.

Начальная страница

Проверка состояния

Первая страница мастера расскажет вам о том, что среда подготовлена для passbolt. Исправьте ошибки, если будут показаны какие-либо и нажмите на “Start configuration”, когда будете готовы.

Проверка системы

База данных

Этот шаг задаёт для Passbolt базу данных для использования. Введите имя хоста, номер порта, имя базы данных, имя пользователя и пароль.

Параметры базы данных

Ключ GPG

В этой секции вы можете сгенерировать или импортировать пару ключей GPG. Эта пара будет использоваться API Passbolt для собственной аутентификации в течение процесса подтверждения входа в систему.

Сгенерируйте ключ, если у вас его нет.

Параметры для ключа GPG

Опционально: импортируйте ключ, если у вас уже есть существующий и вы хотите, чтобы ваш сервер его использовал.

Не задавайте парольную фразу (passphrase) или дату истечения (an expiration date) модуль php-gnupg не поддерживает парольные фразы в данный момент. Убедитесь, что вы их не используете. Также не задавайте дату истечения. В противном случае всем вашим пользователям придётся осуществлять восстановление доступа к аккаунту, когда вам будет необходимо обновить ключ.

Для создания нового GnuPG ключа без парольной фразы:

gpg --batch --no-tty --gen-key <<EOF
  Key-Type: default
  Key-Length: 2048
  Subkey-Type: default
  Subkey-Length: 2048
  Name-Real: John Doe
  Name-Email: email@domain.tld
  Expire-Date: 0
  %no-protection
  %commit
EOF

Замените Name-Real и Name-Email своими значениями.

Для отображения вашего нового ключа:

gpg --armor --export-secret-keys email@domain.tld
Созданный ключ PGP

Почтовый сервер (SMTP)

На этой стадии мастер попросит вас ввести данные вашего SMTP-сервера.

Данные SMTP-сервера

Вы также можете протестировать, корректна ли ваша конфигурация, использовав функцию отправки тестового письма с правой стороны вашего экрана. Введите email-адрес, на который вы хотите, чтобы мастер отправил тестовое письмо и нажмите “Send test email”.

Отправка тестового письма

Настройки

Мастер затем спросит вас о предпочитаемых вами настройках вашего экземпляра Passbolt. Рекомендуемые по умолчанию значения уже заданы, но вы можете изменить их по своему желанию.

Настройки по умолчанию

Создание первого пользователя

Вам необходимо создать аккаунт первого администратора. Этот первый администратор скорее всего — вы, так что введите свои данные и нажмите “Next”.

Данные администратора

Установка

Собственно установка. У мастера уже достаточно информации для осуществления конфигурирования Passbolt. Откиньтесь в кресле и расслабьтесь на несколько секунд, пока идёт конфигурационный процесс.

Статус установки

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

Завершение установки

Настройка аккаунта администратора

Скачайте плагин

Перед продолжением Passbolt запросит у вас скачивание своего плагина. Если вы уже установили его, то можете пропустить этот шаг.

Установка плагина

Создайте новый ключ

Passbolt попросит вас создать или импортировать ключ, который впоследствии будет использован для вашей идентификации и шифрования ваших паролей. Ваш ключ должен быть защищён паролем. Выбирайте его с умом, так как он будет охранять доступ ко всем остальным вашим паролям.

Создание кодовой фразы

Скачайте ваш набор для восстановления (recovery kit)

Этот шаг критичен. Ваш ключ является единственным способом для получения доступа к вашему аккаунту и паролям. Если вы потеряете этот ключ (из-за поломки или утраты вашего компьютера при отсутствии бэкапа), ваши зашифрованные данные будут потеряны, даже если вы помните пароль.

Набор для восстановления

Определите свой токен безопасности

Выбор токена, состоящего из цвета и трёх символов, является вторичным механизмом безопасности, который помогает вам противостоять фишинговым атакам. Каждый раз, когда вы будете выполнять какую-либо деликатную операцию в Passbolt, вы должны будете видеть этот токен.

Токен безопасности

Вот и всё!

Ваш аккаунт администратора сформирован. Вы будете перенаправлены на страницу входа в Passbolt. Наслаждайтесь!

Для реализации основных услуг и функций нашего сайта, а также для сбора данных о том, как посетители взаимодействуют с нашими сайтом, продуктами и услугами, мы применяем различные инструменты, включая файлы cookie. Нажимая «Принять», вы соглашаетесь с текущими правилами и условиями использования сайта и даете разрешение на использование этих данных. В противном случае, пожалуйста, покиньте сайт.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: