使用Bitwarden管理密码

概述

Bitwarden 是一款开源免费的密码管理器,支持不限数量的密码存储、跨平台同步和自建服务器部署。核心优势包括完全免费、功能完整、开源透明。


一、核心功能

1.1 密码生成与管理

  • 多类型存储:账号密码、TOTP两步验证、自定义笔记/字段
  • 智能分类:一级文件夹结构(不支持嵌套)
  • 高级密码生成
    • 长度:最长128位
    • 自定义:数字/特殊字符最小数量
    • 可视化:不同字符类型彩色显示
    • 密码短语:最多20个单词,支持分隔符/大小写/数字配置
    • 历史记录:保存所有生成过的密码

1.2 数据迁移

  • 导入支持:Chrome、Firefox、1Password、LastPass等主流管理器
  • 导出格式:JSON、CSV(便于备份和迁移)

1.3 安全报告

  • 泄露检测:对比公开泄露数据库
  • 重复使用检测:标记重复密码
  • 弱密码识别:发现易破解密码
  • HTTPS检查:提醒非HTTPS域名
  • 2FA建议:提示未启用两步验证的网站

1.4 账户保护

  • 指纹短语:5个固定英文单词组成的唯一标识(用于验证服务器/组织成员)
  • KDF强化:增加主密码暴力破解难度
  • 基础防护:后台自动锁定、禁止截图

二、自建部署

2.1 环境准备

CentOS

1
2
3
4
5
6
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Ubuntu

1
2
3
4
5
6
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose
sudo systemctl enable --now docker

2.2 部署方案

官方镜像

  1. Bitwarden官网 申请 installation idkey
  2. 执行安装脚本:
    1
    2
    3
    curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh && chmod +x bitwarden.sh
    ./bitwarden.sh install # 按提示输入域名和密钥
    ./bitwarden.sh start

第三方镜像(推荐)

使用 bitwarden_rs(Rust重写版):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 拉取镜像
docker pull bitwardenrs/server:latest

# 测试运行
docker run -d --name bitwarden -v /bw-data/:/data/ -p 80:80 bitwardenrs/server:latest

# 生产配置(关键参数)
docker run -d --name bitwarden \
-v /bw-data/:/data/ \
-e SIGNUPS_ALLOWED=false \ # 禁止注册(先注册账号!)
-e ADMIN_TOKEN=复杂随机字符串 \ # 启用管理页面
-e SHOW_PASSWORD_HINT=false \ # 隐藏密码提示
-e WEBSOCKET_ENABLED=true \ # 启用通知
-e DOMAIN=https://your-domain.com \ # 必须设置域名
-p 80:80 -p 3012:3012 \ # 通知端口
bitwardenrs/server:latest

2.3 Nginx反向代理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
server {
server_name your-domain.com;
client_max_body_size 128M;

location / {
proxy_pass http://localhost:80;
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://localhost:3012;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

location /notifications/hub/negotiate {
proxy_pass http://localhost:80;
}

listen 80;
}

注意:生产环境需配置SSL证书(推荐certbot自动配置)


三、安全最佳实践

  1. 首次部署:先注册个人账号再禁用注册(SIGNUPS_ALLOWED=false
  2. 管理页面:设置高强度ADMIN_TOKEN并启用HTTPS
  3. 邮件服务(可选):
    1
    2
    3
    4
    5
    6
    -e SMTP_HOST=smtp.domain.tld \
    -e SMTP_FROM=bitwarden@domain.tld \
    -e SMTP_PORT=587 \
    -e SMTP_SSL=true \
    -e SMTP_USERNAME=username \
    -e SMTP_PASSWORD=password

总结

Bitwarden 通过开源免费、功能完整和自建支持三大优势,成为个人密码管理的理想选择。自建部署时推荐使用第三方Rust镜像,配合Nginx反向代理和严格的安全配置,可兼顾便利性与数据隐私。