关于自建 bitwarden 安全性

2023-11-06 17:05:58 +08:00
 takanashisakura

如题,题主使用家用 nas ,采用开源版本的 vaultwarden/server 的 docker 镜像搭建了 bitwarden 服务。为了方便使用域名访问,是通过有公网 ip 的服务器,采用 nginx 反向代理的模式进行的内网穿透。

公网服务器和内网 nas 之间通过 tailscale 打通的,使用 tailscale 的 acl 限制公网服务器仅可以访问 bitwarden 提供服务的端口,例如映射的 8080,然后再通过公网服务器的 nginx 反向代理把 nas 的服务配置在对应的子域名下。公网服务器前面还有一层 cloudflare 的代理和 ssl 加密,不知道这样是否还存在一些比较大的风险?

网络结构大概这样:

10136 次点击
所在节点    NAS
60 条回复
bao3
2023-11-06 19:39:16 +08:00
与网络相比,自建密码库最大的风险就是数据损坏。简单来说,如果你真的要自建,那么你需要:
1. 定期备份你的密码库文件,备份到另一个物理盘。
2. 异地备份你的密码(比如同时用 biwarden 和 chrome /icloud 来记录同一个网站)
3. 定期导出为其他密码管理器的格式,并加密存储(比如使用 veracrypt ,放入存储中,这个文件你可以放心在网盘中备份)

大多数自建的人,会遇到悲惨命运,就是因为没有考虑到数据风险而只考虑了网络通讯风险
jqtmviyu
2023-11-06 19:53:27 +08:00
当然是 Keepass, 坚果云 webdav 支持历史版本. 密钥在本地.
jqtmviyu
2023-11-06 19:54:11 +08:00
最大的风险就是电脑被偷了.我没设置主密码.
weak
2023-11-06 20:11:54 +08:00
@bao3 其实还好 同步到手机上 服务端崩了,手机里的还在,原来服务端直接删了,起个 docker ,把手机的恢复过去
zhhmax
2023-11-06 21:56:38 +08:00
主密码 20 位包含大小写特殊字符,开了 2FA ,密码文件每 5 分钟打个加密压缩包 rclone 到谷歌 drive ,关闭新用户注册。
IV16SL
2023-11-06 22:10:04 +08:00
0day ,cf 那边的风险这两者的风险你无法控制,剩下的只要你没有弱密码,保持安全更新就不会有啥问题,甚至说自建只是自用的话的风险比官方服务都要小,因为谁知道你的这个服务。
neroxps
2023-11-06 23:09:15 +08:00
@bao3 https://github.com/jeessy2/backup-x

简单的备份任务即可。定期打压缩包
etnperlong
2023-11-06 23:43:41 +08:00
自建 Bitwarden (Vaultwarden) 稳定用了至少三年了 上面存了我几乎所有帐号所有密码 期间迁移过服务器

我的方案是直接 Docker 拉起镜像 + Cloudflared Tunnel ,每天定时 SQLite 备份数据库 + 打包压缩静态文件,然后 Rclone 同步到 Google Drive 加密盘
只保留过往两周的记录,所以个人 15G 绰绰有余了
迁移就直接关掉服务然后整个文件夹拷走再重新部署

稳定性还是很强的,我目前服务运行三年,一次都没挂掉,也没动用备份恢复过数据
etnperlong
2023-11-06 23:46:13 +08:00
@etnperlong 不建议使用 NAS 储存,增加了复杂度,性能要求很低,用闲置的 VPS 搭建更合适,日常访问挂代理就好。
Northshad0w
2023-11-06 23:48:50 +08:00
我是用云函数自建的,阿里云的函数计算能直接跑镜像,超级便宜,一个月用不到一毛钱
EthanLau
2023-11-07 00:08:58 +08:00
建议直接通过 vpn 访问 nas 里的服务, 别暴露在公网上
duduke
2023-11-07 00:13:05 +08:00
cf tunnel ,简单粗暴,这种也不需要多快网速,偶尔断网也无所谓,都在本地存着
0o0O0o0O0o
2023-11-07 00:33:18 +08:00
侧重点请放在备份上,不要担心网络传输的安全性,也不用担心服务器上数据的安全性

bitwarden 的明文只存在于客户端在你输入主密码解锁后的内存中 https://bitwarden.com/help/bitwarden-security-white-paper/ 你只需要信任你的客户端,不需要信任任何网络或是服务器

记得禁用 web https://github.com/dani-garcia/vaultwarden/blob/cec1e87679cfd0e2f0bce9b7dc3256dbbd2effa8/.env.template#L70

建议你读一遍这个 env 文件里每项的注释,非必要的都禁用掉,不懂的选项在 issues 里搜一下
liuguang
2023-11-07 00:40:47 +08:00
bitwarden 拿到数据库都不能解密,只有自己的主密码可以解开。
cosette
2023-11-07 02:09:29 +08:00
注意一下默认设置,不需要的功能可以全部禁用,修改加密方式为 Argon2 (不知道现在是不是默认启用,可能是),定时的备份数据库到其他设备。

BW 最让我不满意的点就是绑定了账户,需要一个服务器登录账号才能同步使用,如果服务端坏了可能造成非常大的麻烦。Server-first 让我有点不爽,这一点上我更喜欢 enpass ,但是 enpass 也更加的封闭,不够透明。
wzw
2023-11-07 07:46:30 +08:00
@Northshad0w 具体说说, 是否写了教程, 谢谢
Kaiyuan
2023-11-07 08:23:27 +08:00
@bao3 定时加密备份到多个云盘。我是两天一备份的。
YangWaleed
2023-11-07 09:04:03 +08:00
@Noicdi #13 那这个需要补充的子串,以及补充的位置是什么记忆的?
不同网站之间有什么规律吗?
token10086
2023-11-07 09:31:08 +08:00
我是没把端口放出去的 tailscale 打通了用的,放出去怕有问题
redial39
2023-11-07 09:39:12 +08:00
docker 部署,data 目录挂载,wg 后访问,每天定时备份 data 目录,gpg 加密后放 dropbox

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/989195

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX