为什么需要一个密码系统?
现如今,密码管理是一个令人头疼的问题,不仅要记得住,还要保证密码的安全和不泄露。为了避免撞库,所有账号用同一个密码显然不是一个好方法,那么今天介绍的 Bitwarden 或许可以提供一个新思路。
Bitwarden 开源免费跨平台,支持 iOS / Android,并且提供多款主流浏览器扩展,可以在任何设备上同步使用和管理你的密码,它的工作方式介于 1Password 和 LastPass 之间,它先使用高强度的 AES256 算法对你的个人数据进行本地加密,然后再传输到云端服务器来实现网络同步。
更厉害的是它可以搭建在自己的私人服务器上,安全性上自然要比放在微软、Google、苹果、华为等等任何服务提供商手里都要安全得多,毕竟像苹果”艳照门“那种事儿大家都不想的嘛=。=
相比于1Password,Bitwarden自建密码存储系统好处有三点:
一是不用支付“高额”的费用,1Password一年需要35美元的费用,有这个钱买个视频网站会员不香吗?而且自己买服务器要更省钱得多,而且除了搭建这个之外,还可以用来干别的;
二是Bitwarden提供了全平台的插件,电脑PC端、手机APP、Chrome、Firefox等插件,自动填充功能和1Password相差无异;
三是安全性掌握在自己手里,再也不用担心1Password“删库跑路”了。
今天,就来介绍如何用自己的VPS搭建Bitwarden密码存储系统。
一、Bitwarden密码管理系统搭建前期准备
1、开源地址
官网:https://bitwarden.com/
第三方项目:https://github.com/dani-garcia/bitwarden_rs
Bitwarden官方推荐使用Docker镜像安装,但是Bitwarden 服务器使用 .Net 开发,如果使用 Docker 来部署,镜像体积过大;此外它使用 MSSQL 数据库,部署这个数据库对服务器配置要求比较高。
而bitwarden_rs采用 Rust 实现了 Bitwarden服务器,这个实现更进一步降低了对机器配置的要求,并且 Docker 镜像体积很小,部署非常方便。此外,官方服务器中需要付费订阅的一些功能,在这个实现中是免费的。
2、需要的准备
一台VPS主机、一个域名。
我刚好在腾讯云活动时买了4年的升配,还是很便宜的。
3、安装好Docker
你需要在VPS主机上先安装好 Docker CE (社区版)和Docker Compose,官网如下
安装 Docker CE (社区版):https://docs.docker.com/install/linux/docker-ce/ubuntu/
安装 Docker Compose:https://docs.docker.com/compose/install/#install-compose
以下命令基于Cent OS7.6系统演示:
安装Docker CE (社区版):
[root@VM-4-5-centos sbin]# yum-config-manager \
> --add-repo \
> http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
已加载插件:fastestmirror, langpacks
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@VM-4-5-centos sbin]# yum install docker-ce docker-ce-cli containerd.io
从 https://mirrors.aliyun.com/docker-ce/linux/centos/gpg 检索密钥
导入 GPG key 0x621E9F35:
用户ID : "Docker Release (CE rpm) <docker@docker.com>"
指纹 : 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
来自 : https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
是否继续?[y/N]:y
完毕!
[root@VM-4-5-centos sbin]# sudo systemctl start docker
[root@VM-4-5-centos sbin]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:9f6ad537c5132bcce57f7a0a20e317228d382c3cd61edae14650eec68b2b345c
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
安装 Docker Compose:
[root@VM-4-5-centos sbin]# curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 633 100 633 0 0 555 0 0:00:01 0:00:01 --:--:-- 555
100 12.1M 100 12.1M 0 0 774k 0 0:00:16 0:00:16 --:--:-- 358k
[root@VM-4-5-centos sbin]# chmod +x /usr/local/bin/docker-compose
#检测一下是不是成功安装
[root@VM-4-5-centos sbin]# docker-compose --version
docker-compose version 1.29.2, build 5becea4c
二、安装Bitwarden密码管理系统
1、做好DNS解析
在域名DNS管理处添加好A记录,将你的域名解析到你的VPS主机上。
三、Bitwarden密码管理系统运行
1、Bitwarden运行与配置
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vw.domain.tld"
SIGNUPS_ALLOWED: "false"
volumes:
- 要挂载绝对路径:/data/
ports:
- 端口号:80
# SIGNUPS_ALLOWED: "false"是禁止注册的选项
2、Bitwarden服务停止与启动
# 启动服务
docker-compose up -d
# 停止服务
docker-compose down
四、Bitwarden密码管理系统使用
详细介绍跳转:自建超级安全密码管理服务Bitwarden保姆级使用教程
五、Bitwarden导入导出与备份
1、导入
打开你的Bitwarden网页端,选择“工具”下的“导入数据”,即可导入1Password等不同密码库的数据。
2、导出
打开你的Bitwarden网页端,选择“工具”下的“导出密码库”即可。
3、备份
bitwarden备份最关键的就是 sqlite3 数据库文件了,可以直接进入到 /www/wwwroot/password.linjoey.cn
目录下,将sqlite3数据库保存下来。当然你也可以将 /www/wwwroot/password.linjoey.cn
目录下所有的包括附件文件夹、图标缓存文件夹、密钥等文件备份下来。