目 录CONTENT

文章目录

服务器搭建Bitwarden,实现账号密码安全

Administrator
2022-09-20 / 0 评论 / 0 点赞 / 651 阅读 / 11119 字

前言

哈喽,大家好,欢迎来到我的频道,本期我们将继续折腾我们的服务器——搭建一个开源的密码管理平台Bitwarden,搭建自己的私人密码库,实现账号密码更安全。

unnamed-1664059624335

介绍Bitwarden

Bitwarden是一款自由且开源的密码管理服务,用户可在加密的保管库中存储敏感信息(例如网站登入凭据(简单说就是账号密码))。他还支持多种设备,从桌面端到移动端再到浏览器端,一个不拉,全都有,甚至连命令行和网页端都有!

视频教程

按照惯例,先放视频教程

老版本使用aapanel 宝塔面板搭建

图文教程(2024年1月28日更新)

服务器推荐

首先第一步,那就是买服务器了,这里我推荐买搬瓦工的服务器,直接一步到位。当然了,如果你是爱好,那么和我一起买腾讯云或者阿里云的99/年。而且现在《幻兽帕鲁》这么火,还可以买一台和我们的小伙伴们一起玩~~ 腾讯云 阿里云优惠链接 幻兽帕鲁游戏服务器

搬瓦工购买教程

【服务器选购指南】Bandwagonhost(搬瓦工)贵!但这是我的缺点。

阿里云购买教程

阿里云购买

腾讯云购买教程

腾讯云购买

环境配置

连接服务器

参考《如何连接服务器》

安装docker

国内服务器一键脚本

curl -sSL https://get.daocloud.io/docker | sh
docker -v  #查看 docker 版本
systemctl enable docker  # 设置开机自动启动

国外服务器一键脚本

wget -qO- get.docker.com | bash
docker -v  #查看 docker 版本
systemctl enable docker  # 设置开机自动启动

安装docker-compose

国内服务器一键脚本

curl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version  #查看 docker-compose 版本

国外服务器一键脚本

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version  #查看 docker-compose 版本

修改 Docker 配置(参考烧饼博客

以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘 (泪的教训):

cat > /etc/docker/daemon.json << EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF

然后重启 Docker 服务:

systemctl restart docker

好了,我们已经安装好了 Docker 和 Docker Compose了。

docker-compose安装Bitwarden

首先我们需要获得管理员权限

sudo -i

然后输入你的服务器密码。注意!他是隐式输入,不会显示你输入的任何字符,请不用担心,输入完毕回车就好了。

然后我们创建一个

mkdir -p /dc/bitwarden
cd /dc/bitwarden
vim docker-compose.yml

然后按 i

version: '3.3'

services:
  vaultwarden:
    container_name: vaultwarden
    image: vaultwarden/server:latest
    restart: unless-stopped
    volumes:
      - ./data/:/data/
    ports:
      - 8080:80
    environment:
      - DOMAIN=https://subdomain.yourdomain.com # 这是您希望与您的Vaultwarden实例关联的域名。
      - LOGIN_RATELIMIT_MAX_BURST=10 # 允许在一阵登录/两步验证尝试中的最大请求次数。
      - LOGIN_RATELIMIT_SECONDS=60 # 这是来自同一IP的登录请求之间的平均秒数,在Vaultwarden限制登录次数之前。
      - ADMIN_RATELIMIT_MAX_BURST=10 # 这与LOGIN_RATELIMIT_MAX_BURST相同,只争对admin面板。
      - ADMIN_RATELIMIT_SECONDS=60 # 这与LOGIN_RATELIMIT_SECONDS相同
      - ADMIN_SESSION_LIFETIME=20 # 会话持续时间
      - ADMIN_TOKEN=YourReallyStrongAdminTokenHere # 此值是Vaultwarden管理员面板的令牌(一种密码)。为了安全起见,这应该是一个长的随机字符串。如果未设置此值,则管理员面板将被禁用。建议openssl rand -base64 48 生成ADMIN_TOKEN确保安全
      - SENDS_ALLOWED=true  # 此设置决定是否允许用户创建Bitwarden发送 - 一种凭证共享形式。
      - EMERGENCY_ACCESS_ALLOWED=true # 此设置控制用户是否可以启用紧急访问其账户的权限。例如,这样做可以在用户去世后,配偶可以访问密码库以获取账户凭证。可能的值:true / false。
      - WEB_VAULT_ENABLED=true # 此设置决定了web网页端是否可访问。一旦您配置了您的账户和客户端,停止您的容器,然后将此值切换为false并重启Vaultwarden,可以用来防止未授权访问。可能的值:true/false。
      - SIGNUPS_ALLOWED=true # 此设置控制新用户是否可以在没有邀请的情况下注册账户。可能的值:true / false。

额,这里面这么多,都需要一个一个配置么?当然不需要,作为普通人,我们只需要设置以下选项

DOMAIN后面设置为你的域名,例如 https://mima.baidu.com

ADMIN_TOKEN 这里可以在服务器终端里输入openssl rand -base64 48 使用它生成ADMIN_TOKEN确保安全,保护您的数据。

SIGNUPS_ALLOWEDtrue 表示允许网站注册/ false表示不能注册。应该先写true,等你注册完后填写为false,这样别人就无法注册了。

修改好后,按一下esc,然后输入:wq英文的冒号! 英文的冒号! **英文的冒号!**重要的事情说三遍!!!

开放安全组

如果你是阿里云腾讯云等国内服务器厂商,需要打开安全组,参考 《阿里云教程》 《 腾讯云教程》的后半部分。

那如果你是国外的服务器商,那基本上是没有的。

好了。现在你可以输入你的ip+端口号访问了。咱们之前不是配置了域名么?如果你有域名的话,就需要设置一下反代,设置完成后,就可以直接输入域名就可以访问了。

反向代理

反向代理的前提是你得有一个域名,并成功解析到当前服务器的ip上。《域名购买、解析指南》

NginxProxyManager

我还是比较推荐这个软件来做咱们的软件管理的,方便快捷占用小,而且门槛极低,操作简单,不需要掌握复杂的 Nginx 知识,只需要几步就能轻松配置反向代理和 SSL 证书的部署。

安装指南——NginxProxyManager安装使用及问题

点击 Add Proxy Host

域名:这里不需要填写https:// IP那个就是写我这个,或者你写你docker的ip,ip addr show docker0,如果你是在别的设备上搭建的,直接写你的服务器ip。

端口号:如果你是按照我文章来的,就是8080,其他的,你写什么就是什么。

打开SSL就按照我这个填写就好了。

老版本归档

二:设置域名绑定

由于Bitwarden需要,你还是绑定一个域名吧,域名可以在阿里云域名购买,腾讯云域名购买购买。也可以在国外服务商godaddy等平台购买。

三:安装宝塔面板国际版

为了方便大家安装,此次我们选择aa-panel面板来安装(宝塔面板国际版,好处就是不用登陆绑定手机号)。(我这里安装特别慢,45min,不想等待而且懒得看英语可以选择安装宝塔面板)

unnamed-1664059650634

我们用finalshell连接到服务器

最好也是sudo -i 用管理员权限


centos用这个

yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh aapanel

Ubuntu/Deepin用这个

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh aapanel

Debian用这个

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh aapanel

unnamed-1664059745337

一路y/yes过去

我这里安装特别慢,45min,接下来就可以看到

unnamed-1664059779838

接下来输入你的内外网地址,输入账号密码即可

如果提示这个界面,那就左边的,点绿色的,一键安装即可。

unnamed-1664059806438

三:安装docker

既然咱们为了简便操作安装了宝塔面板,那咱们就直接一步解决。

点击docker

unnamed-1664059806445

提示没有docker,需要安装。点击即可安装

unnamed-1664059859831

安装完成后,点击website再点击add site

unnamed-1664059810241

再然后,按照图片的提示输入域名,选择打开ssl打开强制https(不然等下无法访问)。

unnamed-1664059893337

四:docker 拉取valutwarden/server

按照步骤,在第三步输入 vaultwarden/server再点击提交(submit)。

unnamed-1664059928143

拉取完成后,点击container,再点击add container

unnamed-1664059945442

根据我的设置填充,

Name写名字,image是你刚下载的镜像,port选择端口,第一个空是docker容器的端口,写80,第二个是服务器的,写88,你也可以随意写一个。

再向下,找到memory写到256MB

volume写/www/wwwroot/vm/是你想要把文件放在哪里,后面是容器文件夹,写上/data/

再向后拉,重启规则选择第一个。

unnamed-1664059964230

unnamed-1664059970932

出现这个界面就说明搭建完成了。

unnamed-1664059976743

五:设置网站目录和反代

回到website,点击刚才创建网站的后面conf。

选择site directory,再点击📁文件夹图标,找到刚才docker那里设置的文件目录,再点击后面的save

unnamed-1664059994039

再按照顺序设置反代。

3处我名字设置短了,会报错。应该长一点

unnamed-1664060001944

六:添加站点SSL

按照顺序一个一个点开即可。

unnamed-1664060013731

七:访问站点

创建账户,输入用户名密码即可登录

unnamed-1664060022842

八:app登陆

bitwarden提供了特别多的客户端,下载地址

但是所有的应用一定要先改此处的设置,将服务器地址设置成你自己的。

unnamed-1664059556633

unnamed

九:取消用户注册

参考此段代码。


docker run -d --name bitwardenrs \

--restart unless-stopped \

-e SIGNUPS_ALLOWED=false \

-e WEBSOCKET_ENABLED=true \

-v /bitwardens:/data/ \

-p 52013:80 \

-p 52014:3012 \

vaultwarden/server:latest

结语

好了,以上就是关于如何搭建bitwarden的全部教程了,如果还有疑问或者不清楚的,欢迎再评论区留言,我会详细帮助你们。我们下期再见。

0

评论区