分类:开源 标签:密码管理、自托管、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(隧道功能):

  1. 在 Cloudflare 控制台的 Zero Trust 中创建隧道。
  2. 在 NAS 或服务器上部署 cloudflared 客户端。
  3. 绑定自己的独立域名(或使用临时域名),将内网的 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 部署、网络穿透到客户端的优化组合,整个过程虽然需要一点折腾的耐心,但当一切跑通后,你将获得一个极具安全感且完全属于自己的私密密码库。