前言
如果你的bitwarden只托管了一些不重要的密码的话,可以看一下本人之前写的一篇博客(保姆级免Nginx反代配置带SSL证书Bitwarden服务端),基本也够安全的了,因为Bitwarden_RS/Vaultwarden(下文简称Bitwarden)底层采用的rocket tls最低支持版本是1.2,而不是1.0或1.1,具体看这里的官方文档。
但是如果你的自建bitwarden托管了你的支付宝微信、银行卡、信用卡等全部身家,甚至几百个比特币的钱包的私钥,那前面提到的博客就不行了,我们必须再提高安全性,毕竟我们的服务暴露在了公网,一旦被不怀好意的人渗透了可就真的麻烦了。
终极加固实战
首先声明一下,一定一定一定要首先优先配置两步验证,这是最基础的安全措施,本文不再赘述~
另外本人遵循 "eat your own dog food"原则,本文全篇介绍的东西在本人自建的Bitwarden服务器上全部有应用到。
本人作为一名渣渣Linux运维小学生,着实才疏学浅,本文不能涵盖所有加固措施,遗漏的地方还望大家在评论区留言指出来,本人再补充进正文。
我们的加固涉及到了以下方面:
禁止注册和邀请用户
禁止显示密码提示
基于Nginx实现禁止ip访问 (防止类似于shedon的邪恶搜索引擎搜索到,以及脚本小子扫描ip段)
基于腾讯云控制台和Nginx讲解如何配置ECC算法的ssl证书,舍弃掉RSA算法的证书(ECC算法的破解难度要更高,比RSA算法要更上一个台阶),网上搜到的博客试了好几个都不行,我这里的一步到位
让docker进程以非root用户运行,这里踩了一个坑,折腾了个把小时
最后一步几乎将自建Bitwarden的安全性更上了一个台阶,那就是给后台的URL加上随机字符串,使得使用默认的后台地址无法访问
最最后,由于我们的前端流量由Nginx承载,所以Nginx也要加固一下,下述共涉及 屏蔽Nginx的版本号减少攻击面、对Http请求方法进行限制、防止点击劫持、启用HSTS强制https访问、防止跨站攻击和摒弃不安全的ssl cipher且server端主动选择cipher共计6个方面。
基于某些考虑我们没有涉及的:
配置fail2ban,自动封锁暴力破解者,这个有时候很容易在自己连续输入错几次密码后把自己给封了,即使你可以在手机上访问vps解封也比较繁琐,如果你按照本篇博客设置下来的话,配置fail2ban的意义也不是很大了。
docker的ssl挂载目录设置只读权限,因为我们采用了ECC算法的证书,而Bitwarden底层采用的rocket tls实现是不支持解析的,所以我们要移除掉相关设置,不用担心,本篇博客将会介绍如何用Nginx来实现解析ECC算法的证书
舍弃掉你的主域名来作为服务入口,而是配置一个含有随机字符串的二级域名,这也是一个很不错的加固方式,本文也不再赘述
上述所有的加固措施在Bitwarden_rs/vaultwarden的官方wiki中都有提到,大神没必要再付费看我下面的描述了,不过如果你对上述加固措施不太熟悉的话,亦或者自己踩了很多坑搞不定的话,还是墙裂建议看看下面的描述的。
Tips:下述命令和Nginx指令比较零星,对技术不太熟悉的朋友很容易弄混淆,本人贴心的把docker的完整启动命令和关键指令含有注释的Nginx的完整配置分别贴了出来。
下面的部分是本人耗时昨天和今天两天时间亲自在自己的Bitwarden自建服务器上实践出来的,需要付费阅读,感兴趣的可以点签名进去看看,其实我大概半年前就按照官方文档试过,可是当时遇到了各种问题最终不了了之,这一次终于弄出来了。
热议
推荐楼 suichang 2022-2-20 18:43:55
说那么多不如简单的放到内网服务器上,在外用的时候连进局域网即可。
推荐楼 refrigerator 2022-2-20 18:41:53
这么复杂,我觉得个人自建安全性远比不上商业公司
推荐楼 sharp097 2022-2-20 18:40:08
有没有一种可能,记在本子上是最安全的选择
确实,物理隔离永远是最安全的方式
2楼 Ricky.D. 2022-2-20 18:36:41
感谢分享,如果有图片就更好了~
3楼 sharp097 2022-2-20 18:37:48
感谢分享,如果有图片就更好了~
签名里面的博客赞助之后就可以看到图片了,有两张哈
4楼 PicklePiccolo 2022-2-20 18:37:58
有没有一种可能,记在本子上是最安全的选择
5楼 colla 2022-2-20 18:37:59
技术贴绑定,想省心还得1password
8楼 sharp097 2022-2-20 18:42:17
技术贴绑定,想省心还得1password
穷屌丝实在用不起1passwd呀
10楼 sharp097 2022-2-20 18:45:12
说那么多不如简单的放到内网服务器上,在外用的时候连进局域网即可。
我家里的电不稳定经常断电,这个不太适合我~
12楼 枝江小狼王 2022-2-20 18:46:50
支持技术贴
13楼 hlsk 2022-2-20 18:48:03
码这么多字辛苦了
不过密码这种还是推荐加密保存在自己本地 非必要最好就不联网
开源免费的KeePassXC就可以了 支持全平台 支持浏览器插件 支持两步验证
14楼 sharp097 2022-2-20 18:49:42
码这么多字辛苦了
不过密码这种还是推荐加密保存在自己本地 非必要最好就不联网
开源免费的KeePassXC就可以 ...
KeePassXC支持坚果云的webdev不~
15楼 WZ-Software 2022-2-20 18:50:40
技术贴,顶,必须顶
16楼 breakmyheart 2022-2-20 18:54:35
还是习惯写在便签纸上 物理隔离确实安全
17楼 hlsk 2022-2-20 18:54:42
KeePassXC支持坚果云的webdev不~
KeePass支持
不过我个人不会把密码文件放网上 完全离线保存在本地
18楼 sharp097 2022-2-20 19:11:45
还是习惯写在便签纸上 物理隔离确实安全
我的Bitwarden主密码也是记在一个卡片上~
19楼 sharp097 2022-2-20 19:13:11
KeePass支持
不过我个人不会把密码文件放网上 完全离线保存在本地
那你觉得1passwd这种知名度很高的在线的靠得住不~
20楼 ccf 2022-2-20 19:17:33
直接用 DDNS 白名单,其他全屏蔽
22楼 sharp097 2022-2-20 19:20:10
知名的密码类软件都很难破解的 不过之前lastpass就被曝有安全漏洞
反正我是直接保存在自己本地 只要不联 ...
那倒也是~
23楼 yy520 2022-2-20 19:21:10
软路由docker搞定,搞这么多花里胡哨
24楼 sharp097 2022-2-20 19:22:21
知名的密码类软件都很难破解的 不过之前lastpass就被曝有安全漏洞
反正我是直接保存在自己本地 只要不联 ...
我本来昨天想all in enpass这种全平台同步的,一看play商店的版本都快半年没更新了,瞬间就放弃了
25楼 sharp097 2022-2-20 19:25:21
软路由docker搞定,搞这么多花里胡哨
哎,我家里的电不太稳定搞不了啊~
26楼 丶Silently 2022-2-20 19:39:50
开了5秒盾?
27楼 丶Silently 2022-2-20 19:42:30
呃 让了 你的网站限制太多了
28楼 wangjf 2022-2-20 19:43:15
10位数密码 2位数存款,有什么好保密的
29楼 paggy 2022-2-20 19:44:51
没啥用,不如直接用官方,隔段时间备份下算了,别存银行卡助记词啥的就好
30楼 durov 2022-2-20 19:48:08
存家里服务器,需要在外面同步再用虚拟专用网络连回家同步。反正同步完也都缓存本地了。也不用整天同步。部署在内网还更安全
32楼 sharp097 2022-2-20 19:51:40
呃 让了 你的网站限制太多了
最近有大量cc攻击,开了CF的under attack模式,不好意思哈~
33楼 sharp097 2022-2-20 19:52:48
开了5秒盾?
开了CF的under attack模式,今天的cc攻击好像少了,我一会关掉哈,你再试试~
34楼 ccf 2022-2-20 19:53:02
官方不是被wall了嘛,我也想用官方的呢~
只是官网被墙,密码管理是单独的子域名,一切正常
https://vault.bitwarden.com/
35楼 sharp097 2022-2-20 20:21:09
只是官网被墙,密码管理是单独的子域名,一切正常
https://vault.bitwarden.com/ ...
确实,我去试试哈
36楼 brp30vsw 2022-2-20 20:36:03
根本用不了这么费力,最重要的一点,不要把NAS等登陆页面开放给公网,只开诸如open威皮嗯的UDP端口,进行隧道加密访问才是安全等级高的方式!
37楼 风之暇想 2022-2-20 21:23:30
官方版完全没问题,而且很多密码管理器只用了AES,没有多重算法的,还是不够
38楼 joeyli 2022-2-20 21:38:22
放在本地的话要考虑异地灾备的问题(比如地震、火灾),放在公网服务器上这一点就比较方便,只要记住主密码,到任何有网的地方都可以取出密码。
39楼 sharp097 2022-2-20 22:17:27
官方版完全没问题,而且很多密码管理器只用了AES,没有多重算法的,还是不够 ...
确实,AES256很多年了
40楼 sharp097 2022-2-20 22:18:27
放在本地的话要考虑异地灾备的问题(比如地震、火灾),放在公网服务器上这一点就比较方便,只要记住主密码 ...
的确,为了防止意外被墙我还买了国内的vps
42楼 wachyi 2022-2-20 22:38:44
除了有洞脚本批量扫 没人会费力攻破你一个密码库 及时更新就好
43楼 pandaking 2022-2-20 22:56:33
1元还能支持下,9.9是什么鬼呀,一个软件价格?
44楼 等1下™我老公呢 2022-2-20 23:21:01
大佬佩服,只是看完觉得不好上手…
45楼 sharp097 7天前
CloudRaft 发表于 2022-2-20 22:19
1password用苹果土区已经很便宜了,自建总觉得不放心
木有iPhone设备呢,穷屌丝一个~
46楼 sharp097 7天前
等1下™我老公呢 发表于 2022-2-20 23:21
大佬佩服,只是看完觉得不好上手…
谢谢赞助,刚刚收到订单邮件通知了,其实也还好啦,就是一大长串docker启动命令和一个比较长的nginx配置,我把完整的命令和配置都贴出来了,自己改一下分分钟就能用了~
47楼 sharp097 7天前
pandaking 发表于 2022-2-20 22:56
1元还能支持下,9.9是什么鬼呀,一个软件价格?
自建bitwarden上托管的密码数据是无价的,个人感觉9.9是有点贵了,不过相比于无价的数据还好吧。
48楼 huang1dede 7天前
支持知识付费
不过懒得搞,,,感觉还算安全.
49楼 袁小松 7天前
1.基于ip访问会返回一个自签名的证书错误,证书颁发域名为一个不存在的域名;
2.未使用443和80端口,使用了一个4位数的端口;
3.“/admin”直接返回404,反正搭建好了也再也不用管理页面了;
50楼 RaGn 7天前
支持原创,去年上了1p的三年半价车,暂时不考虑自建了
52楼 sharp097 7天前
huang1dede 发表于 2022-2-21 10:18
支持知识付费不过懒得搞,,,感觉还算安全.
我预计后面每个月基于shodan搜索引擎出个bitwarden自建每月全球安全报告,唤醒大家的安全意识~
53楼 sharp097 7天前
RaGn 发表于 2022-2-21 14:32
支持原创,去年上了1p的三年半价车,暂时不考虑自建了
我昨天也想上1P的车可是找来找去某宝只有家庭拼车,因为之前在v2ex见过家庭拼车被删库的案例所以不敢上车,你的3年半是啥渠道呀~
54楼 sharp097 7天前
袁小松 发表于 2022-2-21 13:43
1.基于ip访问会返回一个自签名的证书错误,证书颁发域名为一个不存在的域名;
2.未使用443和80端口,使用了 ...
这样也行呢~
55楼 sharp097 7天前
apdc 发表于 2022-2-21 15:17
这么复杂?
直接内网建一个。弄个端口映射不用的时候关端口就拉到了。
是有点复杂,所以才叫终极加固嘛~
56楼 bobbylong 7天前
把密码往公网上放,跟脱了裤子放P区别在哪里???
57楼 sharp097 7天前
把密码往公网上放,跟脱了裤子放P区别在哪里???
那1passwd或者lastpass这种算啥呢,只是我的安全措施不如人家而已~
58楼 小学生 7天前
搭建在一台VPS上,开放一个高位端口号,然后另一台小鸡反代,再套CF,皇帝老子都找不到我的IP
59楼 mikasa 6天前
人懒,选着直接用官方的
60楼 cangshui 6天前
只开放了ipv6访问,想扫我怕是得扫好几年
62楼 RaGn 6天前
我昨天也想上1P的车可是找来找去某宝只有家庭拼车,因为之前在v2ex见过家庭拼车被删库的案例所以不敢上车 ...
就是官方那个新用户3年半价的车啊,自己新建账户可以选择家庭套餐或者个人套餐,在99刀充125刀1p礼品卡,我用的个人账户,年费17.94刀,三年后恢复原价35.88
63楼 sharp097 6天前
小学生 发表于 2022-2-21 22:18
搭建在一台VPS上,开放一个高位端口号,然后另一台小鸡反代,再套CF,皇帝老子都找不到我的IP ...
哈哈你厉害~
64楼 sharp097 6天前
RaGn 发表于 2022-2-22 08:39
就是官方那个新用户3年半价的车啊,自己新建账户可以选择家庭套餐或者个人套餐,在99刀充125刀1p礼品卡, ...
好的,我也去换个新的邮箱看看还是不是新用户~
65楼 xlouspeng 昨天11:42
官方可以用呀?我测试移动和联通正常
66楼 ZhènJīngBù 昨天13:46
有没有开源云同步记账的
67楼 last_host 昨天13:51
我觉得keepass就很好啊
68楼 clcavril 昨天14:51
dns上再控制一下,分省分运营商解析
69楼 伊若 昨天14:56
本地excel保存一份。。
70楼 diocat 昨天21:18
说那么多不如简单的放到内网服务器上,在外用的时候连进局域网即可。
不会有人以为内网是绝对安全的吧,都元老了还这种意识
72楼 diocat 1小时前
不会有人以为放内网就没有安全意识吧?
你金牌会员何来自以为是?
真正的安全放外面给人捅都进不去,不会有人掩耳盗铃吧
毕竟金牌吊打一些所谓的元老
73楼 suichang 半小时前
真正的安全放外面给人捅都进不去,不会有人掩耳盗铃吧
毕竟金牌吊打一些所谓的元老 ...
你高兴就好,自以为是一般都是低手。
申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。