vaultwarden密码库 搭建流程

系统工程 - 建设篇

第二章 vaultwarden密码库 搭建流程

  • 系统工程 - 建设篇
  • 系列文章回顾
  • 前言
    • 前置条件
    • 实施步骤
    • 注意事项
    • 浏览器插件下载链接
  • 部署 vaultwarden密码库
    • 宝塔面板配置docker,开启docker服务
    • 从docker.io镜像库下载vaultbitwarden版本,运行镜像并测试访问密码库后台
      • docker run运行镜像
      • 宝塔面板部署vaultwarden密码库网站,伪静态+SSL证书
    • 测试访问密码库的首页和后台
      • 访问密码库后台并配置后台参数
    • 配置密码库的基础功能、组织、管理员
    • Chrome、Firefox浏览器安装bitwarden插件,测试登录和自动填充功能
      • 测试登录和自动填充
  • 参考来源


系列文章回顾

第一章 宝塔面板+NextCloud文档云 搭建流程


前言

建设安全可存储的密码库,以开源版bitwarden为例,方便IT人员安全存储密码
由于BitWarden是一个网站应用,是B/S架构,而且支持docker部署,所以需要搭建一台支持docker部署的Linux,同时为了方便管理Linux服务器,在Linux服务器上使用宝塔运维面板进行运维管理。


前置条件

  • Linux虚拟机已安装LNMP
  • Linux虚拟机需要联网
  • 准备Xshell等连接工具,安装lrzsz、zip、unzip等工具

实施步骤

1. 宝塔面板配置docker,开启docker服务
2. 从docker.io镜像库下载vaultbitwarden版本,运行镜像并测试访问密码库后台
3. 配置密码库的基础功能、组织、管理员
4. Chrome、Firefox浏览器安装bitwarden插件,测试登录和自动填充功能


注意事项

  1. 如果vaultwarden使用的SSL证书是自建CA的SSL证书,那么浏览器就需要导入自建CA证书才可正常访问登录bitwarden,否则会提示证书告警并登录失败。

浏览器插件下载链接

Chrome bitwarden
Firefox bitwarden



部署 vaultwarden密码库

宝塔面板配置docker,开启docker服务

宝塔网站管理
vaultwarden密码库 搭建流程_第1张图片
vaultwarden密码库 搭建流程_第2张图片



从docker.io镜像库下载vaultbitwarden版本,运行镜像并测试访问密码库后台

镜像下载的可选方式:
① 登录nginx后台,使用docker pull命令下载

# Linux后台
[root@localhost ~]# cd /opt
[root@localhost ~]# docker pull vaultwarden/server:latest

② 登录宝塔面板,使用宝塔提供的docker镜像窗口下载
vaultwarden密码库 搭建流程_第3张图片


docker run运行镜像

# Linux后台
# 必须用命令行执行docker run      CLI命令可以更简单地执行丰富的参数集

docker run -d --restart=always --name vaultwarden -v /www/wwwroot/vaultwarden/:/data/ -p 8000:80 \
-e LOG_FILE=data/access.log \
-e LOG_LEVEL=info \
-e EXTENDED_LOGGING=true vaultwarden/server:latest

# 上述参数解析:   -d --detach  后台运行容器并打印容器ID        --name  指定容器名称       -v --volume  指定映射的目标 (本地:容器)     -p --publish  指定映射的端口号 (本地:容器)
#                -e --env     设置容器运行的环境变量, 一般用来设置容器内软件的参数和配置.

宝塔面板部署vaultwarden密码库网站,伪静态+SSL证书

SSL证书的添加过程(略)

# 伪静态配置
location / {
  proxy_pass http://vaultwarden.xxx.com:8000;
}
# nginx配置文件
server
{
    listen 80;
	listen 443 ssl http2;
    server_name vaultwarden.xxx.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/vaultwarden/;

    #HTTP_TO_HTTPS_START
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
    ssl_certificate    /www/server/panel/vhost/cert/vaultwarden.xxx.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/vaultwarden.xxx.com/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497  https://$host$request_uri;
		#SSL-END

    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/vaultwarden.xxx.com.conf;
    #REWRITE-END
    
    access_log  /www/wwwlogs/vaultwarden.xxx.com.log;
    error_log  /www/wwwlogs/vaultwarden.xxx.com.error.log;
}


测试访问密码库的首页和后台

访问https://vaultwarden.xxx.com/
vaultwarden密码库 搭建流程_第4张图片

访问密码库后台并配置后台参数

# Linux后台
docker run -d --restart=always --name vaultwarden -v /www/wwwroot/vaultwarden/:/data/ -p 8000:80 \
-e LOG_FILE=data/access.log \
-e LOG_LEVEL=info \
-e EXTENDED_LOGGING=true \
-e ADMIN_TOKEN=random_token_as_this_server_above_admin_pass \			# 删除docker容器,重新执行docker run并添加ADMIN_TOKEN参数,开放密码库后台的访问
vaultwarden/server:latest

访问https://vaultwarden.xxx.com/admin/
vaultwarden密码库 搭建流程_第5张图片
配置完成后台参数后,在后台将ADMIN_TOKEN设置成空,退出即关闭后台界面访问



配置密码库的基础功能、组织、管理员

(略)



Chrome、Firefox浏览器安装bitwarden插件,测试登录和自动填充功能

安装过程(略)

测试登录和自动填充

vaultwarden密码库 搭建流程_第6张图片
vaultwarden密码库 搭建流程_第7张图片
vaultwarden密码库 搭建流程_第8张图片
vaultwarden密码库 搭建流程_第9张图片



参考来源

  1. 宝塔社区版本
  2. 自建bitwarden/vaultwarden的密码服务
  3. Docker部署Vaultwarden(Bitwarden_RS)

你可能感兴趣的:(系统工程,运维,网络安全)