随着登录注册过的网站越来越多,密码管理成了一个老大难问题:要么是忘了账号、手机号或者注册邮箱;要么记起了账号却忘了密码;要么为了方便和省事就几乎所有网站都用一个密码,结果其实自己的账号早就被挂在 Have I Been Pwned 上好久了;再或者把密码写在本本上然后不小心丢在了哪里,身家性命付诸东流...也就是因为记不住密码,密码管理软件也就应运而生。
一般密码管理软件可以集中存储,加密,生成在各个网站的用户名和密码并在对应的网站自动填写。
目前比较流行的密码管理软件有 1Password、LastPass 以及 KeePass等。然而在调研一圈之后发现,这些软件要么需要不菲的费用,要么曾经出现过安全漏洞,要么把数据全部存放在本地,对于多设备玩家来说简直是噩梦,总之挑来选取都不是很合适,直到遇见了 BitWarden。
为什么要选择 BitWarden 呢?:开源可部署,全平台同步。
开源可部署
现代密码学中的柯克霍夫原则(Kerckhoffs's principle):即使密码系统的任何细节已为人悉知,只要密钥 Key 未泄漏,它也应是安全的。
于是在这一密码学原则上诞生了透明式安全(security through transparency),即:即使我的全部加密算法是原理上公开的,只要你不知道密钥,你也无法破解我的密码;而公开的算法则更容易让所有人都参与进行漏洞的寻找以及算法的完善。
而 BitWarden 就将这点做到了极致。这款软件是真正意义上的“前后端开源”,不光前端的插件,应用程序,网站全部开源,连后端的同步服务器和相关的加密算法也全部开源,一方面使得每一行代码都暴露在所有人的眼睛下,接受所有人的监督,一旦可能出现问题也会第一时间被修复;另一方面也使得我们有可以自己搭建一个 BitWarden 服务器,实现数据的本地化存放和本地化服务的可能。
而其实 BitWarden 也正是鼓励我们这么做的。BitWarden 完全可以自行部署,而其后端服务的部署也相当简单。官方建议是通过 Docker 进行部署。这也意味着任何一台可以部署 Docker 的服务器都可以很轻松地部署 BitWarden 的后端同步库,对说的就是你,在那里吃灰的群晖218+ >v<
开源也就给了更多的可定制性,既可以使用官方服务,也可以使用自建服务。甚至如果你是从 LassPass 叛逃过来的,还可以直接以导入的方式将密码库同步,方便的不得了。
全平台
BitWarden 支持 Windows macOS 和 Linux 三大 PC 端平台和 Android,iOS 两大手机端平台,用户也可直接访问网站进行登录,甚至其还有 Chrome,Firefox,Opera,Edge等近十款浏览器的扩展程序,还有命令行管理模式,可以说是覆盖平台及其全面的软件了。
另外关于同步,所有平台也都支持使用 BitWarden 托管在 Azure 上的服务,或者是自建服务,不用担心哪个客户端不支持自建服务的问题,自建服务和官方服务是同等待遇。
便捷
Bitwarden 不仅支持全平台同步,支持二步验证和浏览器自动填写。通过插件和客户端,可以很方便的一键键入密码。
Android 端传统的密码管理工具往往有一个很大的问题,就是无法在 APP 内进行密码的填写,而 BitWarden 通过辅助输入技术可以实现自动识别并填写 APP 的用户名和密码,同时也支持通过指纹登录,输密码的速度比手动键入那是快多了。
BitWarden 作为一款开源的密码管理器,其本身支持平台多,功能全面,还是具有相当热度的。后端 server 的 Repository 在 GitHub 上已经有 3k+ 的 stars,而在国内提及的人并不是很多,相比这和其官方网站没有中文支持有一定关系。软件整体的汉化做的不错,完全可以正常使用。
还是推荐大家试一试,建立属于自己的密码库,告别一个密码走天下的时代。
BitWarden 的官方网站:https://bitwarden.com/
APP下载:https://bitwarden.com/download/
安装部署方法
官方的版本搭建对服务器要求很高,搭建不容易,github上有人用 Rust 实现了 Bitwarden 服务器,项目叫 bitwarden_rs,并且提供了 Docker 镜像,这个实现更进一步降低了对机器配置的要求,并且 Docker 镜像体积很小,部署非常方便。这个项目目前在github也有2k的star,用的人还是有不少的。
此外,官方服务器中需要付费订阅的一些功能,在这个实现中是免费的。
一、基本组件
拉取镜像:
docker pull bitwardenrs/server:latest
启动:
docker run -d --name bitwarden -v /bw-data/:/data/ -p 6666:80 bitwardenrs/server:latest
-v 定义一个保存数据的文件夹
-p 定义一个监听端口
如果仿照上面的步骤,设定了6666端口的话,在浏览器输入ip:6666可能有几种情况:
访问成功 弹出logo,但登陆界面不能加载 UNSAFE_PORT
这是因为项目要求https。所以要么申请一个证书,要么自签名一个证书。也可使用cloudflare解析,依靠cf的证书实现。
这里建议自已申请一个证书,因为从源站到cloudflare是无加密的,有安全风险。
再把域名和服务绑定上——反向代理。
二、域名绑定服务
宝塔新建一个站点,域名是要绑定到这个服务的域名
建立后,在站点修改窗口,点击反向代理 - 添加反向代理
代理名称任意
目标URL写入http://127.0.0.1:6666(端口是之前开启docker时候配置的)
提交
Cloudflare端,将https相关的设置打开
1)DNS标签下,做解析和开启缓存(箭头穿过小云彩而不是绕过) 2)SSL/TLS - Overview标签下,加密模式选择Flexible 3)SSL/TLS - Edge Certificates标签下,启用Always Use HTTPS
三、建立新用户
现在访问域名,应该能正常显示了。按提示新建用户即可。
四、关闭注册
如果并没有公开服务的打算的话,记得关闭注册。
停止容器:docker stop bitwarden
删除容器:docker rm bitwarden
启动容器,加入禁注册参数-e SIGNUPS_ALLOWED=false
五、使用
可以从浏览器通过域名来管理自己的账户。
密码自动填写、自动保存等通过软件实现:
PC中,Chrome有插件,可管理浏览器用户名密码
安卓中,有APP,可全局监控(类似谷歌的密码管理)
iOS中,有APP,可用范围不知道
隐藏内容,登录查看。
http://www.savh.cn/thread-356.htm
转载请注明:Savh.Cn 发表