全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 8802|回复: 78

[美国VPS] Bitwarden自建终极加固指南

  [复制链接]
发表于 2022-2-20 18:29:11 | 显示全部楼层 |阅读模式
本帖最后由 sharp097 于 2022-2-20 18:33 编辑

前言

如果你的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自建服务器上实践出来的,需要付费阅读,感兴趣的可以点签名进去看看,其实我大概半年前就按照官方文档试过,可是当时遇到了各种问题最终不了了之,这一次终于弄出来了。



发表于 2022-2-20 18:43:55 | 显示全部楼层
说那么多不如简单的放到内网服务器上,在外用的时候连进局域网即可。
发表于 2022-2-20 18:41:53 来自手机 | 显示全部楼层
这么复杂,我觉得个人自建安全性远比不上商业公司

点评

实话,毕竟专业人士在运维  发表于 2022-2-20 20:42
 楼主| 发表于 2022-2-20 18:40:08 | 显示全部楼层
PicklePiccolo 发表于 2022-2-20 18:37
有没有一种可能,记在本子上是最安全的选择

确实,物理隔离永远是最安全的方式
发表于 2022-2-20 18:36:41 | 显示全部楼层
感谢分享,如果有图片就更好了~
 楼主| 发表于 2022-2-20 18:37:48 | 显示全部楼层
Ricky.D. 发表于 2022-2-20 18:36
感谢分享,如果有图片就更好了~

签名里面的博客赞助之后就可以看到图片了,有两张哈
发表于 2022-2-20 18:37:58 | 显示全部楼层
有没有一种可能,记在本子上是最安全的选择
发表于 2022-2-20 18:37:59 | 显示全部楼层
技术贴绑定,想省心还得1password
 楼主| 发表于 2022-2-20 18:42:17 | 显示全部楼层
colla 发表于 2022-2-20 18:37
技术贴绑定,想省心还得1password

穷屌丝实在用不起1passwd呀
 楼主| 发表于 2022-2-20 18:45:12 | 显示全部楼层
suichang 发表于 2022-2-20 18:43
说那么多不如简单的放到内网服务器上,在外用的时候连进局域网即可。

我家里的电不稳定经常断电,这个不太适合我~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-4 07:30 , Processed in 0.099007 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表