密码管理器是那个知道一切的应用——每个登录、每个恢复码、你拥有的每个机密。大多数人把那个交给一个第三方云、然后寄希望。你可以改为自己跑它,在一台你掌控的机器上。Vaultwarden 是一个轻量、兼容 Bitwarden 的服务器,做的正是这件事。这是把它做对的诚实版本——包括你成为安全团队的那部分。
Vaultwarden 是什么
它是一个小的、自托管的服务器,讲 Bitwarden 协议。你继续用官方 Bitwarden 应用和浏览器扩展——只是把它们指向你的服务器,而不是公共云。它写得很轻:在一台 1 GB 的机器上跑得很舒服,几乎不打扰你。
为什么自托管它
你的保险库住在你的基础设施上。没有第三方持有你的加密数据、别人的泄露不是你的问题,备份和访问策略由你定。对一个注重隐私的人,那份掌控就是重点。作为交换,正常运行时间和备份现在归你自己——我们会诚实地讲到。
搭建
一台小机器。 1 GB 内存就够。磁盘需求很小——保险库是文本。
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 对任何持有机密的东西都不可商量。 在前面放一个反向代理、在你的域名上终止 TLS。Caddy 自动获取一张免费证书:
vault.yourdomain.com {
reverse_proxy 127.0.0.1:8080
}
把 vault.yourdomain.com 指向你的 VPS。因为一个密钥服务器需要自己的公网 HTTPS 端点,这想要一个独立IP套餐——一台只有一个转发 SSH 端口的 NAT 机器服务不了它。
把它当成无可替代的来备份——因为它就是
数据卷就是你的保险库。如果磁盘死了、你没有副本,每个密码都随它一起没了。这是这里最重要的一步,比任何调优都重要:自动把那个卷定期备份到机器之外的某个地方——另一台机器、对象存储、你自己的笔记本。在你把任何真实的东西托付给这台服务器之前,先做这件事。
狠狠锁死它
这台机器持有你所有的密码,所以就那样对待它:
- 你注册后关闭注册。 设
SIGNUPS_ALLOWED=false并重启,这样别人就不能在你的服务器上创建账户。 - 只用密钥的 SSH、防火墙只开 443 和你的 SSH 端口。 (那份十分钟清单。)
- 保持打补丁。 定期拉新镜像——一个密钥服务器是个值得下手的目标。
诚实的界限
- 你现在是那个持有你所有密码的东西的安全团队。 那是真实的责任,不是口号——要么认真对待,要么别自托管这一个。
- 没有备份意味着一次磁盘故障就丢掉一切。 没有撤销。这不可商量。
- 它一公开就是个目标。 鉴权、打补丁和关闭注册是让它保持无聊的东西。
- 如果你不想拥有这个, 一个有信誉的托管管理器是完全正当的选择。自托管买来掌控,而掌控有维护成本——带着这个认知进去。
付款
用一个邮箱注册、用 USDC 或 USDT 付款——不用卡、不用证件。对那台把通往其他一切的钥匙保管起来、又不留在任何身份痕迹上的机器来说,很合适。
评论
暂无评论。来做第一个吧。