Менеджер паролей — единственное приложение, которое знает всё: каждый логин, каждый код восстановления, каждый ваш секрет. Большинство отдаёт это в чужое облако и надеется. Можно вместо этого запустить его самому, на машине, которой вы управляете. Vaultwarden — лёгкий сервер, совместимый с Bitwarden, который ровно это и делает. Ниже — честная версия того, как сделать это правильно, включая ту часть, где вы становитесь службой безопасности.
Что такое Vaultwarden
Это маленький self-hosted сервер, говорящий по протоколу Bitwarden. Вы продолжаете пользоваться официальными приложениями и расширениями Bitwarden — просто направляете их на свой сервер вместо публичного облака. Написан лёгким: спокойно живёт на машине с 1 ГБ и почти вас не замечает.
Зачем держать у себя
Хранилище лежит на вашей инфраструктуре. Никакая третья сторона не держит ваши зашифрованные данные, чужая утечка — не ваша проблема, а политику бэкапов и доступа задаёте вы. Для человека, которому важна приватность, этот контроль и есть смысл. В обмен аптайм и бэкапы теперь ваши — к этому вернёмся честно.
Установка
Маленькая машина. 1 ГБ оперативки достаточно. Диска нужно чуть-чуть — хранилище это текст.
Docker с постоянным томом. Запустите контейнер Vaultwarden и примонтируйте том под его данные. Этот том — всё ваше хранилище; он обязан переживать рестарты, обновления и перезагрузки.
services:
vaultwarden:
image: vaultwarden/server:latest
restart: unless-stopped
volumes:
- ./vw-data:/data
environment:
- SIGNUPS_ALLOWED=true # выключите после того, как зарегистрируетесь
ports:
- "127.0.0.1:8080:80"
HTTPS обязателен для всего, что держит секреты. Поставьте перед ним reverse-proxy, чтобы терминировать TLS на вашем домене. Caddy сам получает бесплатный сертификат:
vault.yourdomain.com {
reverse_proxy 127.0.0.1:8080
}
Направьте vault.yourdomain.com на ваш VPS. Поскольку серверу с секретами нужен свой публичный HTTPS-эндпоинт, тут просится тариф с выделенным IP — NAT-машина с одним проброшенным SSH-портом его не отдаст.
Бэкапьте так, будто это незаменимо — потому что так и есть
Том с данными и есть ваше хранилище. Если диск умрёт, а копии нет, вместе с ним уходят все пароли. Это здесь самый важный шаг, важнее любого тюнинга: настройте регулярный бэкап этого тома куда-то вне машины — на другую машину, в объектное хранилище, на свой ноутбук. Сделайте это до того, как доверите серверу что-то настоящее.
Закройте машину как следует
На этой машине лежат все ваши пароли, так к ней и относитесь:
- Закройте регистрацию после того, как создали аккаунт. Поставьте
SIGNUPS_ALLOWED=falseи перезапустите, чтобы никто больше не завёл аккаунт на вашем сервере. - SSH только по ключам, фаервол на 443 и ваш SSH-порт. (Чек-лист на десять минут.)
- Держите обновлённым. Регулярно подтягивайте новые образы — сервер с секретами это стоящая цель.
Честные ограничения
- Теперь вы служба безопасности для того, что держит все ваши пароли. Это реальная ответственность, а не слоган — либо всерьёз, либо не хостите именно это самостоятельно.
- Нет бэкапа — один отказ диска отделяет вас от потери всего. Отмены не будет. Это не обсуждается.
- Как только машина публична, она мишень. Авторизация, обновления и закрытая регистрация — то, что держит её скучной.
- Если владеть этим не хочется, нормальный managed-менеджер — совершенно легитимный выбор. Self-hosting покупает контроль, а у контроля есть цена обслуживания — заходите, понимая это.
Как платить
Регистрация по email, оплата в USDC или USDT — без карты и без документов. Логично для машины, которая держит ключи ко всему остальному вне любого следа с вашим именем.