原文链接:使用宝塔面板自建Vaultwarden/Bitwarden密码管理器 – 多记 – LOT.PM
Bitwarden是一款开源的密码管理器,旨在帮助用户安全地存储和管理他们的密码和敏感信息。无论是个人用户还是企业,Bitwarden都提供了便捷的解决方案来保护您的登录凭据和重要数据。
Bitwarden提供了跨平台的支持,可在多个设备上使用,包括桌面、移动设备和网络浏览器。您可以在Windows、Mac、Linux、iOS和Android等操作系统上安装Bitwarden客户端,以便随时随地访问您的密码和数据。
搭建
前提:宝塔应用商店安装Nginx和Docker管理器。
/opt目录新建文件夹vaultwarden用以存放Vaultwarden的数据
进入应用商店,打开Docker管理器,点击镜像管理,输入
vaultwarden/server:latest
点击容器列表,点击创建容器,点击保存,见下图
新建站点,输入你想用于Vaultwarden的域名
添加反向代理
填写本地端口
完善配置
将以下代码替换之前的代码,并保存。
#PROXY-START/
location /
{
proxy_pass http://127.0.0.1:1583;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
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 REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
add_header Cache-Control no-cache;
}
#PROXY-END/
访问域名,首次使用,创建新账号
安全加固
1.添加SSL证书。直接在网站管理中申请ssl免费证书。
2.设置IP白名单。
禁止新用户注册,点击容器名称,在编辑容器里找到更多设置,然后在环境变量中添加SIGNUPS_ALLOWED=false
迁移/恢复
按照上述搭建教程重新搭建,搭建完成后,删除/opt/vaultwarden目录下的所有文件,导入之前备份的文件,然后进入Docker管理器,重启容器,即可完成迁移/恢复。
升级
Vaultwarden会不定期进行版本升级,同样为了更好的安全性,也建议在VPS上保存与官方同步更新。为了以防万一,升级前请备份好数据。
升级方法如下:
1.重新获取镜像。
2.备份/opt/vaultwarden目录后删除原有容器
3.新建容器,重新输入之前的配置即可(端口和目录须和之前的一致)。
备份
定时备份/opt/vaultwarden目录。
示例
创建一个计划任务,将/opt/vaultwarden目录的文件加密压缩保存到/box目录,命名为bit.zip,密码为lotpm
zip -rP lotpm /box/bit.zip /opt/vaultwarden
拓展
开启管理页面
开启管理页面后,你可以通过访问域名/admin
进入管理页,修改Vaultwarden相关配置,查看、删除当前注册用户。
要开启管理功能,首先需要创建一个密钥。
使用下列命令创建一个argon2密钥,将MySecretPassword替换为你想要设定的管理密码。
echo -n "MySecretPassword" | argon2 "$(openssl rand -base64 32)" -e -id -k 65540 -t 3 -p 4
你会得到一个类似下面的值
$$argon2id$$v=19$$m=19456,t=2,p=1$$UUZxK1FZMkZoRHFQRlVrTXZvS0E3bHpNQW55c2dBN2NORzdsa0Nxd1JhND0$$cUoId+JBUsJutlG4rfDZayExfjq4TCt48aBc9qsc3UI
如果提示argon2: command not found,则需要手动安装argon2。
创建完成后,在Docker管理器新建容器,容器变量填写ADMIN_TOKEN=刚刚生成的值
ADMIN_TOKEN=$$argon2id$$v=19$$m=19456,t=2,p=1$$UUZxK1FZMkZoRHFQRlVrTXZvS0E3bHpNQW55c2dBN2NORzdsa0Nxd1JhND0$$cUoId+JBUsJutlG4rfDZayExfjq4TCt48aBc9qsc3UI
容器创建完成后,绑定域名,访问https://yourdomain.com/admin
进入管理页,输入管理密码
登录后,将Domain URL修改为你当前绑定的域名。
此外,可根据需求关闭注册功能、开启SMTP发件等。
配置SMTP发件
配置并启用SMTP发件可以丰富Vaultwarden的注册、登录功能(邮件登录验证、注册验证、异地登录邮箱提醒等)。
轻量使用,推荐Mailjet的发件服务(每天免费200封发件)。
开启方法:首先注册Mailjet账号,绑定域名,完成后前往Vaultwarden管理页SMTP Email Settings填写相关信息,其中Username为Mailjwardenet的API Key,Password为Secret Key。
邮件二次验证码测试
新设备登录提醒测试
获取访客真实IP
可参考 使用CDN后,Nginx如何获取访客真实IP
开启前需要开启管理页面,在管理页面中设置获取的请求头。
如果使用的是Cloudflare CDN,将设置页面默认的X-Real-IP修改为CF-Connecting-IP即可。其他场景可根据实际情况将默认值改为X-Forwarded-For或其他自定义IP传递请求头。