我的目标
我已经使用KeepassXC好几个月了,它工作得很好,我做了一个Retex。 我在所有电脑和智能手机上设置了密码管理器
我和Keepass有问题,这是共享密码。 有些密码要在我和我的妻子之间共享,这与Keepass是不可能的。 我们使用一个数据库,因为我们有两种身份验证模式来打开数据库。
所以我正在寻找一个解决方案,Bitwarden提供它,我们可以创建一个与家庭相对应的『组织』,我们可以有针对每个或共享密码的密码。 完美,这就是我要找的。
因此,我将在我的 Synology NAS 上安装 Vaultwarden 在一个 Container Manager docker 中。 配置一个域名,给它一个证书来利用https,选择443以外的端口来保护更多。 使用端口重定向配置我的路由器,然后配置Vaultwarden,允许它发送电子邮件并安全使用Yubikey和Microsoft Athentificator(TOTP)…身份验证。
安装 Docker Vaultwarden
在 Synology NAS 上的 Synology Container Manager 中,我转到注册表下载 Vaultwarden/server
我使用『最后一个』版本并下载。
一旦装入,我点击Run
我修改了一些参数,如上图所示。
我快速切换到文件站,将 Vaultwarden 文件夹添加到 docker 文件夹中。
如果我理解正确,使用在文件站中创建的文件夹不应该销毁数据,如果docker被删除,以检查…
我配置了 Vaultwarden 3012 和 3013 的端口以及我刚刚在 File Station 中创建的数据文件。
我完成向导,然后按下蓝色按钮开始创建docker。
在容器标签上,完美的,绿色点表示它已启动。
我检查NAS的防火墙没有阻止访问。
为了确保我的NAS上的防火墙(应该被激活)不会阻止端口3013,我将允许它(安全/防火墙/更改规则)
我可以检查Vaultwarden开始于我的Syno和端口3013的ip地址。
它不适合我,我希望能够从外部访问它,连接在https中,并且使用域名而不是IP。
我将自定义我的域名
外部访问 / DDNS / Add DDNS
我使用Synology服务,其他一切都很容易完成,我勾选框以获得证书,如果有任何问题,我激活Heartbeat以警告。
创建集需要几分钟时间,这里是我的 DDNS 访问创建:
我检查我的路由器的端口路由
我去我的路由器,网络中心/端口传输,并将端口重定向到我的NAS。
端口1999将是公共https端口,将转到NAS的1999端口,我手动配置此端口。
3012和3013端口是自动配置的,然后Syno NAS和Syno路由器相互通信。
我配置一个反向代理 Synology
在NAS上,我要去控制面板/登录门户/高级/反向代理
我接管了端口1999,它是https端口(因此最初是443),并将其全部发送到localhost的端口3013。
我的域名是vaultwarden.xxxxxxxxxx.familyds.com,因此Vaultwarden连接。 https://vaultwarden.xxxxxxx.familyds.com:1999
它是完美的,连接工作,在具有域名和有效证书的https中。
激活 Yubikey 服务
要将我的 Yubikey 与 Vaultwarden 一起使用,您必须激活服务,并在 Yubico 网站上检索 ID 和密钥。
我要继续 https://upgrade.yubico.com/getapikey/
只需把你的电子邮件,点击 Yubikey OTP 框,按 Yubiket 按钮,然后验证。
我得到两条信息
我将把这两个信息放在环境变量中。
我将配置环境变量
环境变量在容器管理器,容器选项卡中配置,停止 Vaultwarden 容器并转到设置。
为了允许我的 Yubikey 键,我添加了这两个变量:
- YUBICO_CLIENT_ID: 第一个字段在上面恢复
- YUBICO_SECRET_KEY: 第二个字段恢复上方
为了保护我的域名,我添加了这个变量,它对应于:
能够发送电子邮件(更方便地发送客人和查看电子邮件)
- SMTP_HOST : smtp.free.fr
- SMTP_FROM: 将发送电子邮件的电子邮件地址
- SMTP_PORT : 587
- SMTP_SECURITY: STARTTLS 的
- SMTP_USERNAME: firstname@free.fr
- SMTP_PASSWORD: 帐户密码
我创建了第一个『家庭』账户。
为了不让管理员访问用户,我使用『家庭』电子邮件创建第一个帐户和组织。
此帐户将具有『所有者』角色。
我添加『用户』帐户与家庭成员的电子邮件,然后每个人都能够验证他们的电子邮件并创建他们的帐户。 所有者必须接受它们。
我阻止增加新账户
为了使其更安全,我将阻止添加新帐户。
为此,我添加了一个新的环境变量,如倒数第二段。
变量是
- SIGNUPS_ALLOWED : 假 的
如果添加帐户,将被拒绝:
在 Brave 上安装浏览器加载项
我会去加载我的浏览器的扩展。
一旦安装,我必须配置我的NAS上的『自托管』服务器。
在前面 连接 于 我必须具体说明 自我 托管 的.
我通过指定端口向反向 DNS 指定 https 地址。
然后,我用用户帐户的mail/password main记录它,并找到我的所有凭据。
我用 Yubikey 保护家庭帐户(所有者)
我点击管理在尤比科面前。
我按下 Yubikey 1 下的框架,我插入我的 Yubikey,我按下按钮并验证。
没关系,尤比基是我的第二个身份验证。
在离开这个屏幕之前,我生成并打印恢复代码。
我使用 Yubikey 和 Microsoft Authenticator 保护用户帐户
用户帐户将在浏览器扩展中注册,也可以在智能手机中注册。
例如:
- 在计算机上,使用密码 + Yubikey 打开帐户将是最简单的。
- 在智能手机上,可以通过密码 + Yubikey(NFC)或密码 + Microsoft Authenticator(TOTP)打开帐户。
我设置了一个安全的行政访问权限
Vaultwarden提供了一个管理页面,你必须保护它才能使用它。
可以使用纯文本环境变量,但不建议这样做。
最好在Argon2中使用Hash,所以我会使用该网站。 https://argon2.online/
在这个例子中,我使用3Mssk7Hi4cb"wzUC7fgTR作为输入文本,点击缺口轮向哈希添加盐,滴答Argon2id并得到结果"。 $argon2id 的$V=19$m=16,t=2,p=1$c0JJWHVQamhGQzF6MXZudg$vlmd1dpgBVgwU4BM7RUUVw"是我在容器环境变量中的位置(请参阅前面的几段解释)。
- ADMIN_TOKEN : $argon2id 的$V=19$m=16,t=2,p=1$c0JJWHVQamhGQzF6MXZudg$vlmd1dpgBgwU4BM7RUUVw
我访问 Vaultwarden 配置页面
我要继续 https://vaultwarden.xxxxx.familyds.com:1999/admin
我把密码,这是哈希的条目文本,所以在我的示例中,3Mssk7Hi4cb"wzUC7fgTR。
我在配置中走了一点,这是一个隐藏的Vaultwarden的一面,发现。
我组织了Vaultwarden数据的备份
安装 Synology Hyper Backup
在我的NAS上,在Packet Centre中,我安装了Hyper Backup。
我打开一个专用的Dropbox,有一个专用的地址。
因此,我将这些数据隔离开来。
我启用双重身份验证以访问我的新 Dropbox。
我启动 Hyper Backup 并编程备份
我查一下 文件夹和包 然后我选择模式 Dropbox 的
Dropbox和Hyper Backup之间的链接需要2秒,我将选择在哪里备份,所以我将创建一个NAS备份文件夹和NAS目录(以保持对内容的模糊)。
然后,我将选择要保存的文件夹。
我对保存应用程序不感兴趣,我什么都不检查。
我通过放置客户端加密密码来完成最后一个屏幕。 我仔细下载并存储提供的密码和PEM文件。
在向导结束时,我验证了第一个备份的启动。
我会看看Dropbox,一切都很顺利。
我有一些时间来填写Dropbox。
我测试我的备份
为了记录,在恢复中没有测试的备份 无用 !!!!!!!!!
我停止了Docker Vaultwarden,然后我去了文件站。
我将 docker/Vaultwarden 文件重命名为 Vaultwarden 27-05-2024,并重新创建一个空的 Vaultwarden 文件。
我重新启动Docker Vaultwarden,然后继续前进。 https://vaultwarden.xxxxx.familyds.com:1999/admin
在用户选项卡中:
这是完美的,一切都是空的,所以我丢失了所有的数据。 Vaultwarden重置并默认重新注入数据文件:
显然,为了安全,我清除了一切,我将恢复我最后的备份,我启动Hyper Backup。
结束了,我正在重新启动docker,我要测试……我的数据回来了,一切都完美地工作。 完美的,我的后援是可行的。















































