DIY NAS系列18 — 密码管理之 Bitwarden

简介

Bitwarden 是一款可靠的开源密码管理服务,提供了安全和便捷的方式来存储所有您的密码和其他敏感信息。这款软件的目标就是让您的数字生活更安全、更简单,并将其加密保存在您自己的服务器上。Bitwarden 可以在所有主流的操作系统、浏览器和设备上使用,这包括:Windows、MacOS、Linux、Android 和 iOS。无论您是在电脑上浏览网页,还是在手机上使用应用,Bitwarden 都能提供无缝的密码管理体验。

Bitwarden 最大的特点是它的安全性。所有的用户数据都会在本地设备上进行端到端的加密,然后再上传到服务器。这意味着,即使 Bitwarden 的服务器被黑客攻击,您的密码和其他敏感信息也不会被窃取,因为他们只能看到加密后的数据。Bitwarden 还提供了一些高级的安全功能,例如双因素认证和主密码提示。通过双因素认证,即使有人知道了您的主密码,他们也无法登录您的 Bitwarden 帐户。主密码提示则是一个安全问题,可以帮助您在忘记密码时找回您的帐户。此外,Bitwarden 还有一些方便用户使用的功能。例如,它可以自动填充网页上的用户名和密码字段,让您无需记住所有的密码。它还有一个密码生成器,可以帮助您创建复杂、难以破解的新密码。总的来说,Bitwarden 是一个强大、安全且易于使用的密码管理工具。无论您是个人用户还是企业用户,都可以考虑使用 Bitwarden 来保护您的数字生活。

这里我们使用 Bitwarden_RS 的 Docker 发行版镜像来部署,因为它使用 Rust 重构了服务端,速度更快、资源占用更小。

安装 Bitwarden_RS

说明: 基于前期构建的 traefik 网关,详见: DIY NAS系列12 -- Traefik 出口网关配置
docker-compose.yaml 文件中,会对重要的配置进行说明,因个人网络环境等不同,需要根据自身实际情况调整配置。

[root@demo bitwardenrs]# cat > docker-compose.yml << \EOF
version: "3"

services:
  bitwardenrs:
    image: vaultwarden/server:1.30.5
    container_name: bitwardenrs
    restart: unless-stopped
    environment:
      - SIGNUPS_ALLOWED=false # 开启注册,自己注册后改成false,再重启Docker服务。
      - WEBSOCKET_ENABLED=false # 禁用 WebSocket
      - WEB_VAULT_ENABLED=true # web客户端
      - DOMAIN=https://passwd.rockylinux.cn # 设置域名,需要替换成自己申请的域名
    volumes:
      - /SSD/Demo/bitwardenrs/data/:/data/
    expose:
      - 80
#      - 3012 # 3012 端口为 WebSocket 通讯端口
    networks:
      - traefik_net
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik_net"
      - "traefik.http.routers.bitwardenrs.rule=Host(`passwd.rockylinux.cn`)"
      - "traefik.http.routers.bitwardenrs.entryPoints=websecure"
      - "traefik.http.routers.bitwardenrs.tls.certresolver=myresolver"
      - "traefik.http.routers.bitwardenrs.service=bitwardenrs"
      - "traefik.http.services.bitwardenrs.loadbalancer.server.port=80"
      - "traefik.http.services.bitwardenrs.loadbalancer.server.scheme=http"
      # 如果您无法理解以下相关配置,直接原样复制即可。
#      - "traefik.http.routers.bitwardenrs-http.rule=Host(`passwd.rockylinux.cn`)"
#      - "traefik.http.routers.bitwardenrs-http.entryPoints=web"
#      - "traefik.http.routers.bitwardenrs-http.service=bitwardenrs"

#      - "traefik.http.routers.bitwarden-websocket.rule=Host(`passwd.rockylinux.cn`) && Path(`/notifications/hub`)"
#      - "traefik.http.routers.bitwarden-websocket.entrypoints=websecure"
#      - "traefik.http.routers.bitwarden-websocket.tls.certresolver=myresolver"
#      - "traefik.http.routers.bitwarden-websocket.service=bitwarden-websocket"
#      - "traefik.http.services.bitwarden-websocket.loadbalancer.server.port=3012"

#      - "traefik.http.routers.bitwarden-websocket-http.rule=Host(`passwd.rockylinux.cn`) && Path(`/notifications/hub`)"
#      - "traefik.http.routers.bitwarden-websocket-http.entrypoints=web"
#      - "traefik.http.routers.bitwarden-websocket-http.service=bitwarden-websocket"
networks:
  traefik_net:
    external: true
EOF

# 启动服务
[root@demo memos]# docker-compose up -d
特别提醒
在 vaultwarden v1.30.4 及以上版本中,已经将 WebSockets 功能集成到 HTTP 服务,所以不再需要 3012 端口,对应的 Traefik 关于 WebSockets 的配置可以移除。详细参考: https://github.com/dani-garcia/vaultwarden/releases/tag/1.30.4

手机客户端

由于多客户端支持的加持,使用体现真得非常棒,再也不需要进行记忆密码,手动管理密码了,另外手机端还支持指纹与人脸识别解锁,非常方便。

Bitwarden/mobile 手机客户端下载

macOS 客户端

Bitwarden/macOS Windows Linux 客户端下载

Chrome 扩展

Chrome 扩展直接在 Chrome 应用商店安装即可 Chrome 应用商店 - 扩展程序

GitHub Client 下载

对应配置比较简单,如下图所示,配置自托管,输入服务器URL、账号、密码即可登录。

BitWarden 自带密码生成器。

密码直接根据需要搜索即可。

浏览器界面右击自动填充密码,不要太爽。

Chrome 密码导入 Bitwarden

如果您之前有在 Chrome 中存储密码,可以直接导出来,然后快速导入 Bitwarden。

Chrome 导出: 依次进入设置 -> 自动填充 -> 密码 -> 导出密码,最终会导出一个 csv 文件。

Bitwarden 导入: 打开您的 Bitwarden,找到工具 -> 导入数据 -> 选择格式 -> 选择刚导出的文件 -> 点击导入数据,导入格式根据您的实际情况来选择,我是用 Chrome 导出的 csv,所以这里我理所应当地选择了 Chrome(csv)。

后述

以上就是我们对 Bitwarden 密码管理工具的简单介绍。通过 Bitwarden 我们不仅可以安全地存储和管理密码,还能在各种设备和平台之间无缝同步,真正实现了密码管理的便捷与安全。Bitwarden 的出现,无疑为我们的数字生活带来了一种全新的密码管理方式。

然而,我们的数字生活不仅仅涉及到密码管理。还有许多其他重要的信息和资料也需要得到妥善的管理和保护。在我们的下一篇文章中,我们将深入探讨 Gitea 这款强大的代码仓库管理工具。Gitea 不仅可以帮助我们安全地存储和管理代码,还提供了许多高级功能,比如版本控制、协同工作和自动化构建等。无论您是一名软件开发者,还是一名热爱编程的业余爱好者,我相信Gitea都能为您提供极大的帮助。

变更记录

  • 2024-03-28
    • 移除 docker-compose.yaml 中关于 WebSockets Traefik 配置部份。
Avatar photo

关于 木子

Founder of the Rocky Linux Chinese community, MVP、VMware vExpert、TVP, advocate for cloud native technologies, with over ten years of experience in site reliability engineering (SRE) and the DevOps field. Passionate about Cloud Computing、Microservices、CI&CD、DevOps、Kubernetes, currently dedicated to promoting and implementing Rocky Linux in Chinese-speaking regions.
用一杯咖啡支持我们,每一篇 [文档] 都经过我们实操,并非从网上一味的copy,期间花费了大量的心思,希望能够帮忙到您。
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇