自建安全密碼庫:Bitwarden (vaultwarden)

vaultwarden 是開源的密碼管理器解決方案,擁有多個平臺的客戶端。它采用的方式是雲端數據庫、客戶端同步和離線使用的模式,非常有名,就不多介紹了。

會寫這篇主要是本博客想要針對網絡安全寫一篇專題,這個作為前面的鋪設,屬於基礎的部分。

  • 基於 bitwarden 開源項目,用 ruby 實現的 bitwarden_rs,相比閉源代碼,更安全,並且支持 docker 部署;
  • HTTPS 保證傳輸安全
  • 根據 bitwarden 的文檔,服務端數據是加密後存儲的,解密需要用戶設置的主密碼,即使服務端被攻破,密碼不那麽容易泄露;
  • 官方開發維護的多平臺客戶端(包括 Win/Mac/Linux/iOS/Andriod)和常用瀏覽器擴展,美觀和易用性上都有保證;
  • 支持 TOTP 二次認證碼保存;

Docker 部署

docker pull vaultwarden/server

然後

docker run -d --name vaultwarden -v /vw-data/:/data/ -p 6666:80 vaultwarden/server:latest

反向代理:http://127.0.0.1:6666

創建帳號後,關閉註冊

docker run -d --name vaultwarden -e SIGNUPS_ALLOWED=false -v /vw-data/:/data/ -p 6666:80 vaultwarden/server:latest

Doceker Compose部署

創建目錄

mkdir bitwarden && cd bitwarden

創建 docker-compose.yaml

version: '3'

services:
  vaultwarden:
    image: vaultwarden/server
    restart: always
    ports:
      - 8008:80
      - 3012:3012
    volumes:
      - ./vw-data:/data
    environment:
      WEBSOCKET_ENABLED: 'true' # Required to use websockets
      SIGNUPS_ALLOWED: 'true'   # set to false to disable signups
      DOMAIN: 'https://bitwarden.example.com'
      SMTP_HOST: smtp.sendgrid.net
      SMTP_FROM: [email protected]  
      SMTP_PORT: '587'
      SMTP_SSL: 'true'
      SMTP_USERNAME: apikey
      SMTP_PASSWORD: SG.v0r-rJBwQ8ehcpm25TZLWg.hlEQ57KyLVJH1vuE1A-HtCPwmHpfRk0u5Agntj7Mc 
      SMTP_AUTH_MECHANISM: "Login"
 ```
啟動 bitwarden 容器

docker-compose up -d

在瀏覽器輸入:http://ip:6666,就可以進入服務了

註冊完後禁用註冊,在 docker-compose.yaml 環境變量中 SIGNUPS_ALLOWED 改為 false ,最後重啟

cd ~/bitwarden

```
docker-compose down
docker-compose up -d

反向代理:http://127.0.0.1:6666
如果你需要反代,可以參考:

Caddy docker-compose 部署及反代

Posted in VPS

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


The reCAPTCHA verification period has expired. Please reload the page.