在私有 VPS 上托管你的密码保险库
选择 Bitwarden 或 Vaultwarden,保护 HTTPS 端点,并为你最重要的账户建立经过测试的备份例程。
概览
自托管密码库需要受保护的传输、受限的注册、安全的管理和经过测试的恢复流程。Bitwarden 和社区版 Vaultwarden 实现有不同的文档和支持模式。遵循所选项目的要求,并验证备份保留恢复密码库所需的信息。
决定你是否想要承担运营责任
密码保险库可以解锁许多其他账户,因此其可用性和安全性值得深思熟虑地规划。Bitwarden 客户端在同步前加密保险库数据。自行托管后端会改变加密数据和服务元数据的存放位置;但这并不会降低强主密码和安全客户端设备的重要性。
你可以控制部署、保留和访问策略,同时承担补丁、备份和恢复的责任。小型私有实例可能比大型共享服务受到更少的广泛关注,但配置错误可能使其更加暴露。选择自托管是因为你能够维护它,而不是因为每个自托管系统都自动更安全。
选择后端并检查兼容性
Bitwarden 提供官方自托管选项,并附有文档化的要求,包括不同的部署格式。请比较当前的资源和功能要求,而不是假设每个官方安装都需要相同的大型技术栈。
Vaultwarden 是一个独立的、非官方实现,与 Bitwarden 客户端兼容。其轻量设计对个人或家庭实例很有吸引力,但功能兼容性和发布时机可能不同。官方产品的安全声明和审计不应自动归因于这个独立后端。
准备服务器、名称和访问路径
一台小型 Linux VPS,配备 1 vCPU 和 2 GB RAM,可以作为适度规模 Vaultwarden 实例的起点;附件和其他工作负载决定存储需求。完整的 root 访问权限允许进行配置,但虚拟机监控程序仍由托管运营商控制。
将专用主机名指向服务器,并配置适当的 A 记录,以及(如果支持并经过测试)AAAA 记录。规划有效的 HTTPS、受保护的管理和恢复路径。域名注册、证书联系信息和用户电子邮件地址可能泄露托管注册之外的关联。
使用持久存储和本地后端进行部署
在添加密码库之前,先更新操作系统并建立基于密钥的管理。使用 Vaultwarden 项目维护的镜像或项目文档中记载的安装方法。持久挂载数据位置,以便更换容器时不会抹除服务。
将应用程序后端保持在 localhost 或私有容器网络上,然后在前端放置 Caddy 或 Nginx 用于 HTTPS。确认容器端口没有通过 Docker 的网络规则被意外暴露。只开放用户、证书和你所选管理路径所需的服务。
关闭注册并保护每个账户
通过受控的入门流程创建你打算使用的账户,然后设置 SIGNUPS_ALLOWED=false。通过明确邀请或受保护的管理工作流来管理其他用户。正确设置服务 URL,以便客户端和链接使用预期的 HTTPS 端点。
单独保护任何管理令牌,并遵循项目关于其安全表示形式的指导。使用强主密码,并在每个账户上启用适当的两步验证。将恢复代码存储在密码库本身之外;需要不可用的密码库来恢复它会产生循环依赖。
示例 URL 有意设为不可用。请将其替换为你已配置的主机名和证书。
DOMAIN=https://vault.example.invalid
SIGNUPS_ALLOWED=false备份一组一致的数据
备份需要的不仅仅是对活动 SQLite 文件的随意复制。使用受支持的在线备份方法或受控的停止服务流程。包含附件以及你所选安装所需的配置或密钥,而不要假设数据库包含每个文件。
在将归档文件从服务器传输出去之前对其进行加密,尤其是在配置包含 SMTP 凭据或管理令牌时。将异地副本和备份解密密钥分开保存。PostgreSQL 等数据库替代方案需要各自一致的转储流程。
- 通过受支持的一致方法备份数据库。
- 包含附件和相关的持久服务文件。
- 在归档文件离开 VPS 之前对其进行加密。
- 至少保留一份独立的异地副本。
- 在隔离环境中测试恢复和客户端同步。
维护软件并限制不必要的暴露
跟踪 Vaultwarden 版本和你使用的客户端版本。应用主机安全更新,并在推出前审查应用程序变更;盲目替换容器无法很好地替代经过测试的升级和恢复计划。每次变更后验证健康状况和备份。
速率限制、安全代理标头和适当的监控有助于检测不需要的登录尝试。如果每个客户端都能通过 VPN 可靠访问,家庭服务可以限制为仅通过 VPN 访问。在移除公网可达性之前测试移动访问和恢复。有意识地选择有限的日志记录,而不是牺牲所有诊断信息。
将应用程序隐私与托管隐私联系起来
最少的账户数据可以减少附加到 VPS 配置文件的信息。公共账本支付、与你本人关联的域名以及应用程序的用户记录仍可能创建可识别的关联。检查整个技术栈,避免承诺某一层可以保护所有其他层。
运行良好的私人密码库结合了客户端加密、经过验证的 HTTPS、受限的管理、受保护的账户和经过测试的恢复。如果服务器不可用,请为关键凭据保留独立计划。这正是使部署足够可靠、能够保存你无法承受丢失的信息的原因。