【Docker系列】bitwarden密码管理器

这篇具有很好参考价值的文章主要介绍了【Docker系列】bitwarden密码管理器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

bitwarden是一个密码管理器,到2022/11/24号,bitwarden项目在这之前已经转成了vaultwarden了,市场上也有不少的密码管理器,bitwarden也是口碑最好的那几款之一,开源免费,也有付费版本,有付费的版本可以保证项目的持续性,对项目的经济上还是非常重要的。

我们平常在浏览器上登录某些网站时,在登录成功时,浏览器会有个小窗口问你是否要保存密码,bitwarden也是类似这种功能,只是bitwarden的功能更加强大和安全,bitwarden还支持随机输出强、弱密码,可以根据自己的需求设计密码类型,同时,bitwarden是存储在自己的服务器的,使用SSL加密,安全性远比浏览器帮你存储的高,基本上完全可控,或者你也可以使用本地的局域网配置你的bitwarden,这样不联网更加安全,前提是你有自己的局域网😃。

使用Docker部署vaultwarden

我的安装环境:Ubuntu20.04

内核版本:5.4.0-100-generic

Docker版本:Docker version 20.10.18, build b40c2f6

docker-compose版本:docker-compose version 1.25.0, build 0a186604

在使用Docker部署前,你应该具备以下条件:

  1. 服务器已安装Docker、docker-compose、Nginx
  2. 已经有一个域名,可以是子域名,后面需要申请SSL证书

如果你还没安装以上环境,你可以查看我的另一篇文章:

安装Docker、docker-compose:https://blog.hikki.site/2802e5c6.html#Ubuntu18.04安装Docker-CE社区版

安装Nginx:https://blog.hikki.site/111f4f09.html#Linux解压编译安装Nginx

生成随机token

openssl rand -base64 48

生成随机一段字符串后,复制保存一下,等会需要用到。

开始编写docker-compose.yml文件

我这里将vaultwarden部署在/home/docker/bitwarden/目录下,先进入该文件夹下

sudo mkdir -p /home/docker/bitwarden/ 
cd /home/docker/bitwarden/
sudo vim docker-compose.yml

将以下内容下入到docker-compose.yml文件内

version: "2.1"
 
services:
  app:
    image: vaultwarden/server:latest
    environment:
      - SERVER_ADMIN_EMAIL=a3xxxx6@126.com # 自己的邮箱,按需修改
      - SIGNUPS_ALLOWED=false
      - INVITATIONS_ALLOWED=true # 允许邀请注册
      - WEBSOCKET_ENABLED=true 
      - ADMIN_TOKEN=QfewuffefaufgefafWCOmyMKS2+zauVk  # 刚刚生成的token一大段字符串
      - DOMAIN=https://bitwarden.domain.com # 之后使用的域名,可以是子域名
    volumes:
      - ./data:/data/ # 将密码库的文件挂在到宿主机的/home/docker/bitwarden/data下
    ports:
      - 8462:80 # 端口映射,按需修改
    restart: unless-stopped
    networks:
      - default
 
networks:
  default:
    name: bitwarden

以上配置的方式,只允许邀请注册,不允许注册用户,这样安全性会提高一点。

如果你之后的bitwarden的服务掉了,或者是其他原因使用不了,那你也可以使用/home/docker/bitwarden/data目录下的数据来恢复你的数据,据说是可以恢复的,但我还没出现过问题,不知道行不行,哈哈哈,如果你有试过,可以告知我一声。

启动Docker服务

docker-compose up -d

启动服务后,在当前(/home/docker/bitwarden/)目录下,可以看到一个data的文件夹,这个文件夹是存储着你的密码信息,我们可以修改他的权限,不给其他用户查看修改。

# 设置该文件夹的所有权是root
sudo chown -R root:root /home/docker/bitwarden/
# 设置该文件夹的权限为600,其他用户不能查看该文件夹或者修改
sudo chmod -R 600 /home/docker/bitwarden/

给bitwarden配置域名

domain.com是我的域名,你应该根据你的域名进行修改

bitwarden规定必须使用https,因为http的数据是的明文传输,不安全,会泄露密码,我们使用可以使用我们的子域名bitwarden.domain.com,然后使用acme.sh申请一个SSL证书(免费)。

在申请域名前,建议你需要将子域名bitwarden.domain.com解析到我们的服务器。

解析记录参考:

  • 记录类型:A(将域名指向一个IPV4地址)
  • 主机记录:bitwarden
  • 解析线路:默认
  • 记录值:服务器IP地址
  • TTL:10分钟(默认)

将该记录解析到你的服务器,你就得到一个子域名bitwarden.domain.com了,这可以开始申请了。

具体申请过程这里不累赘了,详情参考另一篇文章:https://blog.hikki.site/2e63f4a4.html

Nginx反向代理

编辑Nginx的配置文件

sudo vim /usr/local/nginx/conf/nginx.conf

将以下内容添加到nginx.conf文件中的http块内里面,注意{}的范围

#bitwarden
server {
  listen 80; 
  server_name domain.com; # 按照自己的域名需修改
  return       301 https://$server_name$request_uri;  
  
}
server {
  listen                443 ssl;
  listen                [::]:443 ssl;
  server_name           domain.com; # 按照自己的域名需修改
  ssl_certificate       cert/domain.com/cert.pem; # 按照自己的域名需修改
  ssl_certificate_key   cert/domain.com/key.pem;  # 按照自己的域名需修改
  
  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
   #表示使用的加密套件的类型。
  ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
  ssl_prefer_server_ciphers on;
  location / { 
    proxy_set_header Host $host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    proxy_pass http://localhost:8462;  # 按照自己的端口需修改
  }
}

编辑完后先检测一下配置是否正确:

root@ecs-280:~# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

看到以上内容说明配置没有写错,可以加载配置了

/usr/local/nginx/sbin/nginx -s reload

加载配置完后,可以打开bitwarden了,再配置一下就可以使用了。

配置bitwarden服务端

进入bitwarden配置端

访问https://bitwarden.domain.com,访问会出现以下页面,需要输入token才能进入,这个token就是刚刚生成的那个token,可以在docker-compose.yml这个文件看到token

【Docker系列】bitwarden密码管理器

输入token回车后进入bitwarden配置面板

【Docker系列】bitwarden密码管理器

配置邮箱

该邮箱配置是用于使用bitwarden发送邀请邮箱注册使用,我这里使用126的邮箱,使用126的邮箱给qq邮箱发送注册邀请,然后使用qq邮箱登录bitwarden使用,你如果看不懂控制面板的英文,可以尝试使用翻译插件仔细看看,这配置也是不难的。

这里应该也是支持QQ邮箱的,你可以去看看QQ邮箱的发送端口是哪个,根据QQ邮箱的信息填写

【Docker系列】bitwarden密码管理器

Username和Password是被邀请者的用户名和密码。

邀请用户

打开Users,查看邀请用户记录,【Docker系列】bitwarden密码管理器

发送邀请

邀请需要使用的用户,如果你只是自己使用,可以给自己发送一个邀请,然后使用这个邮箱登录bitwarden就可以使用了,这个发送邀请可以是可以上一步填写的邮箱是同一个,邀请后的用户使用的邮箱登录和上一步设置的密码登录。

【Docker系列】bitwarden密码管理器

浏览器登录

访问https://bitwarden.domain.com/,登录成功后,就可以开始使用了,可以逛逛了解一下bitwarden有什么功能。

导入浏览器的密码

如果有需要,可以将浏览器的密码导入到bitwarden上,这样会方便许多。

导出浏览器密码

【Docker系列】bitwarden密码管理器

导入浏览器密码

打开 https://bitwarden.domain.com 网页。

打开工具--->导入数据,导入刚刚在浏览器的数据,选择相应的文件格式,即可导入数据。

【Docker系列】bitwarden密码管理器

配置客户端

bitwarden的客户端有web端(浏览器的插件)和本地客户端(APP程序),配置基本大同小异,这里只演示浏览器的web端配置,手机端的配置也是差不多的。我这里使用Edge浏览器,

【Docker系列】bitwarden密码管理器【Docker系列】bitwarden密码管理器【Docker系列】bitwarden密码管理器【Docker系列】bitwarden密码管理器

导入后已经可以看到刚刚导入的数据了。到这里就完全可以使用了,平时在使用的时候,在输入密码的时候,右键,可以看到有个bitwarden选项,选择对应的功能即可。

bitwarden基本就完全部署结束了,下面的内容是高级功能,有兴趣可以看看。

进阶内容:URI匹配检测

我个人使用主机模式匹配

我们安装完bitwarden后,可能会有个疑问,bitwarden是怎么识别我在哪一个网页需要自动填充密码呢?这就涉及到bitwarden的识别机制了,我们可以根据自己的需求来选择不同的识别方式,一开始默认使用的基本域,如果你不了解这个东西,也不想去了解,以下的文章你可以跳过了,对你不会有影响。

URI匹配检测有以下几个方式:

  • 基础域
  • 主机
  • 开始于
  • 正则表达式
  • 精确
  • 从不

基础域

选择基本域 当URI的顶级域名二级域名与检测到的资源匹配时,将提示Bitwarden提供自动填充功能。基本域匹配可用于任何国家/地区代码顶级域(例如,.it.co.uk

例如,如果URIhttps://google.com 使用基本域匹配检测:

网址 是否自动填充?
http://google.com
https://accounts.google.com
https://google.net ×
http://yahoo.com ×

主机

我使用的就是主机方式,因为我经常使用服务器调试一下程序时可能会有需要输入账号密码什么的。你应该根据自己的需求来选择不同的检测方式,如果不知道选哪个,那就选择默认的基础域即可。

选择主机 当URI的主机名和(如果指定)端口与检测到的资源匹配时,将提示Bitwarden提供自动填充。

例如,如果URIhttps://sub.bitwarden.domain.com:4000 使用主机匹配检测:

网址 是否自动填充?
http://sub.bitwarden.domain.com:4000
https://sub.bitwarden.domain.com:4000/page.html
https://bitwarden.domain.com ×
https://sub.bitwarden.domain.com ×
https://sub2.sub.bitwarden.domain.com:4000 ×
https://sub.bitwarden.domain.com:5000 ×

开始于

选择开始于 当检测到的资源以URI开头时,将提示Bitwarden提供自动填充功能,而不管URI后面的路径是什么。

例如,如果URIhttps://sub.bitwarden.domain.com/path/ 使用从匹配检测开始:

网址 是否自动填充?
https://sub.bitwarden.domain.com/path/
https://sub.bitwarden.domain.com/path/page.html
https://sub.bitwarden.domain.com ×
https://sub.bitwarden.domain.com:4000/path/page.html (被端口中断) ×
https://sub.bitwarden.domain.com/path (缺少尾部斜杠) ×

正则表达式

正则表达式是一个高级选项,如果使用不正确,可能会导致账号密码胡乱自动填充,如果你不懂使用正则表达式,请不要选择该选项。

选择正则表达式 将提示Bitwarden提供自动填充当检测到的资源匹配指定的正则表达式。正则表达式始终不区分大小写。

不安全示例

如果URI^https://.*google\.com$ 使用正则表达式匹配检测:

网址 是否自动填充?
https://google.com
https://sub.google.com
https://malicious-site.com?q=google.com
http://google.com ×
https://yahoo.com ×

这可能会比预期的相符项目多。请考虑避免使用句号(.),除非转义(\)匹配任何字符。

安全示例

如果URI^https://[a-z]+\.wikipedia\.org/w/index\.php 使用正则表达式匹配检测:

网址 是否自动填充?
https://en.wikipedia.org/w/index.php?title=Special:UserLogin&returnto=Bitwarden
https://pl.wikipedia.org/w/index.php?title=Specjalna:Zaloguj&returnto=Bitwarden
https://en.wikipedia.org/w/index.php
https://malicious-site.com ×
https://en.wikipedia.org/wiki/Bitwarden ×

精确

正在选择精确 当URI与检测到的资源**完全匹配**时,将提示Bitwarden提供自动填充。

例如,如果URIhttps://www.google.com/page.html 使用完全匹配检测:

网址 是否自动填充?
https://www.google.com/page.html
http://www.google.com/page.html ×
https://www.google.com/page.html?query=123 ×
https://www.google.com ×

从不

意思就是不使用bitwarden填充功能。文章来源地址https://www.toymoban.com/news/detail-447603.html

到了这里,关于【Docker系列】bitwarden密码管理器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Docker系列】容器基础、Docker镜像管理

    个人名片: 对人间的热爱与歌颂,可抵岁月冗长🌞 Github👨🏻‍💻:念舒_C.ying CSDN主页✏️:念舒_C.ying 个人博客🌏 :念舒_C.ying 2.1 Docker镜像查找 命令查找 docker官网查找 2.2 Docker镜像管理 拉取MySQL镜像 查看本地镜像 镜像加速(阿里云) Daocloud镜像站加速 镜像删除 2.3 容器

    2024年01月25日
    浏览(42)
  • 【docker系列】详解docker容器状态转换管理命令

    本文系docker系列专栏第六篇。docker容器有三种状态运行、停止、暂停,镜像可以创建、运行容器,镜像和容器也可以转换成tar压缩包进行存储。本文为大家介绍容器的状态转换命令及镜像创建运行容器、tar包导入导出相关的命令及使用场景。 结合下文中的命令介绍来理解上面

    2023年04月25日
    浏览(43)
  • 【docker系列】深入理解 Docker 容器管理与清理

    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老 导航 檀越剑指大厂系列:全面总

    2024年03月25日
    浏览(40)
  • 云原生系列之docker的容器管理实战

    之前我们已经探讨过了docker的镜像,看了下时间,距离上次介绍容器的镜像已经过去两个月了, 如果你已经忘记了,可以直奔专栏:容器管理 从今天开始,我们要探讨docker 的容器了,docker的容器都是从镜像开始创建的,涉及到的操作有: 创建容器,停止容器,进入容器,删

    2024年02月10日
    浏览(47)
  • 【docker系列】docker API管理接口增加CA安全认证

    前文中我们曾经介绍过《使用IDEA远程工具》连接Docker REST API,我们会发现一个问题,任何知道Docker 服务器IP、端口的第三方都可以访问这个API,非常的不安全。为了保证Docker API的安全性,我们有必要使用数字证书进行安全验证。 为docker服务端配置服务端证书,用于验证客户

    2024年02月06日
    浏览(40)
  • 云原生系列之管理docker容器中的数据管理实战

    在生产环境中使用docker,一方面需要对数据进行保存或者在多个容器之间进行数据共享; 另一方面在docker的容器被删除之后,并不会保留容器的状态信息。 想要实现docker容器的信息持久化,就涉及到docker的数据管理,今天我们就来聊聊docker数据管理那些事。

    2024年02月12日
    浏览(40)
  • 自建 Bitwarden 服务器并配置 HTTPS

    我时常因为要记住各种平台的账户密码而担忧,因为怕忘记,然后就想找一款可以保存密码的软件,市面上有 1password ,我使用过它,它确实好用,我通过 Github 学生认证包,免费尝试了一年,但是续费比较贵,所有我选择买一台服务器,自建服务器,数据在自己手里更放心。

    2024年04月25日
    浏览(32)
  • Bitwarden报错:Cannot read properties of nul(reading ‘iterations‘)

    所有终端都无法登录,但已登录的不受影响还能正常使用。 看后台日志能找到404 Not Found的字样 部署的时候使用的镜像为 bitwardenrs/server:latest 官方已经更改了镜像,原镜像已经不再更新,新镜像名为: docker.io/vaultwarden/server:latest 第一次部署的话将环境变量 SIGNUPS_ALLOWED=true ,

    2024年02月12日
    浏览(44)
  • 【Docker】docker | es | es配置密码 | elasticsearch配置密码

            1、docker部署es         2、docker默认无密码,现在需求需要增加安全性,需要增加密码 1、启动es镜像,参考 2、修改es配置 3、开启安全验证   3、重启docker 说明: 容器ID 4、进入到容器 5、生成证书1 说明: 一直回车即可 6、生成证书2 7、将证书移动到config 8、生

    2024年02月11日
    浏览(43)
  • 若依框架后台管理系统-忘记后台管理密码-忘记密码重置方法

    1. 无盐老版 1.1、生成密码密文 1.2、替换数据库中密码 2. 加盐新版 (今天 2022-03-16) 2.1、生成密码密文 2.2、替换数据库中密码 补充说明 参考资料 管理后台忘记密码两步解决: 找到工具类: com.ruoyi.common.utils.SecurityUtils 添加 main 方法:打印出密码密文 大家好,我是笨笨,笨

    2024年02月15日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包