利用Vaultwarden搭建自己的密码库
你有多少个账号呢,有多少个不同的密码捏?
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. 安装必要软件
sudo apt update
sudo apt install \
ca-certificates \
curl \
gnupg \
lsb-release
2. 添加官方密钥
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
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
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
5. 安装Caddy
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. 拉取镜像
docker pull vaultwarden/server
2. 启动容器
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
mkdir /etc/caddy
touch /etc/caddy/Caddyfile
vi /etc/caddy/Caddyfile
按i进入编辑模式,输 入
password.example.com {
reverse_proxy localhost:8080
}
之后输入sudo systemctl reload caddy
重启Caddy。
去DNS服务商那里把域名解析到vps,
浏览器访问password.example.com,出现bitwarden的界面就ok.
4. 注册
点击创建账号,填写电子邮件,设置主密码. 主密码一定不能太简单. 只有知道主密码才能访问密码库,即使别人盗取了你的数据库,在不知道你主密码的情况下依然无法访问你的密码库,所以主密码一定要设置复杂一点.