利用Vaultwarden搭建自己的密码库

利用Vaultwarden搭建自己的密码库

你有多少个账号呢,有多少个不同的密码捏?

Bitwarden介绍

Bitwarden是一个安全,开源,跨平台的密码管理器。提供免费/付费个人计划,团队计划,商业计划等等。详见:https://bitwarden.com/pricing/

Bitwarden也提供了服务端用于自行部署。不过官方服务端性能要求高,所以我使用了用rust编写的非官方服务端vaultwarden(原名bitwarden_rs)。

在使用bitwarden之前,窝总共有四五个密码。最最开始所有账号用的都是同一个密码,后来害怕密码泄露,又想了三四个密码,小网站/小APP使用最简单的密码,即使泄露也无伤大雅,比较重要的账户使用中等复杂的密码,重要的账号/涉及支付的账号使用最复杂的密码。

但是这样还是会有一些小问题,比如1. 一些小网站就要求大小写字母加符号。而有一些APP竟然不允许密码中包含符号。。。绝了 2. 有时候我也不知道某个账号用的是哪个密码,只好所有密码都试一遍。3. 有时候我记不住账号(┬┬﹏┬┬),因为我有多个邮箱和用户名。

所以我开始使用密码管理器,如果你没有自己的服务器,域名,和比较富裕的时间,我建议使用官方服务,官方免费服务足够个人使用(需要有一定科学上网能力,来接收Google reCAPTCHA)。

Bitwarden提供优秀的自动填充服务,并且可以利用系统的生物识别(指纹,人脸等)进行认证。

同时Bitwarden不止可以用来存储密码,还可以存储文件/文本/银行卡/个人信息。并且提供安全分享功能(seed)。

搭建教程

需要有一台vps,一个域名,如果服务器位于国内则需备案。
我使用的是腾讯云1h 2g 5m, Debian 10系统

(一) 安装Docker和Caddy

1. 安装必要软件

安装必要软件
1
2
3
4
5
6
sudo apt update
sudo apt install \
ca-certificates \
curl \
gnupg \
lsb-release

2. 添加官方密钥

添加仓库公钥
1
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

3. 添加仓库

添加仓库
1
2
3
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. 安装Docker

安装Docker
1
2
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

5. 安装Caddy

安装Caddy
1
2
3
4
5
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo tee /etc/apt/trusted.gpg.d/caddy-stable.asc
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

(二) 部署Vaultwarden

1. 拉取镜像

拉取镜像
1
docker pull vaultwarden/server

2. 启动容器

启动容器
1
docker run -d --name vaultwarden -v /vw-data/:/data/ -p 8080:80 vaultwarden/server:latest

这将创建一个名字叫vaultwarden,将容器的/data/目录映射到机器的/vm-data/目录,将容器的80端口映射到机器的8080端口,使用的镜像为vaultwarden/server:latest.

3. 配置Caddy

配置Caddy
1
2
3
mkdir /etc/caddy
touch /etc/caddy/Caddyfile
vi /etc/caddy/Caddyfile

按i进入编辑模式,输入

/etc/caddy/Caddyfile
1
2
3
password.example.com {
reverse_proxy localhost:8080
}

之后输入sudo systemctl reload caddy重启Caddy。
去DNS服务商那里把域名解析到vps,
浏览器访问password.example.com,出现bitwarden的界面就ok.

4. 注册

点击创建账号,填写电子邮件,设置主密码.
主密码一定不能太简单.
只有知道主密码才能访问密码库,即使别人盗取了你的数据库,在不知道你主密码的情况下依然无法访问你的密码库,所以主密码一定要设置复杂一点.

(三) 设置Vaultwarden

1. 禁止新用户注册并开启WebSocket

为了防止他人注册,需要禁止新用户注册.

1
2
3
4
5
6
7
8
docker rm vaultwarden
docker run -d --name vaultwarden \
-e SIGNUPS_ALLOWED=false \
-e WEBSOCKET_ENABLED=true \
-v /vw-data/:/data/ \
-p 8081:80 \
-p 30122:3012 \
vaultwarden/server:latest

之后去修改Caddyfile, 添加

/etc/caddy/Caddyfile
1
reverse_proxy localhost:30122

(四) 获取Bitwarden应用

访问 https://bitwarden.com/download/ 获取各平台应用

请选择你的英雄

Windows
Linux
移动端

Chrome
Edge
Firefox
Tor

后记

密码

二次验证


2022-04-06
因为服务器上部署着另一个服务,并且我也担心自己没有能力保证数据安全,最后还是换成了官方服务。🤣

利用Vaultwarden搭建自己的密码库

https://www.yunshu.site/vaultwarden.html

作者

YunShu

发布于

2022-01-12

更新于

2022-06-23

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×