bitwarden密码管理和搭建服务说明

主机数据迁移到个人电脑上服务使用。bitwarden_rs数据备份迁移到个人window电脑上_辽海河的博客-CSDN博客

工欲善其事,必先利其器。使用好的密码管理让你信息更安全,减少密码记忆,提高效率。最开始所有网站和银行卡都是使用通用账号和密码,感觉还挺爽YY,碰到网站就直接输入那个密码就行,后来QQ经常提醒异地登录,才知道其中一个网站密码被泄露了,可以使用同样账号和密码登录我注册过所有网站。太可怕了,后来使用网站名偏移,每个字母向后移2位,163就变成385了,这样每个网站密码都不一样,使用一段时间,发现某些品牌既有网站和APP,会导致记忆错误,经常需要修改密码,太麻烦。后来发现有密码管理器,它直接生成密码保存在加密数据库里,需要使用时候点击软件复制密码就行,这样也非常安全。后来发现许多这样软件,详细优缺点见 推荐几款好用的密码管理工具(KeePass、LastPass、1Password、花密、Enpass),就不详述。

使用心得

先介绍个人情况,mac、window、Android、iOS各有一部,偶尔使用window和iOS,安全和多平台同步是最强烈的需求。开始一年,是使用keepass,必须每周手动备份,Android做为主输入密码,其他平台做为查看密码,避免mac、Android同一天新增密码同步冲突。后来研究onedrive实现mac、window、Android实时同步,iOS还需要手动同步,这样碰到需要新增密码不用考虑同步冲突问题。不过后来在Android上经常必须搜索选择账号才能填充,网页填充不智能匹配,需要手动拷贝账号密码,有点烦。后来体验了下safeincloud,和keepass一样,数据库本地存储,通过onedrive或其他网盘同步,多平台体验效果一样,在浏览器上能智能匹配并填充上,在Android上第一次不能匹配,但它会自动把包名和账号绑定上,下次进去智能匹配并填充,这细节上使步骤节省70%,用起来还是非常好,唯一缺点它是俄国人开发的,非开源,是否会把信息同步到他们服务器,敏感信息始终有点不放心。经过研究发现bitwarden,和safeincloud效果差不多,bitwarden它是开源的,默认使用官网服务器存储账号密码,或动手能力较强,可下载服务器源代码进行部署。开源就有很多人监督,账号密码可存放自己服务器,有漏洞会马上修复,这是很安全。所以决定采用bitwarden并架设自己服务器保存账号安全。当然有人会说服务器也不安全,服务器使用阿里支、腾讯云还是比较安全。还有个好处就是可以把私密东西以附件加密形式上传到服务器。

效果图

服务器图

图1

window版本图

图2

搭建环境

万网购买域名:xxxx.xyz

腾讯香港云主机:ubuntu 18.04 (必须大陆外云主机,在大陆域名要备案,较复杂)

服务软件:bitwarden_rc (官网bitwarden使用net和MSSQL,对主机要求较高,bitwarden_rs根据bitwarden编译写,使用sqlite数据,对主机要求不高)

研究以下方案都未成功,特记录碰到困难,避免其他人踩坑

https://www.xpnas.com/mip/25.html (candy不能获取证书,导致进行不下去)

Docker 自建 Bitwarden 密码服务器 - 有意 (网站搭建成功,但一直创建不了用户,如 求教,安装bitwarden_rs,创建用户报错-美国VPS综合讨论-全球主机交流论坛 - Powered by Discuz!

快速配置 HTTPS - My Nook (和上面一样,最后原因是未使用https,导致程序不能正常运行)

主要根据上述mynook教程步骤来搭建,但万网域名使用acme一直没办法获取证书,深入讲解搭建成功步骤,避免其他人入坑。

搭建整体思路

购买域名,域名指向云主机,域名申请https安全认证获取证书,搭建nginx服务用于反向代理,把用户输入网址代理到bitwarden服务,bitwarden服务使用docker容器进行启动。全程传输使用https加密传输。

域名配置

上述IP填写你主机IP

证书获取

阿里云开发者社区-云计算社区-阿里云(文章无图,补几张图)

审批通过,会短信通知,把证书下载保存,有2个文件3027402_xxxx.xyz.key、3027402_xxxx.xyz.pem。

docker安装

根据Ubuntu Docker 安装 | 菜鸟教程一步步安装,便可成功,"使用 Shell 脚本进行安装"章节不用看

nignx安装

不要偷懒直接使用apt install nginx安装,这样安装省事,但没有带ssl加密模块。

手动编译安装: ubuntu安装nginx_小雪的博客-CSDN博客_ubuntu安装nginx,主要看下载nginx模块安装章节, Index of /download/选择版本下载,我选择是nginx版本为1.14.0,文中对应版本改成1.14.0

编译nginx ssl模块

Ubuntu下, Nginx安装ssl模块(一) - 简书

Ubuntu下, Nginx安装ssl模块(二) - 简书

配置所有

全程以root账号操作,其他账号也行

cd ~ && mkdir bitwarden && cd bitwarden

pwd# 应当输出 /home/username/bitwarden

准备配置文件

cat >> config.env <<EOF

SIGNUPS_ALLOWED=true

DOMAIN=xxxx.xyz

DATABASE_URL=/data/bitwarden.db

ROCKET_WORKERS=10

WEB_VAULT_ENABLED=true

EOF

准备服务描述文件:

cat >> docker-compose.yml <<EOF

version: '3'

services:

bitwarden:

image: vaultwarden/server:latest

container_name: bitwarden

restart: always

volumes:

- ./data:/data

env_file:

- config.env

ports:

- "6666:80"

EOF

全文红色可以自己修改,但多处修改需保持一致

配置反射代理和https

这二货可以同时在nginx.conf配置,需要了解详细内容项见 Nginx实现https反向代理配置_.... 永远年轻,永远热泪盈眶-CSDN博客_https 反向代理

我给出最简单傻瓜方式

1.证书申请完,把3027402_xxxx.xyz.key、3027402_xxxx.xyz.pem拷贝到云主机/root/bitwarden目录下面,如下图

2.把文章尾部nginx.conf配置替换/usr/local/nginx/conf/nginx.conf

3./usr/local/nginx/sbin/nginx -t测试配置是否成功

4.成功后/usr/local/nginx/sbin/nginx -s reload启动nginx

5.进入/root/bitwarden以当前配置启动docker, docker-compose up -d

操作简单命令

docker-compose up -d 以配置 启动docker

docker-compose down docker关闭

/usr/local/nginx/sbin/nginx -s reload 重启

/usr/local/nginx/sbin/nginx -s stop 关闭

/usr/local/nginx/sbin/nginx -t 测试配置

启动都成功,进入xxxx.xyz,就会看到图1效果

其他客户端配置

进入软件首页,点击Settings设置自己服务器

进入后看到图2效果

总结配置项如下图

数据备份

很多文章写到上面就完成。但实际应用中,往往需要对数据进行备份,万一主机损害导致数据全部丢失,那很痛苦。备份有很多种方式,比如直接用dropbox脚本上传备份等。正好我有2台主机(亚马逊aws可以免费申请使用一年),master主机提供bitwarden服务,slave主机提供备份。

1.设备master主机免密码登录到slave主机,master主机生成SSH密钥和公钥(已有跳过这步),ssh-keygen -t rsa,一直回车就行

2.把master公钥上传到slave上,实现免密码登录,中间会要求输入slave密码。ssh-copy-id username@slave-server-ip

3.master主机开定时任务,我设置为每周天早上6点30分进行同步,30  6  *   *   0     rsync -auz -e 'ssh -p 16666' /root/bitwarden/data username@slave-server-ip:bitwarden/。/root/bitwarden/data是master bitwarden数据目录,16666是slave远程ssh登录端口。

关注扫描下面图片,一种非程序员思想提升思维。

注:

client_max_body_size配置文件上传大小

nginx.conf 配置内容如下

#user  nobody;

worker_processes  1;

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {

        listen       80;

        server_name  xxxx.xyz;

        rewrite ^(.*) https://xxxx.xyz$1 permanent;

        location / {

            root   html;

            index  index.html index.htm;

        }

        

    }

    server {

        listen       443 ssl;

        server_name  xxxx.xyz;

        client_max_body_size  500m;

        ssl_certificate      "/root/bitwarden/3027402_xxxx.xyz.pem";

        ssl_certificate_key  "/root/bitwarden/3027402_xxxx.xyz.key";

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;

        ssl_prefer_server_ciphers  on;

        location / {

            root   html;

            index  index.html index.htm;

            proxy_pass http://127.0.0.1:6666;

                proxy_set_header Host $host;

                                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }

    }

}

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值