Bitwarden
💡 快速導航
Bitwarden 是我 Home Lab 裡最敏感、也最不能亂玩的服務之一。它保存的不是一般 app 設定,而是日常登入、金鑰、備援碼與各種帳號入口的核心資料。
實際部署上,我使用的是 Bitwarden-compatible 的 Vaultwarden server。公開筆記仍以 Bitwarden 稱呼,因為日常使用體驗主要是 Bitwarden App、瀏覽器外掛與 Web Vault。
我使用它的目標不是追求「所有東西都自架」的潔癖,而是讓密碼管理變成一個可控、可備份、可恢復的系統。密碼庫一旦上線,重點就不是能不能登入,而是資料是否安全、恢復流程是否可靠、家人是否知道遇到問題時該怎麼辦。
Important
這篇是公開筆記,所以不會記錄實際網域、管理入口、內網位址、port、使用者名稱、email、資料庫名稱、環境變數、SMTP 設定、TOTP seed、備援碼、emergency access 對象或任何 secret。
🎯 我為什麼用它
密碼需要集中管理,而不是靠記憶和重複使用
帳號越多,靠腦袋記密碼只會導向兩個結果:密碼太簡單,或同一組密碼到處重複。這兩種狀況只要其中一個網站外洩,就可能連帶影響其他服務。
密碼管理器解決的是習慣問題:
- 每個網站使用不同的高強度密碼
- 不需要自己記住所有密碼
- 能逐步檢查弱密碼、重複密碼和舊帳號
- 可以把登入資料、備援碼和安全筆記集中保存
我把 Bitwarden 視為「日常安全衛生」的一部分。它不是架起來就自動安全,而是讓安全習慣比較容易長期維持。
資料主權和使用便利要一起考慮
完全不用雲端密碼管理器,可以增加心理上的控制感,但如果同步不穩、備份做不好,反而會讓風險更高。Bitwarden 對我來說是折衷點:保留跨裝置使用體驗,同時讓核心資料在自己的基礎設施裡。
真正重要的是把以下事情想清楚:
- 哪些人需要使用
- 哪些裝置會同步
- 密碼庫故障時如何登入關鍵服務
- 備份是否能真正還原
- 主密碼、2FA 和恢復方式是否有被妥善保存
🧱 在 Home Lab 裡的角色
flowchart TD U[使用者 / 裝置] --> CLIENT[Web Vault / Browser Extension / Mobile App] CLIENT --> NPM[Nginx Proxy Manager] NPM --> BW[Bitwarden] BW --> DB[(Database / Vault Metadata)] BW --> DATA[(App Data / Attachments)]
Bitwarden 位在 OMV 的 App Layer。它不像 Immich 那樣需要靠近大量媒體資料,也不像 TrueNAS 那樣屬於儲存層。它更適合放在集中管理 Docker 服務的環境裡,和其他應用一起維護、備份與更新。
瀏覽器外掛、手機 App 和 Web Vault 都使用同一個 HTTPS 入口,先經過 nginx-proxy-manager,再由 NPM 轉發到後端 Bitwarden 服務。
部署摘要
| 項目 | 目前做法 |
|---|---|
| 部署位置 | OMV / Docker |
| 對外入口 | 經由 nginx-proxy-manager 提供 HTTPS |
| 主要資料 | 密碼庫資料、組織資料、附件、設定狀態 |
| 外層保護 | 目前不套 authelia forward-auth,依賴密碼庫本身登入、2FA 與 HTTPS |
| 維運重點 | 備份、還原、升級、2FA、帳號恢復 |
Warning
密碼庫服務不適合只看「container 有沒有跑」。它需要定期確認登入、同步、瀏覽器外掛、手機 App、備份與還原流程都仍然正常。
Note
目前 Bitwarden / Vaultwarden 這個入口沒有套 Authelia forward-auth。原因是 Bitwarden 的瀏覽器外掛與手機 App 需要直接使用自己的 API、token 與同步流程;在整個服務前面加一層通用 forward-auth,容易讓非瀏覽器登入流程或背景同步變得不穩。
🔐 密碼庫的安全邊界
Bitwarden 是少數我會用更嚴格標準看待的服務,因為它一旦出問題,影響面會往外擴散到其他帳號。
我公開記錄的原則
| 面向 | 原則 |
|---|---|
| 主密碼 | 只存在於使用者記憶與私有恢復流程,不出現在筆記或設定檔 |
| 2FA | 密碼庫本身必須啟用第二因素,恢復流程要事先規劃 |
| 管理權限 | 管理員帳號數量越少越好,日常使用不要依賴高權限帳號 |
| 外部入口 | 只公開必要入口,管理設定和維運流程不放在公開筆記 |
| 更新 | 先備份,後更新,更新後測試登入和同步 |
我不會公開的內容
- 實際服務入口或管理入口
- 使用者清單、email、群組或 family organization 細節
- 主密碼提示或任何可能幫助猜測的描述
- TOTP seed、恢復碼、emergency access 對象
- SMTP、資料庫、環境變數或反向代理完整設定
公開筆記的價值應該是分享架構與維運思路,而不是展示完整配置。密碼庫的設定越完整,越不適合直接公開。
📱 我的實際使用方式
我把 Bitwarden 當成日常登入流程的中心,而不是單純「偶爾查密碼」的地方。
日常使用
- 瀏覽器外掛負責大多數網站登入
- 手機 App 用於行動裝置登入與查詢
- 新帳號建立時直接產生唯一密碼
- 舊帳號逐步改成高強度隨機密碼
- 安全筆記只放必要內容,不把它變成雜物箱
我會優先整理的項目
| 類型 | 優先原因 |
|---|---|
| Email 帳號 | 其他帳號恢復通常依賴 email |
| 金融與付款 | 影響資產與帳務安全 |
| 網域與 DNS | Home Lab 對外入口依賴這些帳號 |
| 雲端與備份服務 | 還原流程常需要先登入這些平台 |
| 家庭共用帳號 | 需要清楚權限與交接方式 |
我不會一次要求所有帳號都整理完。比較實際的做法是每次登入某個舊服務時順手更新密碼,慢慢降低弱密碼和重複密碼的比例。
💾 備份與還原
Bitwarden 的備份不是「有一份資料夾」就算完成。真正要確認的是:資料備份、加密材料、還原步驟和登入能力是否能一起恢復。
需要保護的資料
| 類型 | 說明 |
|---|---|
| 密碼庫資料 | 登入項目、組織資料、collections、metadata |
| 附件 | 如果有使用附件功能,必須納入備份範圍 |
| 應用設定 | 註冊策略、邀請、管理設定、郵件相關設定 |
| 資料庫狀態 | 若使用外部資料庫,資料庫備份必須和 app data 一起考慮 |
| 私有恢復資訊 | 主密碼、2FA 恢復方式與緊急存取流程,必須離線保存 |
還原後檢查
- 服務是否正常啟動
- Web 登入是否正常
- 瀏覽器外掛是否能同步
- 手機 App 是否能同步
- 既有 vault item 是否完整
- 附件是否能讀取
- 2FA 與恢復流程是否仍可用
- 反向代理與 HTTPS 入口是否正常
Important
密碼庫備份一定要做還原演練。沒有演練過的備份,遇到真正故障時只能算「可能有用」。
🛡️ 2FA 與恢復流程
密碼庫本身一定要比一般服務更嚴格,但也不能嚴格到把自己鎖死。
我會注意的事
- 主密碼要足夠長且唯一
- 密碼庫本身啟用 2FA
- 2FA 備援碼離線保存
- 家人或重要帳號要有交接與恢復流程
- 至少保留一個不依賴密碼庫本身才能完成的恢復路徑
最容易忽略的是「密碼庫壞掉時,要怎麼登入修密碼庫」。如果所有恢復資訊都只放在密碼庫裡,就會形成死循環。
我的恢復設計原則
| 問題 | 原則 |
|---|---|
| 忘記主密碼 | 不期待系統能幫忙找回,必須靠事前保存 |
| 2FA 裝置遺失 | 備援碼與替代驗證方式要離線保存 |
| 服務無法啟動 | 需要有離線匯出或可還原備份 |
| 家人需要存取 | 權限、緊急存取和交接流程要提前說清楚 |
⚠️ 我踩過的坑
只搬進密碼庫,不代表安全提升
如果只是把原本重複、簡單、老舊的密碼搬進 Bitwarden,安全性其實沒有立刻變好。真正的改善是後續逐步替換密碼、開啟 2FA、移除不用的帳號。
不要把密碼庫當成唯一真相
Bitwarden 很重要,但不能變成唯一救命繩。最少要有:
- 離線備份或匯出策略
- 重要帳號的恢復流程
- 主密碼與 2FA 備援方案
- 服務故障時的臨時登入方案
不要在公開筆記留下太多部署線索
密碼庫是攻擊者最有興趣的服務之一。即使沒有貼出密碼,完整的 domain、proxy、資料庫、SMTP 和使用者資訊仍然可能降低攻擊成本。
⬆️ 升級與維運原則
Bitwarden 類服務更新時,我會比一般工具更保守。
升級前
- 確認最近一次備份成功
- 確認可以取得必要的離線恢復資訊
- 看 release note,注意資料庫 migration 或登入流程變更
- 避免和反向代理、資料庫、身份驗證層同時大改
升級後
- 測試 Web 登入
- 測試瀏覽器外掛同步
- 測試手機 App 同步
- 檢查新建、修改、刪除 vault item 是否正常
- 確認備份任務仍然成功
日常巡檢
- 使用者是否仍能正常登入
- 同步是否有延遲或錯誤
- 備份是否成功並可還原
- 2FA 和恢復流程是否仍有效
- 是否有長期不用但仍保留的高風險帳號
結論
Bitwarden 是 Home Lab 裡很值得自架,但也最需要敬畏感的服務。它帶來的價值不只是「密碼存在自己家」,而是讓密碼管理、弱密碼汰換、跨裝置同步、家人共用和恢復流程變得更有秩序。
但密碼庫本身也會變成高價值目標。公開分享時,我只記錄架構、原則和維運檢查,不公開任何足以定位、登入、恢復或推測部署細節的資訊。
延伸閱讀:Home Lab 總覽、OpenMediaVault、Nginx Proxy Manager、Authelia