宝塔自建 bitwarden 密码管理器

宝塔自建 bitwarden 密码管理器
我们生活在被数字包围的世界里。为了证明你是你,你对某个资源拥有所有权。那么就需要密码。最常用的各种网站,还别说银行密码信用卡等等。市面上虽然有 1Password 等优秀商业方案,但是要付费。主流浏览器 Chrome,Firefox 等也提供原生的密码保存方案。 但是, 密码毕竟是个人数据, 自部署(self-hosted)是最佳方案 免费密码管理器 bitwarden 的实际使用体验如何
更新 2022.09.17
- 调整反代细节
- 增加时区可选参数
更新 2022.08.02
- 增加自启动
更新 2022.07.31
- 新增 fail2ban 配置
更新 2022.07.30
- docker 新增日志、时区配置
更新 2024.07.28
- 新增 docker compose 配置
使用宝塔面板 容易备份 容易管理
新建站点
新建站点,PHP 版本纯静态
,不创建数据库,同时将根目录复制
点击新建好的站点,为新站点申请 SSL (站点无 SSL 将影响功能使用,内网使用可查看此文章 绕过 bitwarden 无 ssl 情况导入密码)
新建 docker
从宝塔自带的软件商店搜索 docker 并安装
bitwarden_rs 是一个用于本地搭建 Bitwarden 服务器的第三方开源 Docker 项目。
bitwarden_rs 使用 Rust 编写,并改用 SQLite 数据库(现在也支持 MySQL 和 PostgreSQL),相对于官方版使用 MSSQL 数据库要求至少 2GB 内存,运行 bitwarden_rs 时只需要 10M 内存,可以说对硬件基本没有要求
安装后点击设置 - 镜像管理 填入 vaultwarden/server:latest
新建 docker,添加端口和目录映射,目录一定要选刚才创建网站的目录
配置反向代理
打开 配置文件
添加 websocket
配置 (不配置此项可能不会及时自动同步)
1 | upstream vaultwarden-ws { |
打开 站点 - 反向代理
随便添加一个,因为后边还要手动调整
添加完成后点击 配置文件 ,手动编辑
覆盖粘贴如下内容
注意: 如果手动点击
状态(运行中)
按钮,自定义的配置文件内容会被宝塔修改,需要重新点配置文件,再覆盖粘贴一次
1 | #PROXY-START/ |
保存即可,此时访问网址已经可以看到相关页面了,注册一个账号作为使用的主账号,可以导出 chrome 浏览器以前保存过的密码,然后导入到 Bitwarden
调整 docker
由于我是自己用的,所以还需要禁用注册
停止并删除 docker 管理器上的容器,因为需要用命令行去重新创建一个
打开系统命令行
1 | docker run -d --name Bitwarden \ |
使用 ADMIN_TOKEN=密码
环境变量来设置一个超级密码,密码具体自定义,一定要复杂一些
使用 SIGNUPS_ALLOWED=false
来关闭注册
使用 WEBSOCKET_ENABLED
开启 websocket
-v /www/wwwroot/xxx.xxx.com/:/data/ \
中 /www/wwwroot/xxx.xxx.com/
换为第一步新建站点、第二部新建 docker 选的的路径,这样不会丢失上一步注册的用户数据
LOG_FILE
指定日志输出路径
TZ
指定时区,方便查看日志 不修改无法使用 fail2ban
可用时区挂载替换此项 -v /etc/localtime:/etc/localtime
执行完成后刷新 docker 管理器会发现又重新出现了一个容器
设置容器自启动 (可选)
1 | # 自启动 |
定时备份
使用宝塔的计划任务,定时备份网址数据到服务器本地 / 腾讯云 COS
也可选择备份目录,因为我们选择了网站目录作为数据根目录,所以效果是一样的
各版本客户端下载地址
fail2ban 配置
使用 fail2ban 可以保护登录,官方文档
安装
软件商店搜索 fail2 进行安装
(可选)为 fail2ban-regex
建立软连接
1 | ln -s /www/server/panel/pyenv/bin/fail2ban-regex /usr/bin/fail2ban-regex |
除了用于 bitwarden 的防护,还可以保护 ssh
创建规则
使用文件管理打开 /etc/fail2ban/filter.d
目录
创建文件 vaultwarden.conf
内容如下
1 | [INCLUDES] |
创建文件 vaultwarden-admin.conf
1 | [INCLUDES] |
启用规则
打开文件 /etc/fail2ban/jail.local
加入如下内容,其中 logpath
指定的是真实日志地址,和 LOG_FILE
指定的路径是对应的关系
1 | [vaultwarden] |
重启服务
可以使用命令查看启动状态
1 | fail2ban-client status vaultwarden |
⚠️ 使用宝塔 fail2ban 面板查看封禁用户
☣️[警告], 此操作不可逆,可能会对宝塔 fail2ban 造成损害,且只能在线查看,不支持配置
此操作是为了方便查看封禁信息
使用宝塔打开 /www/server/panel/plugin/fail2ban/config.json
填入
1 | { |
docker-compose 配置
新建 docker-compose.yml
文件,粘贴此配置信息
1 | services: |
更新并启动
1 | docker-compose up -d --build --remove-orphans |
- 标题: 宝塔自建 bitwarden 密码管理器
- 作者: tsvico
- 创建于 : 2022-07-26 14:20:29
- 更新于 : 2024-07-28 16:22:11
- 链接: https://blog.tbox.fun/2022/2406815975.html
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。