首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >个人隐私保护-Bitwarden

个人隐私保护-Bitwarden

作者头像
XRSec
发布2022-03-01 13:52:37
发布2022-03-01 13:52:37
2.6K00
代码可运行
举报
文章被收录于专栏:XRSec.BlogXRSec.Blog
运行总次数:0
代码可运行

个人隐私保护-Bitwarden

背景

Bitwarden 是一个类似 1PasswordLastPass 的开源密码管理软件,Bitwarden RS 是基于 Rust 语言的一个实现,更轻量一些,可能效率也会更高一点点,并且是完全兼容官方 App 的,比如各种浏览器扩展,手机 App 等。[ 摘抄 ]

不想折腾可以直接官网注册使用即可,网速有点慢

准备工作

  • 一台公网 linux 服务器( Ubuntu / Centos )
  • docker 域名和证书
  • 可以通过腾讯云购买服务器和域名并申请免费证书

安装 Docker

代码语言:javascript
代码运行次数:0
运行
复制
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USER

修改配置文件

代码语言:javascript
代码运行次数:0
运行
复制
{
  // 镜像加速
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ],
  // dns 保证网络安全
  "dns": [
    "8.8.8.8",
    114.114.114.114,
    255.5.5.5,
    255.6.6.6
  ],
  // 日志文件大小
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3",
    "labels": "production_status",
    "env": "os,customer"
  }
}
代码语言:javascript
代码运行次数:0
运行
复制
# 下面这段长长的字符就是上面的内容编码后的内容,执行下面这个命令即可
echo 'ewogIC8vIOmVnOWDj+WKoOmAnwogICJyZWdpc3RyeS1taXJyb3JzIjogWwogICAgImh0dHBzOi8vaHViLW1pcnJvci5jLjE2My5jb20iLAogICAgImh0dHBzOi8vbWlycm9yLmJhaWR1YmNlLmNvbSIKICBdLAogIC8vIGRucyDkv53or4HnvZHnu5zlronlhagKICAiZG5zIjogWwogICAgIjguOC44LjgiLAogICAgMTE0LjExNC4xMTQuMTE0LAogICAgMjU1LjUuNS41LAogICAgMjU1LjYuNi42CiAgXSwKICAvLyDml6Xlv5fmlofku7blpKflsI8KICAibG9nLWRyaXZlciI6ICJqc29uLWZpbGUiLAogICJsb2ctb3B0cyI6IHsKICAgICJtYXgtc2l6ZSI6ICIxMG0iLAogICAgIm1heC1maWxlIjogIjMiLAogICAgImxhYmVscyI6ICJwcm9kdWN0aW9uX3N0YXR1cyIsCiAgICAiZW52IjogIm9zLGN1c3RvbWVyIgogIH0KfQ==' | base64 -d > /etc/docker/daemon.json

申请 ssl 证书

具体步骤请查阅这两篇文章

设置保存路径

代码语言:javascript
代码运行次数:0
运行
复制
mkdir -p bitwarden/data bitwarden/ssl
# 将申请的证书 的 crt 和 key 传输到 bitwarden/ssl 目录里面,并重命名为 docker.crt docker.key

创建用户账号

代码语言:javascript
代码运行次数:0
运行
复制
docker run -it --rm \
--name bitwarden \
-e ROCKET_PORT=25003 \
-e ADMIN_TOKEN=123456 \
-e TZ=Asia/Shanghai \
-e "ROCKET_TLS={certs=\"/ssl/docker.crt\",key=\"/ssl/docker.key\"}" \
-p 25003:25003 \
-v $(pwd)/bitwarden/data:/data \
-v $(pwd)/bitwarden/ssl:/ssl \
-v /etc/localtime:/etc/localtime \
vaultwarden/server:latest

使用浏览器访问 http://[服务器 IP]:25003

最好配置一下邮箱服务端,qq邮箱可以参考这篇文章,两步推荐也最好弄一下,避免账号登录不上去

下载浏览器插件和软件

软件插件下载地址 安卓用户可以在 apktrue 下载软件

网速不好可以 百度问题原因

以上的都配置完毕后,开始配置安全选项

安全配置

禁用注册功能
禁用网页登陆功能
代码语言:javascript
代码运行次数:0
运行
复制
docker stop bitwarden
代码语言:javascript
代码运行次数:0
运行
复制
docker run -it -d \
--name bitwarden \
--restart=always \
-e ROCKET_ENV=staging \
-e ROCKET_PORT=25003 \
-e ROCKET_WORKERS=10 \
-e WEBSOCKET_ENABLED=true \
-e WEBSOCKET_PORT=25005 \
-e WEB_VAULT_ENABLED=false \
-e LOG_FILE=/data/vaultwarden.log \
-e "ROCKET_TLS={certs=\"/ssl/docker.crt\",key=\"/ssl/docker.key\"}" \
-e TZ=Asia/Shanghai \
-p 25003:25003 \
-p 25005:25005 \
-v $(pwd)/bitwarden/data:/data \
-v $(pwd)/bitwarden/ssl:/ssl \
-v /etc/localtime:/etc/localtime \
vaultwarden/server:latest
代码语言:javascript
代码运行次数:0
运行
复制
{
  "domain": "https://10.0.4.6:25003", // https://[服务器 IP]:25003
  "sends_allowed": true,
  "WEBSOCKET_ENABLED": true, // 启用 WEBSOCKET 消息通知
  "WEBSOCKET_PORT": 25005,
  "disable_icon_download": false,
  "WEB_VAULT_ENABLED": false, // 禁用网页访问
  "signups_allowed": false, // 禁止用户注册
  "signups_verify": true, // 注册验证
  "signups_verify_resend_time": 3600,
  "signups_verify_resend_limit": 6,
  "invitations_allowed": false,
  "password_iterations": 100000,
  "show_password_hint": false,
  "admin_token": "123456", // 管理员密码
  "ip_header": "X-Real-IP",
  "icon_cache_ttl": 2592000,
  "icon_cache_negttl": 259200,
  "icon_download_timeout": 15,
  "icon_blacklist_non_global_ips": true,
  "disable_2fa_remember": true,
  "authenticator_disable_time_drift": true,
  "require_device_email": true,
  "reload_templates": false,
  "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f",
  "disable_admin_token": false, // 禁用管理员密码
  "_enable_yubico": false,
  "_enable_duo": false,
  "_enable_smtp": true, // 启用邮箱验证
  "smtp_host": "smtp.qq.com", // 邮箱服务器地址
  "smtp_ssl": true, // 启用ssl验证
  "smtp_explicit_tls": true,
  "smtp_port": 465, // 邮箱端口号
  "smtp_from": "xrsec@qq.com", // 你的邮箱账号
  "smtp_from_name": "XRSec", // 发送人的名称
  "smtp_username": "xrsec@qq.com", // 你的邮箱账号
  "smtp_password": "123456", //你的邮箱密码
  "smtp_timeout": 15,
  "smtp_accept_invalid_certs": false,
  "smtp_accept_invalid_hostnames": false,
  "_enable_email_2fa": true, // 启用邮箱二次验证
  "email_token_size": 6,
  "email_expiration_time": 600,
  "email_attempts_limit": 3
}

请将上面的内容修改并保存到 当前目录/bitwarden/data/config.json 全部的配置文件

小结

与官方托管对比

优势:

  • 可以使用一些付费功能
  • 密码在自己服务器上

劣势:

  • 因为数据在自己服务器上,对服务器的安全性运维也相应提高
  • 部署也没那么容易,需要一定的专业知识

个人总结:

  • bitwarden 的 密码和两步验证的密码 保存到支付宝安全备忘,防止忘记
  • 定时备份
  • 最好关闭网页访问,防止黑客爆破密码

XRSec has the right to modify and interpret this article. If you want to reprint or disseminate this article, you must ensure the integrity of this article, including all contents such as copyright notice. Without the permission of the author, the content of this article shall not be modified or increased or decreased arbitrarily, and it shall not be used for commercial purposes in any way

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 个人隐私保护-Bitwarden
    • 背景
    • 准备工作
      • 安装 Docker
      • 修改配置文件
      • 申请 ssl 证书
      • 设置保存路径
      • 创建用户账号
      • 安全配置
    • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档