使用 Bitwarden 搭建私人密码库,优雅的管理你的密码 – 1Password, LastPass 的绝佳替代!

使

写在前面

设置密码是件头疼的事儿,过于简单或是统一的密码会严重威胁我们的资产安全。然而设置复杂了,记忆难度大,也更容易被忘记。因此,越来越多的人开始使用 1PasswordLastPass 等软件来管理自己的密码。

得益于记忆能力和自创的密码规则,老猪所有的账号都使用着不同的密码,但仍然交着 1Password 每年 35.88 美金的年费。因为有时候忘的不一定是密码,还有可能是账号。此外软件许可证的密钥不可能背下来,一些极其关键的账户则需要采用更复杂的密码做保护。

对老猪来说,这年费交的肯定是不划算的,大部分时间都用不到它,但又不得不交。直到 Bitwarden 不断成长、脱颖而出,我的 1Password 才顺利下岗!

Bitwarden 简介

Bitwarden 是一款自由及开放源代码的密码管理软件,用户可以在加密的保管库中存储敏感信息(例如网站登录账号)。Bitwarden 提供多种客户端应用程序,包括网页应用、桌面应用、移动应用、浏览器插件以及命令行。Bitwarden 提供云托管服务,也支持自行部署解决方案。

主要特点

  • 云端同步
  • 保管登录信息、安全笔记、信用卡等信息
  • 保管库数据的端到端加密
  • 密码历史记录,可以在登入信息中查阅以前的密码
  • 与其它 Bitwarden 用户安全的分享保管库中的记录
  • 自动填写登录信息到网站或其它应用程序
  • 密码生成器
  • 两步验证,经由认证器应用、电子邮件、Duo、YubiKey 等
  • 文件作为附件
  • 数据泄露报告和密码暴露检查
  • 跨平台客户端
  • 自行部署
  • 开放源代码,来自全球的众多开发者在为其贡献改进、修复安全漏洞和程序BUG

建设性意见

  1. 部署在数据中心、拥有公网 IP 地址的家用网络中,或是使用内网穿透,以便随时随地访问
  2. 部署在 7 x 24 运行的 Linux 服务器、NAS 网络存储或其它小型化设备上
  3. 部署在创建有 RAID 阵列的设备上可以避免硬盘损坏引发的数据损毁

准备工作

  1. 安装 Docker
  2. 安装 Docker 可视化容器管理工具 – Portainer
  3. 安装 Docker 版本的 MariaDB 数据库和可视化数据库管理工具 phpMyAdmin

Bitwarden 部署

Bitwarden 原版适用于企业用户,老猪的教程选择安装它的 Rust 重写版 – Vaultwarden,它的资源占用较小,更适合个人与家庭用户,并与原版任意平台的客户端相兼容。

  1. 创建用于持久化存储 Vaultwarden 数据的目录(命名规则参考)

    mkdir -p '自定义数据目录'/data
  2. 通过 Portainer 管理面板创建一个 VaultwardenMariaDB 专用的网络。

    点击 Portainer 左侧 Networks,点击右侧 Add network,在 name 处输入 vaultwarden-net,然后直接点击页面底部的 Create the network 完成创建。

  3. 将之前安装的 MariaDB 加入刚才新建的 vaultwarden-net 网络中

    点击 Portainer 左侧 Stacks,点击右侧列表中的 mariadb-phpmyadmin,切换到 Editor 选项卡,加入红框内的内容,然后点击页面下方的 Update the stack 完成修改

    我的数据库之前已经加入过一个应用网络,现在该如何修改?

  4. 登录之前创建的 phpMyAdmin 管理页面,为 Vaultwarden 创建专用数据库和账户

    点击管理页面 – 账户 – 新增用户账户

    img

    用户名填写 vaultwarden,密码填写 insecure,勾选 创建与用户同名的数据库并授予所有权限,然后点击底部的执行。(账户和密码可自行修改)

  5. 点击 portainer 控制面板左侧 Stacks ,在该页面中点击 Add stack

    img

  6. Stack 命名,根据需要修改下文中提供的模板并粘贴到页面上,然后点击页面底部 Deploy the stack 完成创建

    version: "3"
    
    services:
     vaultwarden:
       image: vaultwarden/server:latest                                                 # latest 安装最新的版本
       container_name: vaultwarden
       restart: always                                                                  # 设置重启策略
       ports:
         - 15007:80                                                                     # HTTP 网页访问端口,例如要改为通过 6001 端口访问,就修改成 6001:80
         - 3012:3012                                                                    # WebSocket 通信接口
       environment:
         - TZ=Asia/Shanghai                                                             # 容器内部时区
         - WEBSOCKET_ENABLED=true                                                       # 启用 WebSocket 通信
         - INVITATIONS_ALLOWED=false                                                    # 禁止内部用户邀请注册
         - ADMIN_TOKEN=AcLm7gr1P2dKWTml2mYM00hBvVldktbtbrXjeMthpD/SCltFzXfqHE/CBiKOAZT/ # 管理员后台密钥,直接拿我的示例替换几个字母数字或终端执行 openssl rand -base64 48 自己生成
         - DATABASE_URL=mysql://vaultwarden:[email protected]/vaultwarden        # mysql://账户:密码@mariadb/数据库 替换为刚才创建的账号密码数据库
         - LOG_FILE=/data/vaultwarden.log                                               # 系统日志的保存位置
         - LOG_LEVEL=warn                                                               # 系统日志的提醒级别
       volumes:
         - "'自定义数据目录'/data:/data"                                                  # vaultwarden 数据目录
       networks:
         vaultwarden-net:
    networks:
     vaultwarden-net:
       external: true

登录

现在安装已完成,您可以通过打开 Web 浏览器并转到以下位置登录到您的 Vaultwarden 实例:

http://127.0.0.1:15007
  • 如果您不是在本机安装,请不要忘记将 127.0.0.1 替换为安装设备的实际 IP 地址
  • 如果您修改了默认的 HTTP 访问端口,请不要忘记将 15007 替换为您自定义的端口

使用

  1. 点击 Create Account 输入注册信息并提交

  2. 登录后修改界面为简体中文

  3. 管理员后台的访问路径

    http://127.0.0.1:15007/admin

延伸阅读

使用 HTTPS 加密你的站点,保护交换数据的隐私与完整性

关于 NAS 网络存储设备选购的一点个人建议

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论
By 马丁龙猪

标签

归档

功能