1、介绍
注意:本文所提到的Bitwarden皆为BitWarden_RS,现已更名为Vaultwarden,原因参考:https://github.com/dani-garcia/vaultwarden/discussions/1642
Bitwarden是一款自由且开源的密码管理服务,用户可在加密的保管库中存储敏感信息(例如网站登入凭据)。
Bitwarden平台提供有多种客户端应用程序,包括网页用户界面、桌面应用,浏览器扩展、移动应用以及命令行界面。
Bitwarden提供云端托管服务,并支持自行部署解决方案。
——维基百科
所有的安全科普、讲座都在告诉我们:
- 不要在所有网站上使用同样的密码
- 不要使用生日、姓名、电话等容易被猜出的要素作为密码
然而,我们生活中要使用的网站没有一百个,也有八十个,设置了不同的密码,都记住显然不太现实。因此,我们可以使用密码管理器软件。
著名的密码管理器有:1Password,OneSafe,LastPass,大部分浏览器(Chrome,edge,FireFox)也自带了密码保存功能,但是这些工具部分需要收费,并且密码存储在其提供的服务器上。
引用网友的一句话:无论软件的安全性宣传得再好,把密码交给别人管理,就无所谓什么安不安全了。
因此,我们选择使用Bitwarden自己搭建密码管理器。
Bitwarden具有如下优势:
- Bitwarden是一款免费且开源的密码管理工具
- Bitwarden有Windows,Linux,Mac,iPhone,Android以及Chrome等多种主流浏览器的客户端
- Bitwarden允许使用自建的服务器,并且提供了详细的部署教程
2、部署
执行:
(新版)
此处内容需要评论回复(自动审核)或加入 QQ 技术交流群(立即获得内容)后方可阅读。赞助(二维码在文章下方)后联系作者可一次性解锁所有(包括之后的新文章)。
(旧版)
1 | 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 |
上面命令的各个参数含义如下:
- -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、配置
按照老方法,添加反向代理。
注意:需要修改反向代理配置文件为如下!
1 | #配置反向代理,请求代理发送到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; } } |
因为Bitwarden部分服务使用了WebSocket,需要单独配置反代。
4、使用
访问我们的域名就可以访问Bitwarden的主页,接下来我们来介绍一下如何使用自己Bitwarden管理我们各个平台与各个终端上的密码。
4.1、注册
访问反代的网站:
使用自己的电子邮件地址注册一个账号。
点击提交后,即表示注册成功。接下来会返回到登录页面,输入电子邮件地址,和主密码即可登录。下图显示注册账号后为空的密码库。
4.2、禁止其他人注册
由于这个bitwarden服务器是供个人使用,我们在注册完账号后,要关闭注册功能,防止他人注册。
执行:
1 | # 先停止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 |
此时再注册账号时,会提示Registration not allowed or user already exists.
这样的错误。
4.3、各客户端配置
Bitwarden基本上支持了所有客户端:
Chrome
下载浏览器插件:
设置我们自建bitwarden服务器URL的地址。
接下来我们就体验一下,bitwarden自动保存密码的功能。在chrome浏览器中,我们登录果壳网,bitwarden会自动检测需要保存的用户名和密码。点击“是的,现在保存”即可。
再次访问网站,密码用户名和密码就会自动填充好。
iOS
在AppStore上搜索bitwarden,下载Bitwarden密码管理器。
打开APP,点击设置图标,设置我们搭建的bitwarden服务器域名。
点击“登录”,用注册的bitwarden账号登录到我们搭建的服务器上。
Docker建站(六)Vaultwarden:安全私密的个人密码管理器
评论