分类:开源 标签:密码管理、自托管、NAS、开源项目
面对市面上主流密码管理器不断上涨的订阅费用、隐私安全隐患以及功能限制,越来越多的人开始寻找更具性价比和掌控力的替代方案。本文将带你通过 NAS 自建轻量级密码后端 Vaultwarden,并配合优秀的开源第三方客户端 Keyguard,打造一套属于自己的、完全可控且体验出色的现代密码管理体系。
为什么选择 Vaultwarden?
在经过一番市场调研与权衡后,传统商业密码管理器往往存在各自的痛点:1Password 价格高昂,LastPass 安全丑闻频出,KeePass 跨平台体验碎片化,而 Bitwarden 官方免费版在部分功能(如内置 TOTP 等)上又有所保留。
相比之下,由社区维护的开源后端服务 Vaultwarden 展现出了独特的优势:
- 极低资源占用:采用 Rust 语言编写,镜像极其轻量,常驻内存通常仅需百兆左右。
- 功能完备:能够直接从后端解锁 TOTP 管理、多人共享等官方高级功能。
- 完美兼容:全面兼容 Bitwarden 的官方浏览器插件及生态。
核心部署与配置实践
1. NAS 上的 Docker 部署
对于拥有 24 小时开机 NAS 的用户而言,Docker 是部署 Vaultwarden 的不二之选。
- 镜像选择:拉取
vaultwarden/server的latest标签。 - 持久化存储:务必将容器内的
/data目录映射到 NAS 的实体文件夹,方便日后直接备份与迁移。 - 端口与网络:建议使用 bridge 网络,并将容器内默认的
80端口映射为主机上的其他可用端口(例如8808:80)。
2. 通过 Cloudflare Tunnel 解决 HTTPS 与公网访问
由于现代浏览器的「安全上下文」策略,密码管理器网页端依赖的加密接口必须在 HTTPS 可信网络下才能调用。针对国内常见的家庭宽带网络环境,推荐使用 Cloudflare Tunnel(隧道功能):
- 在 Cloudflare 控制台的 Zero Trust 中创建隧道。
- 在 NAS 或服务器上部署
cloudflared客户端。 - 绑定自己的独立域名(或使用临时域名),将内网的 Vaultwarden 服务安全地映射至公网,轻松搞定 SSL 证书与安全防护。
3. 权限安全加固
服务上线后,安全配置至关重要:
- 关闭开放注册:在完成自己的账号注册后,必须立即将环境变量
SIGNUPS_ALLOWED设为false,防止陌生人扫描并注册账号。 - 管理后台设置:建议在完成初始配置后,移除
ADMIN_TOKEN字段,彻底关闭管理后台(/admin)的访问权限,进一步降低安全风险。 - 开启两步验证:为你的主账号配置 TOTP 或通行密钥等 2FA 登录方式,并妥善保管紧急恢复代码。
客户端体验:Vaultwarden 搭配 Keyguard
完成服务端搭建与数据导入后,日常使用的体验同样关键。
浏览器端
由于生态与安全性考虑,目前最推荐的依然是安装官方 Bitwarden 浏览器插件。只需在插件中切换为自托管服务,填入你的自定义域名即可无缝获得完整的自动填充功能。
移动端与第三方前端:Keyguard
官方移动端 App 的体验在近年来略显滞后,此时开源第三方客户端 Keyguard 成为了更好的选择。它支持多平台(Windows、macOS、Linux、Android、Wear OS),UI 设计与动效更加现代。
- 高级特性支持:Keyguard 可以绕过官方前端的一些限制,甚至能顺畅接管 Android 系统的第三方自动填充服务。
- 通行密钥迁移:支持从 1Password、Google 密码管理工具等服务中直接迁移通行密钥,免去了繁琐的重新配置流程。
写在最后
自己动手搭建一套密码管理服务,不仅摆脱了商业订阅的束缚,更让我们重新拿回了对个人数字资产的绝对控制权。从服务端的 Docker 部署、网络穿透到客户端的优化组合,整个过程虽然需要一点折腾的耐心,但当一切跑通后,你将获得一个极具安全感且完全属于自己的私密密码库。