一、Bitwarden密码管理系统准备

1.什么是Bitwarden

首先,它有着完全免费的版本,而且功能限制并不多。它允许免费用户存储不限数量的密码,同时能够与另一个账户共享密码库。对于我这种完全没有共享需求的人来说,这已经是足够我使用了。同时它完全开源,如果不放心,甚至还官方提供了 docker 镜像以供自建。

2.功能介绍

Bitwarden 的功能并不止于生成并管理密码,下面我来简单介绍一下。

bit­war­den 是开源的专业密码管理软件,是目前最为常用的密码管理软件之一,主要特点有:

  • Windows、Mac、Linux、Android、iOS 全平台覆盖
  • 支持 Chrome、Edge、Safari、Firefox 等主流浏览器插件
  • 支持 密码文本信息表 甚至 附件 的加密保管
  • 支持自动填写网页、app 账号密码
  • 支持文件加密分享,方便地通过 bitwarden send 分享隐私文件、照片等
  • 支持生成两步验证器,为每个密码设置 TOTP 动态口令
  • 支持团队密码库,可在团队成员中共享团队密码
  • 支持密码检测报告,检测密码库中的重复密码、弱密码、已被泄露的密码等
  • 代码开源,支持自搭建,将数据全部掌握在自己手中

2.1 生成并管理密码

这算是 Bitwarden 的本职工作了吧,不过除了账号密码外,它还可以通过 TOTP 提供两步验证,如果网站支持的话。另外,还能够自定义一些笔记或是新增字段,来添加对于该站点的描述。它还支持文件夹,通过不同的文件夹来进行分类,不过只支持一级文件夹。

图片[1]-记一次我用Bitwarden自建密码管理器的经验和方法-阿宅学院

在创建密码时,选项也比较丰富。它支持最长 128 位的密码,还可选最少的数字或特殊字符个数,并且生成的密码中,数字,字母,符号都会以不同的色彩显示,极大程度上避免了混淆。同时它还支持生成最多 20 个单词的密码短语,还可选分隔符,是否包含大小写与数字。不仅如此,它还有历史记录功能,可以查看之前所生成的密码。

图片[2]-记一次我用Bitwarden自建密码管理器的经验和方法-阿宅学院

2.2 数据的导出与导入

作为密码管理软件,密码的导出与导入势必是非常重要的,这关系到是否能够方便地进行数据迁移,以及是否能够方便备份,防止软件出现问题时无法登录到网站中。

Bitwarden 支持从绝大多数主流密码管理软件中进行数据导入,例如 Chrome,Firefox,1Password,LastPass 等等,并且支持 json 与 csv 这两种格式的导出,操作也非常便捷,完全能够满足我的需求。

Bitwarden官方推荐使用Docker镜像安装,但是Bitwarden 服务器使用 .Net 开发,如果使用 Docker 来部署,镜像体积过大;此外它使用 MSSQL 数据库,部署这个数据库对服务器配置要求比较高。而是bitwarden_rs是第三方开发的Bitwarden安装镜像。

PS:2022年12月更新,bitwarden_rs已经于2021年8月更换名称为vaultwarden,见:https://github.com/dani-garcia/vaultwarden/discussions/1642。本篇文章所有的安装方法已经更新为Vaultwarden。

图片[3]-记一次我用Bitwarden自建密码管理器的经验和方法-阿宅学院
图片[4]-记一次我用Bitwarden自建密码管理器的经验和方法-阿宅学院

2.3 密码安全报告

Bitwarden 还会生成一系列的安全报告,以保护用户密码的安全。

它会将密码以及邮箱地址与已经公开的,被泄露的数据库中的内容进行对比,并找出这些不安全的密码,另外也会与你自己的密码库中的密码进行对比,防止一个密码被重复使用多次。它能够找到那些非常容易被破解的密码,在自动填写的域名中未使用 https 的,以及网站有两步验证但并未被启用的,并进行提醒,增加密码的安全程度。

图片[5]-记一次我用Bitwarden自建密码管理器的经验和方法-阿宅学院

2.4 账户保护

除了普通的账号密码,以及两步验证(必须通过网页端开启)外,Bitwarden 还通过 “指纹短语”(fingerprint phrase)来保护帐号安全。每个帐号都有一个固定的,由 5 个英语单词组成的指纹短语,且不会改变。可以通过验证指纹短语,来判断所连接到正确的的 Bitwarden 服务器。或用来验证添加到组织中的帐号是否为正确的帐号。

图片[6]-记一次我用Bitwarden自建密码管理器的经验和方法-阿宅学院

它还支持通过修改 KDF 迭代来防止主密码遭到暴力破解。

图片[7]-记一次我用Bitwarden自建密码管理器的经验和方法-阿宅学院

其他一些安全措施,别的密码管理软件也具有,像后台自动锁定,禁止截图等等,这里就不展开细说了。

总而言之,它所提供的功能非常丰富,在生成管理密码外,还有一系列保护账户安全的功能,

官网:https://bitwarden.com/

开源项目:https://github.com/dani-garcia/vaultwarden

二、准备材料

  1. 一个域名
  2. 一个服务器需要搭载宝塔面板
  3. 一双手和脑子

三、教程开始

宝塔面板需要安装Docker服务

以下两个选一个安装即可

docker run -d --name vaultwarden -v /bw-data/:/data/ -p 8880:80 vaultwarden/server:latest
#配置是否允许注册,是否记录日志,是否开启通知
docker run -d --name vaultwarden \
  -e SIGNUPS_ALLOWED=true \
  -e WEBSOCKET_ENABLED=true \
  -e LOG_FILE=/data/vaultwarden.log \
  -p 8880:80 \
  -p 3012:3012 \
  -v /bw-data/:/data/ \
  vaultwarden/server:latest

参数如下

SIGNUP_ALLOWED:是否允许注册
INVITATIONS_ALLOWED:是否允许组织邀请注册
ADMIN_TOKEN:用户管理界面 (/admin),可用于删除用户及邀请用户注册
ROCKET_TLS:ssl 证书信息,同时需要配置 -v /path/to/host/ssl/:/path/to/docker/ssl/ 卷,前者为宿主机 ssl 证书的位置,后者为容器证书位置
DOMAIN:域名
LOG_FILE、LOG_LEVEL、EXTENDED_LOGGING:日志保存文件路径以及日志等级定义
DATA_FOLDER:docker 容器数据保存文件夹(默认为 /data),除了定义这个文件夹之外,还可以定义附件、图标缓存、数据库等参数
DATABASE_URL:数据库路径
ATTACHMENT_FOLDER:附件路径
ICON_CACHE_FOLDER:图标缓存路径

bitwarden升级命令如下:

# 重新拉取镜像
docker pull vaultwarden/server:latest
# 停止原容器
docker stop vaultwarden
#删除原容器
docker rm vaultwarden
# 重新运行 docker run 命令
docker run -d --name vaultwarden \
  -e SIGNUPS_ALLOWED=false \
  -e WEBSOCKET_ENABLED=true \
  -e LOG_FILE=/data/vaultwarden.log \
  -p 8880:80 \
  -p 3012:3012 \
  -v /bw-data/:/data/ \
  vaultwarden/server:latest
# 查看镜像文件
docker image ls
# 删除原镜像文件,
docker image rm $ID

使用以下命令可以停止Bitwarden运行:

隐藏内容,输入密码后查看
管理员备忘录
docker stop vaultwarden #停止运行
docker start vaultwarden #启动
docker rm vaultwarden #删除

1.安装模式

为了保证bitwarden服务器的稳定,你可以禁止bitwarden注册新用户(这一项可以放在最后,否则你自己都无法注册了)。

docker run -d --name vaultwarden \
  -e SIGNUPS_ALLOWED=false \
  -e WEBSOCKET_ENABLED=true \
  -e LOG_FILE=/data/vaultwarden.log \
  -p 8880:80 \
  -p 3012:3012 \
  -v /bw-data/:/data/ \
  vaultwarden/server:latest

如果你的Bitwarden是多用户使用的话,那么你可以配置一下SMTP发邮件了,参考如下:

docker run -d --name vaultwarden \
  -e SMTP_HOST=<smtp.domain.tld> \
  -e SMTP_FROM=<vaultwarden@domain.tld> \
  -e SMTP_PORT=587 \
  -e SMTP_SSL=true \
  -e SMTP_USERNAME=<username> \
  -e SMTP_PASSWORD=<password> \
  -v /bw-data/:/data/ \
  -p 80:80 \
  vaultwarden/server:latest

四、使用

如果部署成功,此时访问域名就会看到这样的界面

图片[8]-记一次我用Bitwarden自建密码管理器的经验和方法-阿宅学院

在最Bitwarden最开始运行时候不要关闭注册,因为管理员也需要在第一次运行注册账号。

以下就是Bitwarden的使用界面了,非常地简洁。

图片[9]-记一次我用Bitwarden自建密码管理器的经验和方法-阿宅学院

五、演示站

https://pass.azhai.de


    © 版权声明
    评论一下 抢沙发

    请登录后发表评论

      请登录后查看评论内容