基于Docker搭建bitwarden密码管理服务器

2021-01-06 19:47:20 40点赞 308收藏 39评论

0 什么是密码管理

在这个数字化、信息化的时代,我们的日常生活中充斥着大量的账户信息,有银行的账户密码、手机卡的服务密码、各种社交软件的登录密码。各种密码如果设置成不一样的我们很难记住,而设置为一样的则很不安全。虽然各种服务商都在尽可能地方便用户登录,比如设置扫码登录、手机验证码登录,但这些登陆方式都无法彻底取代密码。这个时候就需要我们通过一些手段辅助我们管理密码。

其实密码管理这个服务我们日常生活中已经是经常用到了。比如苹果家的钥匙串服务可以保存我们日常生活中的密码,又比如各种浏览器的记住密码功能。在我们需要登陆的时候可以自动的为我们填充密码。但是这些密码管理器也有一些问题,这些问题不是技术上的,而是商业上的。比如苹果的钥匙串无法在Windows平台使用。尤其是某些行业还是无法脱离Windows平台。这个时候一些跨平台的密码管理服务就可以很好的弥补这个问题。

1 搭建密码管理服务器

1.1 自己搭建密码服务器的优点

自行搭建密码管理服务器自然是有一些优点的。
① 数据存储在自有服务器中。
② 无使用费用(服务器费用除外)。
③ 完全免费,没有密码条目数量的限制。
④ 项目开源。

1.2 Bitwarden_rs

Bitwarden是一款开源密码管理软件,和Keepass、LastPass相似,支持全平台客户端,支持自建服务。

bitwarden_rs 是一个用于本地搭建 Bitwarden 服务器的第三方 Docker 项目。

bitwarden_rs 用 Rust 编写,与官方 Bitwarden 客户端兼容,并改用 SQLite 数据库,相对于官方版使用 MSSQL 数据库要求至少 2GB 内存,可以说 bitwarden_rs 对硬件基本没有要求。

bitwarden_rs 除不支持官方企业版的部分功能(如群组控制、日志审核、目录同步、以及基于企业组织层面的 DUO Security 两步登录)外,其他所有功能均免费支持。并跟随官方版本保持及时更新。

bitwardenbitwarden

1.3 通过docker安装Bitwarden_rs

在上一篇中,我在NUC5PPYH中安装宝塔面板进行基本的管理。在宝塔面板中有docker管理器,我们可以比较方便的使用它管理Docker。但是需要注意的是该管理器启动的docker无法自动重启。我们需要通过命令行来修改。

接下来我们一步步的安装。
① 点击【镜像管理】进入该页面。

基于Docker搭建bitwarden密码管理服务器

② 点击【获取镜像】按钮,并在框中输入【bitwarden_rs】,而后点击【获取镜像】按钮。

基于Docker搭建bitwarden密码管理服务器

获取镜像完毕后,管理器的列表中会出现镜像。

③ 进入【容器列表】页面

基于Docker搭建bitwarden密码管理服务器

④ 点击【创建容器】,选择镜像【bitwardenrs_server:latest】;端口映射第一个是容器端口,填写为80,第二个是映射到主机上的端口,可以随便写一个可用的端口; 【目录映射】则是让容器把数据存到一个指定的目录。设置完这两个之后一定要点击蓝色框中的加号才能有效。

基于Docker搭建bitwarden密码管理服务器

⑤ 点击【提交】,完成容器创建。创建完成之后容器会自动运行。此时需要在宝塔面板的安全界面,放行我们刚刚映射的主机端口。

完成之后就可以访问http://主机IP:映射端口进入登录界面。
然而,此时我们会发现无法登录,甚至无法注册。这是因为bitwarden_rs强制要求开启https。

接下来我们通过nginx设置反向代理,为bitwarden_rs开启https。

1.3 Nginx反代理

bitwarden_rs docker可以通过添加环境变量配置SSL证书。但是官方不推荐通过该方法开启SSL。因此我们通过Nginx反代理完成。Nginx反代理可以非常方便的实现域名绑定。

① 点击宝塔面板的【网站】选项(已提前安装好LNMP环境);点击【添加站点】。

基于Docker搭建bitwarden密码管理服务器

② 在域名框中输入你想绑定的域名。例如bitwarden.docker.com。由于我们这个站点只用于反代理,因此【PHP版本】可以选择【纯静态】。

③ 点击【提交】按钮,完成站点创建。

基于Docker搭建bitwarden密码管理服务器

④ 选择【SLL】,配置证书。由于我使用的是阿里云的域名。阿里云可以很方便的为二级域名申请单个的CA证书。因此选择【其他证书】,而后将对应的私钥和公钥通过记事本打开,把内容复制到两个输入框中,点击【保存】开启SSL。

基于Docker搭建bitwarden密码管理服务器

⑤ 打开强制HTTPS,不允许HTTP访问。

⑥ 点击【反向代理】,添加反向代理。代理名称自拟;目标URL填写为127.0.0.1(本机):映射端口。其他默认即可。点击【提交】完成创建。

基于Docker搭建bitwarden密码管理服务器

至此即完成了SSL反向代理设置。此时用户可以通过https://ip:443 访问bitwarden_rs。(绑定了域名请使用https://域名访问。)

通过添加多个站点,绑定不同的二级域名,可以实现访问不同的端口服务。

2 使用bitwarden

2.1 使用两步验证提高安全性

在注册好初始账户之后,即可登录。在这个时候只需要【账户】和【密码】就可以登录系统了。然而这还是不安全,因为如果我们的主密码泄漏之后,其他人就可以登录,我们系统中所存储的个人密码就会泄漏出去。那有没有什么方法可以进一步提高安全性呢?答案是开启【两步登录】。

大家都知道国内很多网络服务 (如淘宝、银行),除了正确的帐号密码之外,常常还需要额外给你发一条手机短信验证码,以此进一步确认你是帐号的真正主人。

这其实就是「两步验证」或者叫做「双因素验证」的一种实现方式,它这里第二步验证是靠手机短信来发送验证码的。
还有一种两步登录就如同我们经常使用的QQ一样,通过诸如【QQ安全中心】中的动态验证码来确认身份。

基于Docker搭建bitwarden密码管理服务器

在bitwarden中我们同样可以实现类似的功能。

① 在设置页面中,选择【两步登录】选项。

基于Docker搭建bitwarden密码管理服务器

② 我们使用第一种程序【验证器应用】,手机端下载【Authy】应用。

基于Docker搭建bitwarden密码管理服务器

基于Docker搭建bitwarden密码管理服务器

③ 点击【管理】后,输入【主密码】继续设置。

基于Docker搭建bitwarden密码管理服务器

④ 手机端扫码添加。添加完成后,网页端会要求输入手机上是数字以确认添加。

基于Docker搭建bitwarden密码管理服务器

完成添加后,我们再登录系统时就需要输入手机上的验证码了。这个验证码是根据时间与密钥变化的,因此只要手机的时间准确,不联网也可以生成验证码。

建议在另外一个设备上登录authy账号,避免日常使用的设备丢失后无法进入系统。

2.2 使用其他客户端

bitwarden支持windows客户端、Microsoft edge插件、Google chrome插件、iOS客户端、安卓客户端。在这里以Windows客户端为例进行说明。其他客户端操作类似。

bitwarden Windows客户端可以在Microsoft应用商店中下载。

基于Docker搭建bitwarden密码管理服务器

也可以从官网下载。

安装完成之后打开客户端。
① 点击左上角的齿轮按钮,设置服务器地址

基于Docker搭建bitwarden密码管理服务器

② 输入服务器URL。

基于Docker搭建bitwarden密码管理服务器

③ 输入【账号】和【主密码】。

基于Docker搭建bitwarden密码管理服务器

④ 点击【登录】,此时会提示输入【身份验证器应用】中的6位数验证码。打开手机上的【authy】应用,输入验证码。

基于Docker搭建bitwarden密码管理服务器

⑤ 登录完毕后即可看到密码列表。

基于Docker搭建bitwarden密码管理服务器

2.3 设置docker自动重启容器

前面讲到宝塔的docker管理器无法实现自动重启容器。因此如果服务器意外关机之后就需要我们手动启动容器,这很不方便。因此我们需要设置其自动重启。

① 通过putty连接服务器。

② 查看dockers容器列表。记录下容器ID

docker ps

基于Docker搭建bitwarden密码管理服务器


③ 通过指令更新容器,使其具备–restart=always

docker update --restart=always 容器ID(或者容器名)

以上,完毕。

展开 收起

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

268元起

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

279元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

106元起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

328元起

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

329元起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

106元起

Microsoft 微软 office365家庭版microsoft365增强版15个月

Microsoft 微软 office365家庭版microsoft365增强版15个月

279元起

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

249元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

195元起

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

暂无报价

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

729.6元起

国行版 Switch体感游戏套装 《健身环大冒险》

国行版 Switch体感游戏套装 《健身环大冒险》

439元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

59.85元起

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

1288元起

Microsoft 微软 office365家庭版个人版激活密钥office2021账户激活

Microsoft 微软 office365家庭版个人版激活密钥office2021账户激活

195元起

Microsoft 微软 Office2016小型企业版 MAC专用

Microsoft 微软 Office2016小型企业版 MAC专用

149元起
39评论

  • 精彩
  • 最新
  • 宝塔前几天又爆出大漏洞了……

    校验提示文案

    提交
    [喜极而泣] [喜极而泣] [喜极而泣] 我去瞅瞅,不行就禁掉外网端口 [大囧]

    校验提示文案

    提交
    收起所有回复
  • 以前搭了一台,不好用,最大的问题是服务器必须在线,如果服务器不在线就无法使用。

    校验提示文案

    提交
    我测试了,没网的话各终端还是可以用的,就是不能同步数据

    校验提示文案

    提交
    收起所有回复
  • 赶在LASTPASS变天之前,跟着本文在群晖上装了BITWARDEN。
    随后一鼓作气,Mac-Chrome,iPhone,iPad上全部替换lastpass,使用下来,丝般顺滑 [哼小曲] [哼小曲] [哼小曲] [哦耶]

    校验提示文案

    提交
    哈哈,还是挺好用的

    校验提示文案

    提交
    收起所有回复
  • 收藏了,但是还是感觉不太放心,1pass用了很多年,感觉还挺好的。

    校验提示文案

    提交
    也是,目前我也还在测试阶段。

    校验提示文案

    提交
    这个不花钱不是更好,部署在自己的服务器,安全也有保证

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 在nas上搭一个,安逸,密码可以导出。

    校验提示文案

    提交
    对,我之前就是在nas上安装的,导出之后又在这台上面恢复了

    校验提示文案

    提交
    收起所有回复
  • 是时候搞一下这个了,lastpass已经不能跨平台同步了

    校验提示文案

    提交
    bitwarden这段时间我一直在用,用着还可以

    校验提示文案

    提交
    收起所有回复
  • 请问一个比较关心的问题,假如作为Bitwarden服务器的VPS被人攻破了,那所有的账号是不是就不安全了?还是说他服务器里面已经考虑过这种问题,已经做了加密处理?哪怕拖库也不怕?

    校验提示文案

    提交
    bitwarden会通过设定的主密码对数据加密。如果你的主密码忘记了那么所有数据也都无法找回

    校验提示文案

    提交
    收起所有回复
  • 调教好了keepass,感觉还是keepass好

    校验提示文案

    提交
  • 这软件最大问题是自动填充功能逻辑欠缺
    浏览器插件还行,但要右键自动填充,不能想浏览器保保存的那种自动化傻瓜操作。
    手机app更***,APP密码有的能检测到,有的不行,手机浏览器直接报废,找不到插件而且app也不能关联,全靠多任务切换和复制粘贴
    这玩意用的最多就是自动生成密码去注册各类小网站,并保存

    校验提示文案

    提交
  • 照着大佬的方式配置了 这段时间使用稳定

    校验提示文案

    提交
  • 請問可以用keepass的匯入到這嗎?

    校验提示文案

    提交
  • 我是nginx反代frp,docker跑服务,换域名也比较方便。 [高兴]

    校验提示文案

    提交
    老哥,你frp用的哪家的vps [高兴]

    校验提示文案

    提交
    我这边是学校的宿舍。自带公网IP。只需要自己写个脚本,在IP变化之后修改阿里云的dns解析

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • keepass不香吗

    校验提示文案

    提交
  • 用了快两年了,好用,网上的暴库新闻现在不关心了。

    校验提示文案

    提交
  • 用了一年了。挺好

    校验提示文案

    提交
  • 买了enpass,webdav同步到nas

    校验提示文案

    提交
  • 用的开源keepass多年

    校验提示文案

    提交
  • 想在群晖上整一个,其他应该差不多都懂,就是反向代理不太理解

    校验提示文案

    提交
  • keepass可以在本地存储密码,开启启动在本地用还是可以,多平台就不折腾了

    校验提示文案

    提交
  • 这软件有bug,有时候想录入一个网站账号密码,如果密码输入错误到你提交了,想改的话会修改不成功几次。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
308
扫一下,分享更方便,购买更轻松