【实战】搭建个人专属的Bitwarden密码管理系统

文摘   社会   2024-10-01 00:00   广西  

作为一个网安新人,选择使用统一密码还是为每个软件设置独立密码,始终是一个困扰的问题。要记住过多的密码几乎是不现实的,而将密码以书面形式记录又非常不安全。随着账号密码数量的增加,我一直在寻找一种安全、快速、方便的长期保存密码的方法。从手写笔记到手机备忘录,从TXT文档到Word文档,再到自己手动备份和OneDrive自动同步……真是一场挑战!
如今,比较流行的方式是使用密码管理工具进行统一管理。这类软件通常提供多平台客户端和浏览器插件,并将密码加密保存到本地或云端。
市场上有很多密码管理工具,有人认为1Password是最佳选择,但价格实在太贵,因此我暂时不考虑。在比较其他软件后,我发现它们各有特色。有些倾向于将密码库存储在云端,有些则允许将密码库保存在本地,有的开源,有的是私有化,有的还支持私有化部署。

最终,我选择使用Bitwarden来搭建私人密码库。它提供全面的客户端覆盖,支持开源免费版,并且允许私有化部署,完全满足了我对密码库的所有要求。Bitwarden官方提供私有化部署,支持一键部署脚本和手动部署两种方式。然而,由于官方使用的是MSSQL数据库,整体部署对机器配置的要求较高
只为一个私人密码库部署这样一个重量级的应用,实在不符合我的习惯(钱包也顶不住)。经过一番查找,我终于在GitHub上发现了一位大佬使用Ruby开发的兼容Bitwarden服务器:bitwarden_rs,并且提供了Docker镜像进行部署。
该服务器的系统配置要求很低,Docker镜像体积也小,部署过程非常方便,使用SQLite服务器来存储数据,对于个人用户来说已经足够。最终,我决定使用它作为我的密码库的服务器端。
首先,你需要一个域名和一台安装了Docker环境的服务器。可以参考Docker的官方文档来进行Docker的安装。为方便部署和更新,本文将使用docker-compose来管理服务。在Linux下,可以使用以下命令进行docker-compose的安装和更新:
sudo curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
mkdir -p /data/bitwarden && cd /data/bitwarden
cat >> docker-compose.yml <<EOFversion: '3'
services: # 服务名称 bitwarden: # 指定使用 Docker Hub 中的最新镜像 image: bitwardenrs/server:latest # 容器名称 container_name: bitwarden # 开机自动启动 restart: always # 指定容器内的 /data 目录挂载到宿主机的当前目录下的 /data/bitwarden/data 目录,这样你可以在宿主机上执行数据库的备份操作 volumes: - /data/docker/bitwarden/data:/data # bitwarden配置 environment: # 开启网页访问 WEB_VAULT_ENABLED: 'true' # 开启新用户注册,我们注册后关闭即可 SIGNUPS_ALLOWED: 'true' # 开启长连接 WEBSOCKET_ENABLED: 'true' # 日志文件 LOG_FILE: /data/bitwarden.log # 将容器内的80/3012端口映射到宿主机的7006/7007端口;其中80端口为 HTTP 服务,3012 端口是 websockets 服务 ports: - 7006:80 - 7007:3012EOF
#bitwardenlocation / {  proxy_pass http://127.0.0.1:7006;  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;}location /notifications/hub {  proxy_pass http://127.0.0.1:7007;  proxy_set_header Upgrade $http_upgrade;  proxy_set_header Connection "upgrade";}location /notifications/hub/negotiate {  proxy_pass http://127.0.0.1:7006;}

现在你的 Bitwarden 服务器允许任何人访问和注册。如果你只是想自己使用,可以通过关闭用户注册功能来保护隐私。请按照以下步骤调整 docker-compose 配置文件:
SIGNUPS_ALLOWED: 'false'
在修改配置后,运行以下命令以删除并重新创建容器,使更改生效。请放心,所有数据都保存在我们在第 4.1 步中创建的目录中,不会丢失。
docker-compose down && docker-compose up -d
完成后,用户注册功能将被禁用,Web 访问也会关闭。你仍然可以在客户端中编辑密码数据。


暮色的狐
这是一只高强度上网冲浪、高质量输出内容的狐狸。主打ACGN杂谈、技术干货分享、第九艺术鉴赏、网梗百科解析、情感树洞鸡汤、正能量价值观~
 最新文章