基于 Vaultwarden 与 Keyguard 的自托管密码管理实践
分类:科技 标签:开源项目、NAS、密码管理、Docker 面对主流密码管理方案日益上涨的订阅费用、功能限制或隐私隐忧,越来越多的数码爱好者选择将数据掌握在自己手中。本文将带你利用闲置的 NAS 与开源工具,从零开始打造一套安全、轻量且体验出色的自托管密码管理系统。 为什么选择 Vaultwarden 在众多自托管密码管理方案中,Vaultwarden 是一个极具吸引力的选择。它是基于社区维护的非官方开源 Bitwarden 后端服务,相比官方笨重的 .NET 实现,Vaultwarden 具备以下明显优势: 极致轻量:镜像体积小,常驻内存通常仅需百兆左右,非常适合个人或小微团队在 NAS 上长期运行。 功能完备:不仅完美兼容 Bitwarden 协议,还能直接从后端解锁 TOTP 管理、多人共享等原本需要高级订阅的功能。 生态成熟:原生支持官方的浏览器扩展与各类第三方客户端,平稳过渡毫无压力。 NAS 部署与配置要点 对于家庭用户而言,通过 Docker 在 NAS 上部署 Vaultwarden 是最简便的方案。以下是部署过程中需要重点关注的核心环节: 镜像与目录映射:拉取 vaultwarden/server 的最新镜像,并将容器内部的 /data 目录持久化映射到 NAS 的实体文件夹中。这样不仅能保障数据安全,也方便后续进行手动备份或整体迁移。 端口与网络配置:避免使用容易冲突的默认 80 端口,建议通过 bridge 网络将容器端口映射至 NAS 的自定义主机端口(如 8808:80)。 关闭开放注册:为了防止公开暴露后被恶意注册账号,部署完成后务必在环境变量中将 SIGNUPS_ALLOWED 设置为 false。 管理后台权限:Vaultwarden 的 /admin 管理后台控制着整个服务的核心数据库。建议在初次配置完成后,彻底删除 ADMIN_TOKEN 环境变量,关闭管理后台访问以确保最高安全性。 突破内网限制:通过 Cloudflare Tunnel 实现 HTTPS 现代浏览器的「安全上下文」策略强制规定,密码管理器网页端依赖的 Web Crypto API 必须在可信的 HTTPS 环境下才能调用。然而,国内家庭宽带通常面临复杂的网络环境,直接配置反向代理较为繁琐。 如果你想省去繁琐的证书申请与端口映射,使用 Cloudflare Tunnel 是一种极其优雅的解法: ...