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

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

基於 bitwarden 開源項目,用 ruby 實現的 bitwarden_rs,相比閉源代碼更安全,並且支持 docker 部署、HTTPS 保證傳輸安全。

根據 bitwarden 的文檔,服務端數據是加密後存儲的,解密需要用戶設置的主密碼,即使服務端被攻破,密碼不那麽容易泄露。

官方開發維護的多平臺客戶端(包括 Win/Mac/Linux/iOS/Andriod)和常用瀏覽器擴展,美觀和易用性上都有保證,也支持 TOTP 二次認證碼保存;


安裝 Docker 與 Nginx Proxy Manager

可以看 搭建一個反向代理神器:Nginx Proxy Manager

安裝Bitwarden (vaultwarden)

創建安裝目錄

mkdir bitwarden && cd bitwarden

nano docker-compose.yaml

複制貼上以下代碼:

version: '3'
services:
vaultwarden:
container_name: vaultwarden
image: vaultwarden/server:latest
restart: unless-stopped
volumes:
- ./data/:/data/
ports:
- 8080:80
environment:
- DOMAIN=https://bitwarden.example.com # 這是你想要用來登錄Vaultwarden域名。
- LOGIN_RATELIMIT_MAX_BURST=10 # 允許在一次登錄/兩步驗證嘗試中的最大請求次數
- LOGIN_RATELIMIT_SECONDS=60 # 這是來自同一IP的登錄請求之間的平均秒數。
- ADMIN_RATELIMIT_MAX_BURST=10 # 跟LOGIN_RATELIMIT_MAX_BURST相同。
- ADMIN_RATELIMIT_SECONDS=60 # 跟LOGIN_RATELIMIT_SECONDS相同
- ADMIN_SESSION_LIFETIME=20 # 
- ADMIN_TOKEN=YourReallyStrongAdminTokenHere # Vaultwarden管理員面板的令牌,如果未設置此值,則管理員面板將被禁用。
- SENDS_ALLOWED=true # 
- EMERGENCY_ACCESS_ALLOWED=true #  控制是否使用靜態文件的托管。
- SIGNUPS_ALLOWED=true # 控制新用戶是否可以在沒有邀請的情況下註冊賬戶。

然後點擊”ctrl + x”後,再按”Y”保存文件,然後輸入:

docker-compose up -d

反向代理

如果 Nginx Proxy Manager 和 vaultwarden 在同一台VPS上,可輸入:

ip addr show docker0

然後登錄Nginx Proxy Manager ,反向代理 http://ip:6666


如果你只是想自已使用,你可以在註冊完後禁用註冊。

cd bitwarden

nano docker-compose.yaml

把SIGNUPS_ALLOWED 改為 false

然後點擊”ctrl + x”後,再按”Y”保存文件,然後輸入:

docker-compose up -d

發佈留言

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