私有化部署密码管理系统Bitwarden及备份、运维

密码管理系统很久前已经在用了,主要用来记录一些不太重要的论坛、不涉及资金的网络账号密码。一直使用LastPass,一开始还有中文的。后来更新着突然就没了中文了。主要也是生成密码和自动填充,英文用着也不碍事。只是虽然那些账号都无关紧要,但是总感觉自己的敏感数据在别人手上总是不太自在。加上有闲置的服务器。因此走上了搭建私有化的路上。选用了衍生版本Bitwarden_rs。

VPS准备

  • VPS一台,需安装Docker,内存不低于512m (实际内存占用相当小)
  • 域名(如使用国内服务器,请先备案)

参考资料

Docker

Bitwarden_rs 安装

#获取镜像
docker pull bitwardenrs/server:latest
#生成管理员Token
openssl rand -base64 48

保存好生成的Token。开始搭建bitwardenrs。

docker run -d --name bitwarden -e ADMIN_TOKEN=[生成的Token] -v [数据存放的目录]:/data/  -p [外网端口]:80   bitwardenrs/server:latest

构建完成后,通过[服务器ip:外网端口],如127.0.0.1:8080/admin。访问bitwardenrs后台,并在设置中将网址设置为你的域名保存后关闭。

因bitwardenrs安全性要求,需为HTTPS才能正常登录,需要使用Nginx的反向代理,请自行搭建Nginx或使用宝塔完成该项。

然后通过[域名:外网端口]访问bitwardenrs前台,并注册一个账号。登录账号后,如之前有使用其他密码管理系统,可以在此时通过web管理页面导入到bitwardenrs。后续为保证安全会关闭web访问,导入就不太方便了。

完成上述步骤,回到服务器,执行以下命令

# 停止容器
docker stop bitwarden
# 删除容器 (此时用户数据和设置数据在数据存放目录中,删除容器并不影响)
docker rm bitwarden

完成后使用以下命令构建正式版环境

docker run -d --name bitwarden \
-e SIGNUPS_ALLOWED=false \    (这个实际在文件夹配置文件里,已禁止)
-e INVITATiONS_ALLOWED=false \   (禁止web端访问)
-e WEB_VAULT_ENABLED=false \
-v [数据存放目录]:/data/ \
-p [外网端口]:80 \
bitwardenrs/server:latest

实际操作下来,反向docker命令中的SIGNUPS_ALLOWED=false(即关闭注册功能),命令无任何效果。依旧可以注册。因此需要到[数据存放目录],找到config.json文件,找到配置项SIGNUPS_ALLOWED改为false,重启docker容器,可以实际关闭用户注册。

至此,搭建完成。

备份

只需要将数据存放目录,一般是叫bw-data文件夹整个备份下来即可。一般来说都是字节数据,并不会很大。

迁移

由于是使用Docker部署的,迁移非常简单。

在新环境中,搭建Docker环境,并重新下载bitwardenrs的Docker image。

#获取镜像
docker pull bitwardenrs/server:latest

将之前备份的数据存放目录,一般是叫bw-data文件夹,放到服务器上,执行Docker命令。

docker run -d --name bitwarden \
-e SIGNUPS_ALLOWED=false \    (这个实际在文件夹配置文件里,已禁止)
-e INVITATiONS_ALLOWED=false \   (禁止web端访问)
-e WEB_VAULT_ENABLED=false \
-v [数据存放目录]:/data/ \
-p [外网端口]:80 \
bitwardenrs/server:latest

服务便重新运行起来。接着去改反向代理的IP,即可把服务完全迁移了。

点赞

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注