Vaultwarden: самохостинговый менеджер паролей¶
Vaultwarden — это свободный серверный менеджер паролей с открытым исходным кодом, предназначенный для самостоятельного развёртывания (самохостинга). Программа представляет собой лёгкую альтернативу официальному серверу Bitwarden и совместима с официальными клиентскими приложениями Bitwarden (десктопными, мобильными и браузерными расширениями). Проект распространяется под лицензией GPL-3.0 и написан на языке программирования Rust.
¶История
Проект был основан в 2018 году разработчиком под псевдонимом Daniel García (danielgarcia-xyz) как ответ на высокие системные требования официального серверного компонента Bitwarden, который изначально распространялся в виде набора Docker-образов на базе .NET и требовал значительных ресурсов (Microsoft SQL Server, RabbitMQ и других зависимостей). Первоначально проект назывался bitwarden_rs, что подчёркивало его назначение — неофициальная реализация сервера Bitwarden на Rust. Переименование в Vaultwarden произошло в апреле 2021 года после того, как компания Bitwarden направила автору уведомление о нарушении товарного знака. В настоящее время проект активно развивается сообществом, поддерживается большим числом контрибьюторов и является одним из самых популярных решений для персонального хостинга паролей.
¶Архитектура и принцип работы
Vaultwarden работает по модели «клиент-сервер». Серверная часть хранит зашифрованные данные пользователей (логины, пароли, заметки, банковские карты) в выбранной базе данных. В отличие от официального сервера Bitwarden, который требует сложной инфраструктуры, Vaultwarden компилируется в один исполняемый бинарный файл и может работать на любом устройстве, поддерживающем Rust (включая одноплатные компьютеры Raspberry Pi и слабые виртуальные серверы).
¶Поддерживаемые базы данных
По умолчанию Vaultwarden использует встроенную базу данных SQLite, которая не требует отдельной установки и настройки. Для крупных инсталляций или при необходимости горизонтального масштабирования поддерживаются также PostgreSQL и MySQL/MariaDB. Выбор базы данных осуществляется через переменные окружения при первом запуске.
¶Совместимость с клиентами
Ключевая особенность — полная совместимость с официальными приложениями Bitwarden. Пользователи могут использовать веб-интерфейс Vaultwarden, а также подключать любые официальные клиенты, указав в настройках адрес собственного сервера. Это обеспечивает бесшовный переход с облачного сервиса Bitwarden на самохостинг без смены привычного интерфейса. Дополнительно поддерживаются сторонние клиенты, такие как браузерные расширения и мобильные приложения, работающие по протоколу Bitwarden.
¶Основные возможности
Vaultwarden реализует практически весь функционал коммерческой версии Bitwarden, включая функции, которые в официальном сервисе доступны только по платной подписке.
¶Хранение и организация данных
- Хранилище записей: логины, пароли, защищённые заметки, банковские карты и идентификационные данные.
- Папки и коллекции: организация записей в структуры для личного использования или для совместной работы в команде.
- Генератор паролей: встроенный инструмент для создания сложных паролей с настраиваемыми параметрами (длина, набор символов).
¶Безопасность и шифрование
- Шифрование AES-256: все данные шифруются на стороне клиента (end-to-end), сервер хранит только зашифрованные «хранилища» (vaults) и не имеет доступа к открытым паролям.
- Мастер-пароль: доступ к данным осуществляется через единый главный пароль, который не передаётся на сервер.
- Двухфакторная аутентификация (2FA): поддержка TOTP-приложений (Google Authenticator, Authy), WebAuthn (включая аппаратные ключи YubiKey), Duo Security и электронной почты.
- Защита от перебора: встроенные механизмы ограничения скорости попыток входа, а также возможность настройки политик блокировки.
¶Продвинутые функции
- Организации и совместное использование: возможность создавать организации (аналог командных пространств) и делиться записями с другими пользователями с разграничением прав доступа.
- Vault Health Reports: встроенный модуль проверки паролей на уязвимость (повторное использование, нахождение в базах утечек через Have I Been Pwned).
- Администрирование: веб-интерфейс администратора с панелью мониторинга, управлением пользователями и диагностикой.
- Поддержка TOTP-генерации: встроенный генератор одноразовых кодов для двухфакторной аутентификации (не требует отдельного приложения-аутентификатора).
- Импорт и экспорт данных: поддержка форматов CSV и JSON для миграции из других менеджеров паролей (LastPass, KeePass, 1Password и других).
¶Установка и развертывание
Vaultwarden распространяется в нескольких форматах. Наиболее распространённый способ — использование готового Docker-образа vaultwarden/server. Для установки достаточно выполнить команду запуска контейнера с пробросом порта и монтированием тома для хранения базы данных. Также доступны готовые пакеты для различных дистрибутивов Linux, FreeBSD, а также сборка из исходного кода через Cargo (менеджер пакетов Rust).
¶Системные требования
Благодаря использованию Rust и SQLite, Vaultwarden крайне нетребователен к ресурсам. Для полноценной работы достаточно 256 МБ оперативной памяти и одного ядра процессора. Это позволяет запускать сервер на встраиваемых устройствах, NAS-системах и старых компьютерах, что выгодно отличает его от официального сервера Bitwarden, требующего не менее 2 ГБ ОЗУ и многочисленных сервисов.
¶Ограничения и критика
Несмотря на широкую функциональность, Vaultwarden имеет ряд ограничений по сравнению с официальным облачным сервисом Bitwarden:
- Отсутствие некоторых платных функций: не поддерживаются такие функции, как Bitwarden Send (безопасная передача файлов и текста), некоторые виды отчётности и расширенные политики корпоративного управления.
- Ответственность за безопасность: при самохостинге пользователь самостоятельно отвечает за обновление сервера, резервное копирование и защиту инфраструктуры от внешних атак.
- Нет официальной мобильной версии сервера: хотя проект работает на Linux-подобных системах, официальной сборки для iOS или Android не существует, хотя возможна установка через Termux или аналогичные среды.
- Юридический статус: проект не аффилирован с компанией Bitwarden, что создаёт потенциальные риски при изменении API или политики лицензирования, хотя на практике обратная совместимость сохраняется на протяжении многих лет.
¶Применение
Vaultwarden используется частными лицами для создания персонального хранилища паролей, небольшими компаниями и командами разработчиков, которым необходим полный контроль над данными, а также энтузиастами, предпочитающими избегать облачных сервисов по соображениям приватности. Проект также популярен в среде IT-специалистов, ценящих лёгкость развёртывания и минимальное потребление ресурсов.
¶См. также
- Bitwarden
- KeePass
- Менеджер паролей
