• 请不要在回答技术问题时复制粘贴 AI 生成的内容
E263AFF275EE4117
V2EX  ›  程序员

自建 Bitwarden,想问下 V 友们这样安全系数高吗?

  •  
  •   E263AFF275EE4117 · Jul 9, 2025 · 14092 views
    This topic created in 481 days ago, the information mentioned may be changed or developed.
    • 服务器配置 OpenVPN ,通过根证书+自签名密钥+账户密码方式访问
    • 服务器关闭 22 端口,即由 OpenVPN 网络下,通过公钥方式进行免密登录,仅放开 443 端口(有个博客站)
    • 数据源用 MySQL ,异云服务商、异地主机搭建主从数据库
    • Nginx 屏蔽 Web 端及页面访问,只保留相关 API 接口,API 接口访问受限 OpenVPN 网络白名单
    • 启用自签名 SSL 证书,并导入安卓手机\PC ,即访问 https://11.1.0.1 网络 (Bitwarden 的服务访问需要 ssl)
    109 replies  •  2025-07-11 20:47:03 +08:00
    1  2  
    ❮ ❯
    yiwayhb
    yiwayhb
    Jul 9, 2025❤️1
    1
    我的也差不多,只有 SSL 证书用的是 Let's Encrypt ,管理日常的密码也够用,至少比用同一个密码安全性高。
    重要密码(涉及资金的),还是别记到里面比较好,安全往往出在最薄弱的环节
    suuuch
    suuuch
    Jul 9, 2025❤️2
    2
    有一个比较特殊的方式,每个密码后面人工记忆一个固定后缀/前缀。
    比如说 自动保存的密码是:xxxxx
    但是实际的密码是 xxxx-abc 这样。

    这样的弊端就是操作 valut 的时候要额外注意,不要把真实密码给存进去了。
    E263AFF275EE4117
    E263AFF275EE4117
    OP
    Jul 9, 2025
    3
    @yiwayhb 谢谢,我也是用的 Let's Encrypt 的 SSL 证书,但是我不想互联网访问,就搞的自签 SSL 证书并通过 VPN 网络访问。
    我目前也不会把涉及资金相关密码存网络上,上面存的一些常用的。
    onice
    onice
    Jul 9, 2025❤️10
    4
    我所了解的,几乎所有的密码管理器,都不会把明文存储到服务器上。服务器上存储的,都是加密后的数据。

    其获得你的密码,核心的地方在于你的密码库密码。只要你的密码库密码泄露,攻击者就拿不到你的密码数据。

    由上可知,关注定反而不应该放在密码库的密码是否安全。由于是自建,关注点应该放在数据的完整性。即密码库要有备份,不要被攻击者删除或被加密勒索。
    onice
    onice
    Jul 9, 2025
    5
    @onice 第二行少了个字,出现了歧义。应该为:只要你的密码库密码不被泄露,攻击者就拿不到你的密码数据。

    倒数第二行,关注定是关注点。
    E263AFF275EE4117
    E263AFF275EE4117
    OP
    Jul 9, 2025
    6
    @suuuch 真牛的啊!自己记忆一个 XXXX 固定后缀就只有自己晓得!安全等级又提高了! 谢谢
    E263AFF275EE4117
    E263AFF275EE4117
    OP
    Jul 9, 2025
    7
    @onice 是的,自建就怕数据丢。 如果我密码库主密码泄露,确实相当于这个密码库里都是明文了。
    2L 的老哥回复的,也给了我一个启发,我现在能做的就是提高下安全等级,并且不保存涉及资金安全信息在上面。
    rulagiti
    rulagiti
    Jul 9, 2025❤️1
    8
    做的很好了
    YaakovZiv
    YaakovZiv
    Jul 9, 2025
    9
    我也自建了,但是我配置了云平台上的防火墙,仅限我自己的 IP 访问。
    Felix2Yu
    Felix2Yu
    Jul 9, 2025❤️1
    10
    @E263AFF275EE4117 其实数据丢失不用太担心。如果你用手机、浏览器客户端,即使服务端挂了,也能离线导出密码本。大不了重部署后再导入回去
    crackself
    crackself
    Jul 9, 2025 via Android
    11
    同是自建,配置 iptables 防火墙禁止端口,绑定 local host 端口,经 nginx 转发代理访问。重点是数据库要有多个备份
    CnpPt
    CnpPt
    Jul 9, 2025 via Android
    12
    比我安全系数高姥姥家去了,我自建用 CloudFlared 扔公网了,密码库密码非弱密码加 MFA 验证搞定。
    neroxps
    neroxps
    Jul 9, 2025 via Android
    13
    我司程序还在用记事本 企业微信在线文档存密码高多了。

    全公司就我用密码管理器。
    E263AFF275EE4117
    E263AFF275EE4117
    OP
    Jul 9, 2025
    14
    @YaakovZiv 如果多端,怎么做到固定 IP 地址访问的啊
    E263AFF275EE4117
    E263AFF275EE4117
    OP
    Jul 9, 2025
    15
    @Felix2Yu 我以为那个导出是需要联网的,这样说来,即使服务端挂了,其他终端也是保存了一份的,最差是同步数据有差异。
    imba97
    imba97
    Jul 9, 2025
    16
    用了好几年了,现在有 MFA 、PassKey 是真的好用
    hefish
    hefish
    Jul 9, 2025
    17
    我都是写纸上,缝内裤里面一层的。不到最后关头不拿出来看。
    Madrid
    Madrid
    Jul 9, 2025 via iPhone
    18
    安全的 放心用吧 不要泄漏你的主密码就好了
    docx
    docx
    Jul 9, 2025 via iPhone
    19
    偏个题,都主从了,这个成本为什么不直接开个官方 pro 还不用自己维护
    docx
    docx
    Jul 9, 2025 via iPhone
    20
    @hefish 那你这内裤水洗一次就看不清了
    MFWT
    MFWT
    Jul 9, 2025
    21
    可以了,我目前也是类似措施,Vaultwarden 不暴露到公网,只能在我自己的网络内访问(杏泉网络,类似 DN42 那种 Overlay Network )用自己的域名后缀+自己的证书,每隔一小时自动拉取最新数据库备份到我本地 NAS
    zhenjiachen
    zhenjiachen
    Jul 9, 2025 via iPhone
    22
    我都是直接暴露在公网的,服务器不买公网 IP ,使用 cloudflared 链接 cf ,证书也是 cf ,用的 google 旧配置服务器,一个月 0.5 刀,已经稳定运行 4 年了
    skiy
    skiy
    Jul 9, 2025 via iPhone
    23
    我是 sqlite 。有次升级,登录不了了。然后备份数据库后重新安装,把那密码提取到旧数据库中就能登录了。
    所以…
    irrigate2554
    irrigate2554
    Jul 9, 2025 via Android❤️1
    24
    光是用密码管理器就已经超过 99% 的人了
    memcache
    memcache
    Jul 9, 2025
    25
    很安全了已经.
    我是 ddns+ nginx + nas docker 暴露公网
    Qiuchi
    Qiuchi
    Jul 9, 2025
    26
    @docx 感觉服务定时给备个份都够了,没那么频繁加密码
    LnTrx
    LnTrx
    Jul 9, 2025
    27
    关键是终端设备的安全性
    mx1700
    mx1700
    Jul 9, 2025 via Android
    28
    我是不搞备份,服务器挂过,离线导出本地密码库,重新搭建服务器导入即可
    gudecatch
    gudecatch
    Jul 9, 2025
    29
    本地服务器用 cloudflare tunnel 放到公网 但是并不知道这样是不是安全
    zhhmax
    zhhmax
    Jul 10, 2025❤️1
    30
    你这个也太谨慎了。

    我是部署在公网上的 VPS 了,ssh 仅允许公钥方式进行免密登录,SSL 证书用的 Let's Encrypt 。vaultwarden 开启了 admin ,admin 登录密码长达 32 位,包含字母数字和特殊字符。

    为什么我不担心,因为首先别人不知道我注册的邮箱是什么,然后再加上高强度 20 位登录密码以及两步验证,我不相信还有人能爆破的了。其次就是 ssh 只通过公钥登录已经最大程度上避免了数据库上密码文件的泄漏,更别提数据泄漏后破解密码文件的复杂程度了。
    jqtmviyu
    jqtmviyu
    Jul 10, 2025
    31
    @zhhmax #30 你这最大的风险反而是 vps 的数据了. 例如那种机房出事故.
    silencefly
    silencefly
    Jul 10, 2025 via iPhone
    32
    ddns https fail2ban 定时备份加密后传 OneDrive
    siweipancc
    siweipancc
    Jul 10, 2025 via iPhone
    33
    官方也就 10 美元……我选省心的,自己的服务器我可没信心哈哈
    zhhmax
    zhhmax
    Jul 10, 2025
    34
    @jqtmviyu 我设置了定时任务每 5 分钟加密压缩数据文件夹上传到 onedrive 里面
    kqz901002
    kqz901002
    Jul 10, 2025
    35
    @memcache 一样的配置,很方便
    383394544
    383394544
    PRO
    Jul 10, 2025
    36
    我之前加密 ssh 的方式是用 cloudflare 的 argo tunnel ,然后服务器 22 端口只放行 cf 的 ipv6 段。
    Secular0246
    Secular0246
    Jul 10, 2025
    37
    我是公网 ip 服务器,使用 nginx 转发,配上了域名直接暴露在公网,但是加了 mTLS ,客户端需要证书才能访问,我感觉在安全性方面 mTLS 已经够用了,更多地需要关注数据库备份情况。
    ZGeek
    ZGeek
    Jul 10, 2025
    38
    @suuuch #2 基于算法的加密手段
    StarUDream
    StarUDream
    Jul 10, 2025
    39
    我的 vaultwarden 是放在 nas 里的,然后 tailscale 组网到公网服务器,用 nginx+域名暴露出去。
    数据库用的 sqlite ,所以备份很简单。
    账户开启了二次验证,倒也不会出很大问题。
    基本上现在很少增改密码了,即使断网,bitwarden 的插件也有缓存能继续用。
    YangQingLin
    YangQingLin
    Jul 10, 2025❤️1
    40
    @onice 说的太对了,自建一定要做好数据备份,推荐用下面这个容器做定时备份: https://hub.docker.com/r/bruceforce/vaultwarden-backup

    一个备份文件才 400 多 KB ,我直接一小时备份一次

    并且部署成功之后一定要本地起一个 vaultwarden 测试一下恢复操作
    YangQingLin
    YangQingLin
    Jul 10, 2025
    41
    @zhhmax 有试过恢复操作吗?我之前也和你一样直接压缩数据目录备份的,后来发现无法恢复
    concernedz
    concernedz
    Jul 10, 2025
    42
    腾讯云轻量服务器
    1panel 搭的,每天定时加密压缩到七牛云
    vaultwarden 没开 admin 管理
    ssh 关闭了密码登录,防火墙限制了只限国内的
    限 ip 这个方法想过,但多端不知道咋解决
    milkzizi
    milkzizi
    Jul 10, 2025
    43
    牛,我用 bitwarden 官方的,懒得自己搭
    python35
    python35
    Jul 10, 2025
    44
    我是腾讯云 docker 部署+cos 每日备份+直接公网访问
    我倒是不担心服务器出问题,毕竟服务器上是加密存的,更怕本地浏览器的插件缓存或者浏览器内存被读了
    Rehtt
    Rehtt
    Jul 10, 2025
    45
    @zhhmax #30 主要是提高爆破成本,5 毛钱的数据值不值花 500 块爆破
    superrichman
    superrichman
    Jul 10, 2025❤️1
    46
    @hefish 你这密码太骚了
    SethShi
    SethShi
    Jul 10, 2025
    47
    1panel 开 2FA, 然后直接用商店里的镜像
    挂载数据目录, 每天自动备份三处, 服务器, 七牛云, 腾讯云

    q534
    q534
    Jul 10, 2025
    48
    官方免费的有什么问题吗?
    ryan4290
    ryan4290
    Jul 10, 2025
    49
    我一直用的坚果云的 WebDav 配合 KeePass 去用的,这个支持 WebDav 协议吗?
    wyfig
    wyfig
    Jul 10, 2025
    50
    之前也想过,后来完全放弃这方面想法了。 官方免费的用了四五年了,一点问题没有。 想用高级的一年 10 美元也挺划算的,完全没有必要折腾。
    E263AFF275EE4117
    E263AFF275EE4117
    OP
    Jul 10, 2025
    51
    @docx 是刚好有这套配置在,顺便利用起来自建密码管理的。 如果单独搭建这套确实不如开 pro 了。
    E263AFF275EE4117
    E263AFF275EE4117
    OP
    Jul 10, 2025
    52
    @concernedz 我有一台也是轻量云,限 ip 就是通过 openvpn 网络+自签名 SSL 证书实现多端访问。
    concernedz
    concernedz
    Jul 10, 2025
    53
    @E263AFF275EE4117 #52 那客户端还要挂客户端,感觉挺麻烦的
    E263AFF275EE4117
    E263AFF275EE4117
    OP
    Jul 10, 2025
    54
    @ryan4290 我暂时还不太清楚,是否支持 WebDav 协议。我也才刚开始用这个才搭建好的。
    E263AFF275EE4117
    E263AFF275EE4117
    OP
    Jul 10, 2025
    55
    @python35 你说的本地浏览器插件缓存或浏览器内存被读了,这种有什么好的方式避免嘛。。。我想了下,即使安全等级在高,就像主密码泄露一样,所有的功夫都白搭了。
    ZColin
    ZColin
    Jul 10, 2025
    56
    嗯……bitwarden 本身的加密已经很好了,别人盗了你的 db ,没主密码他也搞不定。
    我一般直接映射公网绑定域名然后关闭注册,定时备份到 onedrive 上就行了。
    保证东西不丢就行,至于盗取破解……基本不可能,除非你的主密码泄露。
    如果实在是感觉怕被盗的话不如本地部署 keepass
    CSGO
    CSGO
    Jul 10, 2025
    57
    我也是自建,按我了解数据即使被人拿也没事。我对其安全的要求是不丢失,以及不被人后台破坏。所以我是数据定期备份到 google 云盘,后台白名单 ip 访问,整个站点套了 cf ,登录用了 fail2ban 。
    skiy
    skiy
    Jul 10, 2025 via iPhone
    58
    @ZColin 如果是 sqlite ,可以破的。创建个新的,把那行用户信息添加到旧的 db 上,就能登录了…我试过。所以 sqlite 有一定的风险。
    W4J1e
    W4J1e
    Jul 10, 2025
    59
    看起来比我折腾(安全)得多,我就做了简单的混淆(子目录),每天备份到 onedrive 。
    whobuki
    whobuki
    Jul 10, 2025
    60
    这一长串流程都可以扔给赛博菩萨 cloudflare tunnel 解决,就是服务端和客户端都需要折腾一下出国网络
    BardOS
    BardOS
    Jul 10, 2025
    61
    N1 盒子搭建的放公司,CFTunnel 打洞,WAF 设置规则,主密码还有二次验证,没那么容易破的。
    sarices
    sarices
    Jul 10, 2025
    62
    自建的特别是 docker 部署的,如果稳定就别手贱 pull 新的镜像,先备份!先备份!先备份!,别问我怎么知道的。
    我现在都是用官方的服务
    bowencool
    bowencool
    Jul 10, 2025
    63
    @imba97 #16 最近自动填充不好用了,总是会提示创建新密码,而不是选择已经存在的密码。。
    bowencool
    bowencool
    Jul 10, 2025
    64
    @memcache #25 差不多,以前是 ddns ,现在是 frp
    twinsdestiny
    twinsdestiny
    Jul 10, 2025
    65
    @skiy #57 那能看到旧 DB 原有用户的密码吗,看不到等于新建了个用户而已,这也叫破?
    bowencool
    bowencool
    Jul 10, 2025
    66
    @YangQingLin #41 我也是备份数据目录,刚才问了 AI ,确实有概率恢复不了🤡
    bowencool
    bowencool
    Jul 10, 2025
    67
    @YangQingLin #40 太复杂了,还是在客户端导出 JSON 方便
    Ichiban
    Ichiban
    Jul 10, 2025❤️1
    68
    再提一点,vaultwarden 可以设置 subpath 的

    域名很容易被各种途径扫到,但加了 subpath 之后,光扫到域名 https://11.1.0.1 没用,还得找到 https://11.1.0.1/xxx/xxx ,不带 subpath 的挂个什么别的东西,这样藏得更深
    skiy
    skiy
    Jul 10, 2025 via iPhone
    69
    @twinsdestiny ???你回复前能不能看看我回别人的信息?别人说是拿到了 db 。拿到 db 不就相当于裸了吗?再部署个,把 db 丢进去,密码不就能显示了吗?
    neptuno
    neptuno
    Jul 10, 2025
    70
    bitwarden 开个 pro 会员就行了,你这个成本也不低,稳定性还不如官方
    aimerforreimu
    aimerforreimu
    Jul 10, 2025
    71
    bitwarden 库都是加密的,只要主密码不泄露就行,唯一需要担心的是中间人攻击吧
    gogogo2000
    gogogo2000
    Jul 10, 2025
    72
    现在主流密码管理器的设计在服务器上存放的都是高度加密的密文,而打开密码库的主密钥从头到尾是不会在网络上传输的,即便被监听了也抓不到。但如果是访问者中了木马被记录键盘了自然就另当别论了。
    conky
    conky
    Jul 10, 2025
    73
    @skiy #69 部署完了,你想进密码管理器也需要输入主密码
    buxiny
    buxiny
    Jul 10, 2025
    74
    @ZingLix 有的, 在 /config.json 内设置

    {
    "domain": "https://***.youdomain.com/subpath",
    ...
    }

    https://rs.ppgg.in/reverse-proxy/using-an-alternate-base-dir
    lucifer9
    lucifer9
    Jul 10, 2025
    75
    自建主要是备份数据库,记住一定要异地备份
    最重要的是如果备份是加密的话,千万别把密码只存在 vaultwarden 里面
    skiy
    skiy
    Jul 10, 2025 via iPhone
    76
    @conky …那你又得找我前一条回复了。。。参考#58 再参考我 #23 的回复。我是实践过才说话的。如果你觉得不可能,你可以尝试下再回复我。我没必要说假话,又没利益冲突。
    okzy520
    okzy520
    Jul 10, 2025
    77
    @hefish 不洗内裤是吧! hentai
    justwkj07
    justwkj07
    Jul 10, 2025
    78
    每天同步到 oss 备份
    sayemike
    sayemike
    Jul 10, 2025
    79
    大佬们若是发现惊天大漏洞的,建议向 bitwarden 提交漏洞悬赏,赚美刀
    https://bitwarden.com/help/is-bitwarden-audited/#bug-bounty-program
    raycloud
    raycloud
    Jul 10, 2025
    80
    @skiy 你是不是不知道 db 里存的密码是经过主密码加密的?
    byiceb
    byiceb
    Jul 10, 2025
    81
    做的真复杂,我直接用免费版
    ZxykM
    ZxykM
    Jul 10, 2025
    82
    @skiy #76 你怕是不知道 db 里面密码都是主密码加密的,没有主密码啥都看不到
    skiy
    skiy
    Jul 10, 2025 via iPhone
    83
    @ZxykM ?你先理清楚我的逻辑。不是说你主密码加密不加密。

    1. 先将旧后 db 备份成 bak.db
    2. 删除 db ,重新部署。新数据库为 db 。注册个管理员账号
    3. 将这个新数据库 db 的字段及值,拷贝到 bak.db
    4. 将 bak.db 恢复成 db 文件名。重新启动。
    5. 用新的管理员账号就能登录。服务就侧正常运行了。再配合相应的客户端,就能查看到数据。

    不是说你原来的管理员账号能被解出来,而是说能重置密码。
    skiy
    skiy
    Jul 10, 2025 via iPhone
    84
    @raycloud 看我 #83 的回复。
    你要说,各条记录的密码也要把主账号的密码加入,再加密。这个我确实不知道。因为我之前有次升级后,主账号和密码登录不上,就使用此方法恢复了。不过是去年还是前年的事情了。不清楚现在的版本有没有升级。

    至于怎么说,你们自己认为吧。反正我遇到过一次,现在悠着点了,不敢随意升级了。
    nekoneko
    nekoneko
    Jul 10, 2025
    85
    我是 所有服务器和设备通过 zerotier 和 easytier 组网
    之后 NAS 部署服务, 腾讯云部署 Lucky 来做转发
    wangbingxu
    wangbingxu
    Jul 10, 2025
    86
    Elpass 日常使用(macos 原生非常舒服),买了 Proton Pass + SimpleLogin Lifetime ,作为备用,以及使用邮箱无限别名,基本就够用了。

    试过自建 Bitwarden ,实在太丑了,还是放弃了
    nekoneko
    nekoneko
    Jul 10, 2025
    87
    @nekoneko 另外备份方案是每天把需要备份的数据备份到 NAS 另一块硬盘/我的电脑/腾讯云/搬瓦工各一份
    since2021
    since2021
    Jul 10, 2025
    88
    不试试 lesspass 吗,根本不用存储密码
    zhhmax
    zhhmax
    Jul 10, 2025
    89
    @YangQingLin #41 可以的,我都不知道换过多少台服务器重新部署了,解压文件夹之后直接重新 docker 命令启动就行。我的一个备份文件大小是 3 兆,所以我把历史所有每 5 分钟的备份都存起来了,如果其中一个备份不可用,再往前推 5 分钟用另外一个就行。
    ZColin
    ZColin
    Jul 10, 2025
    90
    @skiy #83 现在不行的,每个字符串的加密参数都是跟主密码加 KDF 的迭代参数派生的,比如参数种子是你的主密码+600001 ,你就算移花接木换了管理员账号密码,也会因为主密码派生的密钥不同导致无法解密。
    suyuyu
    suyuyu
    Jul 10, 2025
    91
    我直接用,没想还有这么多门道
    skiy
    skiy
    Jul 10, 2025
    92
    @ZColin ...看到了。修改主密码时,"同时轮换账户的加密密钥" 这个也要选上才行。

    我现在怀疑我这个的所有数据可能都还没有把“主密码”加入盐值加密的。得更新一下才行了。

    https://imgur.com/a/xLBpKkQ
    waleslau
    waleslau
    Jul 10, 2025
    93
    @skiy #58 有道理,那部署 vw 的小主机一定得保护好,SSH 换个非标准端口,关闭密码登录,远程只用密钥登录。
    skiy
    skiy
    Jul 10, 2025
    94
    @waleslau 新版本把管理员密码也加入盐值计算了。不知道默认打开这个功能的吗。我查下文档才行。
    waleslau
    waleslau
    Jul 10, 2025
    95
    @skiy #94 哦,之前没注意过 ,那个“更高的 KDF 迭代可以帮助保护您的主密码免遭攻击者的暴力破解。 ”么,默认就开了的。
    frankilla
    frankilla
    Jul 10, 2025
    96
    我就装在家里的软路由里,这玩意不是明文的吧~
    E263AFF275EE4117
    E263AFF275EE4117
    OP
    Jul 10, 2025
    97
    @neptuno 有其他业务需求在用,所以自建这个密码管理是顺带的。不利用起来资源也是半闲置状态的。
    YaakovZiv
    YaakovZiv
    Jul 10, 2025
    98
    @E263AFF275EE4117 你是说多个设备不同 IP 作为访问源,需要每次都加白名单的问题吗。我是用的公有云,每次都是手机端 APP 上加白名单后使用。用完再删除
    zololiu
    zololiu
    Jul 10, 2025
    99
    @hefish 我去,谢谢你的新思路,真的振奋人心!
    zololiu
    zololiu
    Jul 10, 2025
    100
    直接购买了官方的服务,一年也就几十块钱,省心不折腾。
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4989 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 187ms · UTC 05:54 · PVG 13:54 · LAX 21:54 · JFK 00:54
    ♥ Do have faith in what you're doing.