Docker建站(六)Bitwarden:安全私密的个人密码管理器

1、介绍

注意:本文所提到的Bitwarden皆为BitWarden_RS,现已更名为Vaultwarden,原因参考:https://github.com/dani-garcia/vaultwarden/discussions/1642

Bitwarden是一款自由且开源的密码管理服务,用户可在加密的保管库中存储敏感信息(例如网站登入凭据)。
Bitwarden平台提供有多种客户端应用程序,包括网页用户界面、桌面应用,浏览器扩展、移动应用以及命令行界面。
Bitwarden提供云端托管服务,并支持自行部署解决方案。
——维基百科

所有的安全科普、讲座都在告诉我们:

  1. 不要在所有网站上使用同样的密码
  2. 不要使用生日、姓名、电话等容易被猜出的要素作为密码

然而,我们生活中要使用的网站没有一百个,也有八十个,设置了不同的密码,都记住显然不太现实。因此,我们可以使用密码管理器软件。

著名的密码管理器有:1Password,OneSafe,LastPass,大部分浏览器(Chrome,edge,FireFox)也自带了密码保存功能,但是这些工具部分需要收费,并且密码存储在其提供的服务器上。

引用网友的一句话:无论软件的安全性宣传得再好,把密码交给别人管理,就无所谓什么安不安全了。

因此,我们选择使用Bitwarden自己搭建密码管理器。

Bitwarden具有如下优势:

  1. Bitwarden是一款免费开源的密码管理工具
  2. Bitwarden有Windows,Linux,Mac,iPhone,Android以及Chrome等多种主流浏览器的客户端
  3. Bitwarden允许使用自建的服务器,并且提供了详细的部署教程

2、部署

执行:

Bash

<code style="margin-left:0">docker run  -d \
            --rm \
            --name bitwarden \
            -p 8080:80 \
            -p 3012:3012 \
            -e SIGNUPS_ALLOWED=true \
            -e WEB_VAULT_ENABLED=true \
            -e DOMAIN=https://mydomain.cn \
            -v ~/bitwarden:/data \
            bitwardenrs/server:latest</code>

上面命令的各个参数含义如下:

  • -d 在后台运行
  • --rm 容器停止运行后,自动删除容器文件
  • --name bitwarden容器的名字为bitwarden
  • -p 8080:80 容器的端口80映射到8080,在Nginx配置
  • -p 3012:3012 容器的端口3012映射到3012
  • -e SIGNUPS_ALLOWED=true 设置环境变量SIGNUPS_ALLOWED=true允许用户注册
  • -e WBE_VAULT_ENABLE=true 设置环境变量WBE_VAULT_ENABLE=true
  • -e DOMAIN=https://mydomain.cn设置域名,需要替换成自己申请的域名
  • -v /data/bitwarden:/data 容器的/data/目录映射到宿主机的/data/bitwarden目录

3、配置

按照老方法,添加反向代理。

注意:需要修改反向代理配置文件为如下!

Bash

<code style="margin-left:0">#配置反向代理,请求代理发送到8080端口
  location / { 
    proxy_pass http://127.0.0.1:8080; 
    proxy_set_header Host $host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    root /usr/share/nginx/html;
   index index.html index.htm;
 }
  
 location /notifications/hub { 
    proxy_pass http://127.0.0.1:3012; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
 }
  
 location /notifications/hub/negotiate { 
   proxy_pass http://127.0.0.1:8080; 
 }

}</code>

因为Bitwarden部分服务使用了WebSocket,需要单独配置反代。

4、使用

访问我们的域名就可以访问Bitwarden的主页,接下来我们来介绍一下如何使用自己Bitwarden管理我们各个平台与各个终端上的密码。

4.1、注册

访问反代的网站:

使用自己的电子邮件地址注册一个账号。

点击提交后,即表示注册成功。接下来会返回到登录页面,输入电子邮件地址,和主密码即可登录。下图显示注册账号后为空的密码库。

4.2、禁止其他人注册

由于这个bitwarden服务器是供个人使用,我们在注册完账号后,要关闭注册功能,防止他人注册。

执行:

Bash

<code style="margin-left:0"># 先停止bitwarden容器
docker stop bitwarden
# 设置环境变量不允许注册用户-e SIGNUPS_ALLOWED=false,再启动bitwarden容器
docker run -d \
 --rm \
 --name bitwarden \
 -p 8080:80 \
 -p 3012:3012 \
 -e SIGNUPS_ALLOWED=false \
 -e WEB_VAULT_ENABLED=true \
 -e DOMAIN=https://mydomain \
 -v ~/bitwarden:/data \
  bitwardenrs/server:latest</code>

此时再注册账号时,会提示Registration not allowed or user already exists.这样的错误。

4.3、各客户端配置

Bitwarden基本上支持了所有客户端:

Chrome

下载浏览器插件:

设置我们自建bitwarden服务器URL的地址。

接下来我们就体验一下,bitwarden自动保存密码的功能。在chrome浏览器中,我们登录果壳网,bitwarden会自动检测需要保存的用户名和密码。点击“是的,现在保存”即可。

再次访问网站,密码用户名和密码就会自动填充好。

iOS

在AppStore上搜索bitwarden,下载Bitwarden密码管理器。

打开APP,点击设置图标,设置我们搭建的bitwarden服务器域名。

点击“登录”,用注册的bitwarden账号登录到我们搭建的服务器上。

Docker建站(六)Bitwarden:安全私密的个人密码管理器

https://blog.tsinbei.com/archives/731/

Author

Hsukqi Lee

Posted on

2022-08-28

Licensed under

CC BY-NC-ND 4.0

未经允许不得转载:木盒主机 » Docker建站(六)Bitwarden:安全私密的个人密码管理器

赞 (0)

相关推荐

    暂无内容!