Менеджер паролів — єдиний застосунок, який знає все: кожен логін, кожен код відновлення, кожен ваш секрет. Більшість віддає це в чужу хмару й сподівається. Можна натомість запустити його самому, на машині, якою ви керуєте. 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 — без картки й без документів. Логічно для машини, яка тримає ключі до всього іншого поза будь-яким слідом із вашим іменем.