Featured image of post 保护自己的密码安全,自托管或免费部署Bitwarden。

保护自己的密码安全,自托管或免费部署Bitwarden。

还在使用弱密码吗,来一起使用Bitwarden吧!此文章介绍了使用密码软件的优点,如何在服务器上使用Docker自托管Bitwarden或使用Railway免费部署。此软件不仅有浏览器插件,还可以在iOS、Android等设备上同步使用。

你确定自己的密码足够安全吗?

我猜测蛮多人都是“一个密码走天下”的状态吧?🤨,要知道这样真的很危险。Password Strength Meter可以测试你的密码是否足够安全。

密码检测

可以看到,一个常用的常规密码想要破解只需要短短三个小时。更不用想网站服务器大量流出的常用密码。如果你所有服务全部使用一个密码,只需要有一个你常用的网站或APP被黑客攻破,你的密码自然而然被全部泄露。

常用的弱密码,如:

  • 123456 - 连续密码
  • password - 简单英文
  • qwerty - 键盘连续字母

这些密码甚至不需要攻破,因为使用率太高已经被保存于密码字典中。

而且大多数人十分习惯采用“生日+姓名”的组合,这也是被破解的高发区。😢

我该怎么样保证我密码的安全嘞

  • 保证自己的密码大于15位以上

密码位数的增加随之增长的就是破解难度的提升。

  • 尽量采用字母大小写、数字和符号混用的模式

字符混用提高破解的门槛。

  • 不使用弱密码和生日等常见组合

这些密码都已经被记录你确定还在使用?

我记不住欸,而且使用同一个密码为什么还是错的

好多人大概是因为记不住所以被迫使用一个密码。这样是很危险的!😡而且,因为虽然你不在乎密码的安全,但是很多互联网公司会为了用户的账户安全在设置密码时设置各种门槛,而且方式千奇百怪。如果使用不符合复杂度的密码将无法创建账户。

在很早以前密码使用任意数字或字母就可以注册成功,尤其点名QQ。记得零几年注册的QQ账号密码采用全部数字竟然没有任何提示密码危险信息。随着网络安全意识的提高,逐渐开始在注册层面强制使用“数字+密码”的组合,接着是“密码中必须有大小写字母和数字”的组合。

这样直接导致虽然你认为你记录的是一个密码,但是随着网站和应用的逐渐变迁,导致你一直在填写密码时“一时兴起”多加了几个字母和数字,以为自己能记住,其实这是不可能的。😞

怎么办嘞?

最简单的办法就是使用密码管理工具咯

例如Edge上有自带的密码管理软件,还可以扫描到可能泄露的密码。

Edge密码管理

现在绝大多数浏览器都提供有密码保存功能,在输入密码时自动帮你生成一个十几位的强密码,但是应该绝大多数人不会使用。为什么呢?因为它只能在PC浏览器上使用呀!!而且只能记录网站密码,APP使用的密码无能为力。

推荐使用Bitwarden!

所以用Biwarden多好

对比一系列密码管理软件,在众多收费的产品中,它免费又开源。完全不需要担心软件本身有后门或者漏洞。

有两种方式,一种是直接去Bitwarden官网注册账号使用,缺点是如果想要全功能需要购买高级会员。

第二种方式是直接在自己服务器上搭建一个。😚优点是完全掌握在自己手中,而且自己搭建的服务器默认开通高级会员。下面就是搭建的内容咯~

Bitwarden高级会员

推荐使用docker compose方式搭建

部署方式

@2022年10月3日 重新编辑,新增Railway免费部署方式。

自托管Docker部署

此步骤需要有一台服务器,但是应该支持Dockerfile的PAAS平台应该也行,但是没有试过。

安装docker

在文章命令记录#docker安装中有写,直接根据文章安装docker和docker compose。

在安装完成后,输入命令获取Bitwarden:

docker pull vaultwarden/server:latest

编写docker compose与启动

然后在VPS中选一个看得比较顺眼的地方编写docker compose.yml文件。我一般在网站根目录下创建这个文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
version: '3'

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
    - WEBSOCKET_ENABLED=true
    - SIGNUPS_ALLOWED=false
    volumes:
      - /data/docker/bitwarden/data:/data
    ports:
      - 7006:80  # Needed for the ACME HTTP-01 challenge.
      - 7007:443
      - 3012:3012

⚠️注意:

  1. ports是下的切片,前面表示服务器端口号,这个可以修改为任意值,后面代表docker容器中的端口号,不能修改。
  2. environment下的SIGNUPS_ALLOWED先设置为true,在自己注册后再docker compose down关闭修改文件,再次启动。

在文件目录下运行一下查看是否启动:

docker compose up -d

然后在浏览器中打开ip:port

Bitwarden登陆界面

显示登陆界面代表安装成功。😎

添加nginx反向代理

不要直接使用端口进行访问!在检测完端口确定可以访问后把端口的外部访问关闭。

修改nginx文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
server
    {
        client_max_body_size 128M;
        location / {
        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:3012;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        }
  
        location /notifications/hub/negotiate {
        proxy_pass http://127.0.0.1:7006;
        }
    }

这是server中新添加的内容,注意原先内容不要删除。

困惑

我为什么不能登陆

可能是因为网站不是https的问题,因为Bitwarden在很早的一次升级中将http访问移除,必须使用https才能登陆访问以提高安全性。

我使用的是lnmp,所以直接输入命令

lnmp ssl add进行添加https访问即可。

Railway 免费部署

这一章节介绍如何使用Railway免费部署。但是注意:使用Github进行单点登录或链接的账户,必须注册够180天,否则会拒绝申请。

还需要注意

  1. Railway每月只有5刀免费额度,注意用量。(使用量取决于你项目中使用的服务数量,主要分为CPU使用时间与内存用量)
  2. 本质上是免费提供的一个VPS,但是严禁部署各种VPN隧道服务。

打开Railway仪表板后点击右上方的新建项目在模板中找到Vaultwarden并使用。

部署

在模板配置页面中Repository details为部署在Github上的新存储库名字,选择下面的Private repository会设置为私有仓库。我原本以为设置私有仓库后可以在仓库中添加.env文件设置变量,但是发现并没有什么用。

vault

下方的Environment variables为环境变量调整项。ADMIN_TOKEN不是随便输入的字符串,而是需要使用:

1
openssl rand -base64 48

此命令获取的随机字符串。如果当前没有Linux环境的朋友或小白可以直接在在线Bash中输入此命令获取。剩下在下拉菜单中的DOMAINPORT变量请保持默认。点击Deploy后稍作等待后会在仪表板显示出你部署的应用。在项目中打开Variables,重新添加环境变量I_REALLY_WANT_VOLATILE_STORAGE=true,点击确定后会自动重新部署。

添加环境变量

等一分钟就部署完咯🥰。这时打开Deployments标签栏,最新的部署上应该会显示有项目域名。打开后注册登录就能使用咯。如果是自己使用,在自己注册后可以再次添加环境变量SIGNUPS_ALLOWED=false关闭注册。如果想要完全自己配置,还可以查看环境变量调整。

如果有自己域名就更棒了!可以直接在Settings中的Domains选项中用CNAME方式添加二级域名,直接使用其他域名访问。

Bitwarden 使用体验

不得不说真的舒服很多🥳。所有网站与APP全部设置为唯一的强密码,在Android端登陆APP时,可以直接在Gboard中提供密码:

Discord-Bitwarden密码

直接点击上栏填入密码即可。

而在iPhone中,因为faceID的引入,使得输入密码更为方便:

iPhone-Bitwarden密码

在任意网站或APP登陆,甚至不需要任何感知,faceID自动帮你填入密码。

在网页端也极为方便,打开任何网页会自动搜索该域中所有密码,登陆界面中点一下自动填充。值得注意的是一定不要取消锁定!💔不然任何人使用你的电脑都有可能获取你的密码。

PC-Bitwarden密码

插件可以在Edge插件商店中找到。

⚠️注意:

  • 使用个人搭建服务要在设置中填入自己的域名。
  • 使用任何密码软件来预防都防不住自己要告诉他人的密码
  • 定期docker pull vaultwarden/server:latest来更新最新的服务端

完结撒花🎉🎉🎉

irithys
Built with Hugo
主题 StackJimmy 设计,由 吕楪 改进😎