CentOS 7安装bitwarden_rs自建密码管理

Bitwarden是一款开源密码管理软件,和Keepass、LastPass相似,支持全平台客户端,支持自建服务,这篇文章要分享的是CenOS 7搭建bitwarden_rs,而不是Bitwarden,关于两者区别,后面会提到。推荐有一定Linux基础的用户继续往下阅读。

前言

早就听闻Bitwarden这款开源密码管理软件,网上口碑也不错,不过一直没有尝试。最近LastPass经常连不上服务器,极其不稳定,而且取消了中文版支持,终于下定决心自建Bitwarden

Bitwarden和bitwarden_rs

bitwarden_rs项目延伸自Bitwarden,bitwarden_rs使用Rust实现了Bitwarden相似的功能,两者均开源。不过Bitwarden需要较多的依赖(如MSSQL),占用内存也比较大,如果是个人或家庭使用,推荐更加轻量的bitwarden_rs,并且bitwarden_rs还可以免费使用Bitwarden的一些高级功能,如附件上传、TOTP等功能。

安装bitwarden_rs

作者提供了Docker安装方式,因此我们需要先安装Docker(注意:OpenVZ虚拟化不支持Docker),安装Docker方法如下:

#安装Docker
yum -y install docker
#启动docker
systemctl start docker
#开机自启
systemctl enable docker

接下来使用Docker拉取bitwarden_rs镜像并运行

docker pull bitwardenrs/server:latest
docker run -d --name bitwarden -v /bw-data/:/data/ -p 80:80 bitwardenrs/server:latest

上方使用了80端口,如果您已经安装了WEB服务,可能会导致冲突,可以将bitwarden_rs映射的端口修改为其它,比如8880

docker run -d --name bitwarden -v /bw-data/:/data/ -p 8880:80 bitwardenrs/server:latest

配置反向代理

下方是雨辰的nginx反向代理配置,主要是方便使用域名方式访问bitwarden_rs,内容仅供参考,请根据实际情况修改:

server
    {
    listen 443 ssl http2;
  # certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
    ssl_certificate /data/ssl/youdomain.com.crt;
    ssl_certificate_key /data/ssl/youdomain.com.key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;

    # intermediate configuration. tweak to your needs.
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
    ssl_prefer_server_ciphers on;

    # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
    add_header Strict-Transport-Security max-age=15768000;

    # OCSP Stapling ---
    # fetch OCSP records from URL in ssl_certificate and cache them
    ssl_stapling on;
    ssl_stapling_verify on;

    server_name     youdomain.com;
   client_max_body_size 128M;
    location / {
        proxy_set_header  Host  'youdomain.com';
        proxy_pass http://127.0.0.1:8880;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /notifications/hub {
    proxy_pass http://127.0.0.1:3012;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }

  location /notifications/hub/negotiate {
    proxy_pass http://127.0.0.1:8880;
  }

}

如果不出意外,访问您的域名https://youdomain.com 就能看到Bitwarden界面。

遇到的一些问题

Google Chrome浏览器无法登录?

某些网络浏览器(例如Chrome)不允许在不安全的上下文中使用Web Crypto API。在这种情况下,您可能会收到类似的错误Cannot read property 'importKey'。要解决此问题的办法就是配置https访问。

参考了bitwarden_rs配置SMTP,但是邮件发送失败?

xiaoz使用的SMTP SSL方式发送邮件,但是未能成功,解决办法是禁用TLS即可:SMTP_EXPLICIT_TLS=true

总结

bitwarden_rs可以很轻松的实现自建密码管理,Bitwarden提供全平台客户端,使用起来非常方便。相比keepass,Bitwarden拥有更高的颜值和更加方便的管理方式。相比LastPass,Bitwarden是开源的,完全可以自建,不再忍受LastPass糟糕的网络。

如果不想自建的童鞋,Bitwarden也提供在线服务:https://vault.bitwarden.com/#/ ,可以直接注册账号使用。

人已赞赏
运维笔记

最新 KMS GVLK 列表, 包含 Windows, Office, Visio 等

2019-12-17 16:05:07

运维笔记

adblock安装包离线下载,easylistchina+easylist规则国内镜像下载

2020-4-1 14:34:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索