Привет! Меня зовут Андрей Кисин, я руковожу командой DevOps в CUSTIS. В этой статье расскажу о нашем опыте использования self-hosted Passbolt — open-source-решения для хранения паролей. Расскажу, как мы его адаптировали под свои нужды и с какими трудностями столкнулись. Посмотрим на альтернативы, их преимущества и недостатки, а также поговорим об организации работы по предоставлению доступа к секретам.

Зачем нужен Passbolt

Давайте коротко рассмотрим основные возможности Passbolt:

  • Гибкая настройка доступа к паролям.

  • Возможность добавления комментариев к паролям.

  • Уведомления по электронной почте о важных событиях.

  • Интеграция с браузерами.

  • Шифрование данных (OpenPGP).

  • Поддержка двухфакторной аутентификации: TOTP, YubiKey.

  • Возможность использования API.

  • Генерация паролей и контроль за сроком их действия.

  • Мобильные приложения под iOS и Android.

  • Импорт и экспорт данных.

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

Для конечных пользователей это было максимально неудобно. Например, был запрос на предоставление доступа одному пользователю на 1 секрет с возможностью ограничить его изменение. Напрашивалось централизованное решение, и нам подошёл Passbolt. Забегая немного вперёд: серебряную пулю мы не нашли.

А есть ли альтернативы?

Да! Но их мало, и ограничения нас не устроили. Например наиболее близким по функционалу оказался Vaultwarden. Увы, Vaultwarden позволяет шарить пароли только с группами. Т.е. если мы хотим пошарить пароль между двумя пользователями, нужно создать группу, добавить туда пользователя и пошарить пароль на группу.

Другой претендент — Psono. Он выглядит как альтернатива, есть шифрование, есть возможность шарить пароли, но бесплатная версия ограничена десятью пользователями, и это сразу ставит точку, если ваша команда большая.

Хорошим решением выглядит Teampass, однако в нём также нужно шарить пароль с предварительно созданной группой.

Можно было бы использовать KeeWeb с общим kdbx-файлом, однако для большого числа пользователей этот вариант не подойдёт и все та же история с общим доступом к паролям. Плюс как только несколько человек начинают править базу параллельно, получаем конфликт и риск потерять изменения.

С остальными альтернативами тоже не всё гладко — ограничения по числу пользователей, SaaS, геополитические риски.

Ограничения

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

Также у Passbolt нет синхронизации между инстансами, но для нас это не критично.

Еще в бесплатной версии нет:

  • Интеграции с LDAP.

  • Single Sign-On (SSO).

  • Расширенных журналов аудита.

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

Не баг, а фича

Для версии PassBolt CE нужно хранить не только пароль учётной записи, но и private key!

Для нас это стало сюрпризом, мы узнали об этом только в момент тестирования восстановления УЗ. Стали разбираться и выяснили, что это не баг, а фича. Разработчики Passbolt сделали такое ограничение для бесплатной версии. При утере мастер-пароля или ключа от аккаунта PassBolt восстановить аккаунт не получится, вендор рекомендует блокировать учётную запись.

Ожидаемо, что заблокированным УЗ повторно зарегистрироваться нельзя.

А при удалении УЗ удаляются пароли, где он единственный владелец. На скриншоте Passbolt заботливо предлагает назначить новых владельцев секретов, где УЗ единственный владелец.

В таких условиях мы предлагаем придерживаться следующих рекомендаций:

  • Надежно сохранять мастер-пароль и ключ на этапе регистрации.

  • Для снижения ущерба от потери мастер-пароля рекомендуем предоставлять роль владельца на общие ресурсы другим участникам команды.

  • При утере файла с ключом можно попробовать найти его по имени passbolt-recovery-kit.txt.

Организация хранения секретов

Рекомендуем использовать иерархию каталогов для хранения паролей. Например:

Название_проекта → Название_подразделения → Название_тестовой_среды → Пароль.

В этом случае будет удобно управлять доступом, можно делиться правами на каждом уровне.

Пара слов про ролевую модель. Она весьма ограничена: есть только роли администратора и пользователя. Добавить свою роль не получится.

Вместо заключения

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

Хотелось бы отметить хорошую поддержку русского языка, возможность для саморегистрации пользователей с определенного домена, гибкую настройку уведомлений по email, API. Также встроенный контроль за сроком действия паролей позволяет автоматически следить за процессами смены паролей. Если пользователь или группа, имеющая доступ к паролю, удаляется из списка разрешений, пароль автоматически истекает. Если пароль кем-то обновлён, он перестаёт считаться истекшим.

Без ложки дёгтя тоже не обошлось. Зачем разработчики ограничили процесс восстановления УЗ для CE-версии — я так и не понял. Лично мне не хватило поддержки SSO и возможности отправки уведомлений в Telegram. В остальном решение надежное и закрывает наши задачи. Если у вас есть вопросы или вам нужна дополнительная информация, пишите в комментариях. Я и наша команда всегда готовы поделиться своей экспертизой.

Комментарии (2)


  1. pr0l
    02.07.2025 13:00

    Попробуйте nextcloud + Passwords
    Умеет ldap, расшаривание сразу пользователю, не умеет расшаривать пароль группе (вернее, автор пишет что не секурно, поэтому убрал фичу)
    Есть расширение, которое и подставляет, и собирает пароли которых нет (отключаемое), если нужно собрать и сохранить.


    1. AndreyKisin Автор
      02.07.2025 13:00

      Спасибо, к сожалению нам не подойдет. Регулярно шарим пароли на группы пользователей.