Passbolt — это менеджер паролей со 100% открытым исходным кодом, идущим под AGPL-лицензией, который позволяет безопасно хранить и передавать учетные данные для входа на сайт, пароль роутера, пароль Wi-Fi и т.д.
Менеджер паролей Passbolt использует асимметричное сквозное шифрование при поддержке OpenPGP. Открытый код является дополнительной гарантией от возможных бэкдоров и механизмов отслеживания различного рода, которыми могут грешить закрытые коммерческие решения.
Права доступа пользователям Passbolt на своём сервере вы можете гибко разграничивать, предоставляя только нужные учётные данные, без полного доступа ко всем хранилищу.
Оглавление
- Подготовка
- Настройка пакетного репозитория
- Установка официального пакета Linux от Passbolt
- Настройка Passbolt
- Настройка аккаунта администратора
Подготовка
Во-первых, для использования Passbolt на собственном сервере вам понадобится сервер, желательно с 2 ядрами, 2 ГБ ОЗУ и 20 ГБ свободного места на накопителе. Таким характеристиками соответствует виртуальный сервер ATLEX-VPS-2 либо выше.
Вы можете заказать виртуальный сервер сразу же с предустановленной ОС Debian 11, либо установить её позже одним кликом в интерфейсе панели управления виртуальным сервером через опцию “Переустановить”.
Во-вторых, вам понадобится домен, который будет вести на ваш сервер. Хотя 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.
После выбора опции “Yes” вам будет предложено следующее диалоговое окно с выбором метода конфигурации SSL на nginx:
- Manual (ручная установка сертификата);
- Auto (автоматическая установка с Let’s Encrypt).
1. Ручная установка 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-ключа (key.pem
).
Помните, что вам может понадобиться добавить DNS-записи, чтобы достичь вашего домена в своей локальной сети или через публичного DNS-провайдера.
Перезагрузите nginx для начала использования SSL-конфигурации.
sudo systemctl reload nginx
Наконец, убедитесь, что fullBaseUrl
значение в /etc/passbolt/passbolt.php
начинается с https://
.
Теперь вы должны быть способны достичь своего сервера по домену, который вы указали.
2. Автоматическая установка SSL-сертификата от Let's Encrypt
Важное требование: Это руководство предполагает, что у вашего сервера есть действительное доменное имя для работы с 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 для собственной аутентификации в течение процесса подтверждения входа в систему.
Сгенерируйте ключ, если у вас его нет.
Опционально: импортируйте ключ, если у вас уже есть существующий и вы хотите, чтобы ваш сервер его использовал.
Не задавайте парольную фразу (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
Почтовый сервер (SMTP)
На этой стадии мастер попросит вас ввести данные вашего SMTP-сервера.
Вы также можете протестировать, корректна ли ваша конфигурация, использовав функцию отправки тестового письма с правой стороны вашего экрана. Введите email-адрес, на который вы хотите, чтобы мастер отправил тестовое письмо и нажмите “Send test email”.
Настройки
Мастер затем спросит вас о предпочитаемых вами настройках вашего экземпляра Passbolt. Рекомендуемые по умолчанию значения уже заданы, но вы можете изменить их по своему желанию.
Создание первого пользователя
Вам необходимо создать аккаунт первого администратора. Этот первый администратор скорее всего — вы, так что введите свои данные и нажмите “Next”.
Установка
Собственно установка. У мастера уже достаточно информации для осуществления конфигурирования Passbolt. Откиньтесь в кресле и расслабьтесь на несколько секунд, пока идёт конфигурационный процесс.
Ваш пользовательский аккаунт создан. Вы увидите страницу перенаправления на несколько секунд, после чего будете перенаправлены к процессу настройки пользователя, чтобы вы могли сконфигурировать аккаунт своего пользователя.
Настройка аккаунта администратора
Скачайте плагин
Перед продолжением Passbolt запросит у вас скачивание своего плагина. Если вы уже установили его, то можете пропустить этот шаг.
Создайте новый ключ
Passbolt попросит вас создать или импортировать ключ, который впоследствии будет использован для вашей идентификации и шифрования ваших паролей. Ваш ключ должен быть защищён паролем. Выбирайте его с умом, так как он будет охранять доступ ко всем остальным вашим паролям.
Скачайте ваш набор для восстановления (recovery kit)
Этот шаг критичен. Ваш ключ является единственным способом для получения доступа к вашему аккаунту и паролям. Если вы потеряете этот ключ (из-за поломки или утраты вашего компьютера при отсутствии бэкапа), ваши зашифрованные данные будут потеряны, даже если вы помните пароль.
Определите свой токен безопасности
Выбор токена, состоящего из цвета и трёх символов, является вторичным механизмом безопасности, который помогает вам противостоять фишинговым атакам. Каждый раз, когда вы будете выполнять какую-либо деликатную операцию в Passbolt, вы должны будете видеть этот токен.
Вот и всё!
Ваш аккаунт администратора сформирован. Вы будете перенаправлены на страницу входа в Passbolt. Наслаждайтесь!