這則一樣是從工作筆記中撈出來的舊筆記,重新整理後釋出在部落格分享。
對於「密碼管理器」觀望了很久,一直在考慮要不要使用它,最後看了這篇《為什麼今天就該開始使用密碼管理器》之後,覺得作者說的很有道理,我們應該用一套正規、有加密、有一定安全防護的「密碼管理器」來管理密碼;同時由於團隊協作的需要,難免會遇到必須共用帳號密碼的情況,故確實需要一個合適的服務來管理密碼。於是當時稍微花了一些時間比較了幾套常見的「密碼管理器」,最後在參考該文章的介紹後,選擇試用了 LessPass 與 Bitwarden 這兩套工具。
(本文同步發表於 Medium。)
LessPass
LessPass 在當時號稱是一個全開源(Fully open source)的軟體,你可以自行架設服務,也可以註冊使用官方維護的雲端服務。
實際試用之後,第一時間覺得 LessPass 的運作邏輯跟一般想像中的「密碼管理」不太相同。該怎麼說呢?當下使用的感覺是 LessPass 與其說是幫我們集中儲存與管理密碼的「密碼管理器」,正確來說它更像是一個「密碼產生器」。
也就是根據你輸入的「網址」、「帳號」、「主密碼」、「密碼強度與亂數的設定值」,它會幫你產生出一組「高強度的密碼」,於是你可以使用這一組密碼去註冊其他需要登入密碼的服務。
接著當下次需要輸入密碼登入某個服務時,你只要能在 LessPass 輸入正確的「網址」、「帳號」、「主密碼」、「密碼強度與亂數的設定值」,LessPass 就會再次幫你產生出相同的「高強度密碼」,讓你可以複製貼上,順利登入服務。
(如上案例,根據「網址」、「帳號」、「主密碼」、「密碼強度與亂數的設定值」,即可產生出一組獨一無二的「高強度的密碼」。)
看到這裡,你一定會想說「這也太麻煩了,我光是記憶密碼就夠累了,現在還要記憶這麼多組變數!?」,對此 LessPass 的解決辦法即是 LessPass Database。
因此不論是 lesspass.com 提供的雲端服務,或你自行架設的 LessPass Database Server,其實最主要的功能都是用來幫你儲存各個服務的「網址」、「帳號」、「密碼強度與亂數的設定值」,方便你下次要「產生」密碼時,可以免去輸入這些欄位。也就是說 LessPass 並不是直接儲存「密碼」本身,因此我才會說它本質上更像是一個「密碼產生器」。
LessPass 有 Chrome 的擴充套件可以安裝,方便使用者可以快速使用。
目前 LessPass 在 GitHub 上的 Readme 已經沒有直接寫明如何 Self Host your LessPass Database
,並且 install-lesspass.sh
這個安裝腳本也已經在這個 Commit 中將其移除了。
因此如果想要自行架設 LessPass Database,可以自己研究一下現行版本的 docker-compose.yml,嘗試用 Docker 架設。
艦長當初是參考舊版本的 Readme,並對照前述的
install-lesspass.sh
及docker-compose.yml
來架設的。但就如前述這些資訊都已經有些過期,只能做為參考輔助,無法保證照著做還能正常架設。 續上,再提供另一項資訊給各位參考。在上述 LessPass 官方提供的docker-compose.yml
中,內容記載著會使用postgres:9.5
,但我當時在架設時,曾遇到 backend container 出現無法連上 DB 的錯誤訊息,後來是改用postgres:9.4
解決的。
Bitwarden
艦長試用的第二套密碼管理器是 bitwarden,這一套就比較吻合我們一般想像中的「密碼管理器」,確實是幫你儲存「密碼」或「私密資訊」。
自行架設的方式非常簡單,因為官方已經準備了安裝懶人包 Shell script,你只要準備好一台擁有超過 2GB RAM 的 Server,並能運行 Docker、Docker Compose,即可輕鬆的架設自己的 bitwarden server。
官方文件也撰寫的非常詳細,艦長按著文件做沒遇到任何障礙,因此想要自行架設者,直接參閱官方文件照著做即可。
curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh \
&& chmod +x bitwarden.sh
./bitwarden.sh install
./bitwarden.sh start
如果你打算架設 bitwarden 提供給多人使用,在開始架設之前你可以先準備好幾件事:
- Domain name 網域名稱
- SSL 憑證(或者讓安裝腳本幫你申請 Let’s Encrypt。)
- 先向官方註冊取得
Hosting Installation Id & Key
。(即便你打算免費使用,依然需要註冊取得 Installation Id 與 Key。)
準備完畢後,再去執行 ./bitwarden.sh install
,在過程中 Script 會協助你完成架設。未來如要更新升級 bitwarden 也都是透過這個 bitwarden.sh
即可。
bitwarden 同樣也有 Chrome 與 Firefox 的擴充套件可以安裝,方便使用者可以迅速輸入密碼。
擴充套件可以設定是否要定時鎖定,避免自己離開座位後,被人偷偷打開使用。
除了可以儲存帳號與密碼,也可以儲存其他需要被保護的私密資料。也能針對需要自訂欄位。
已儲存的密碼,也可以與其他人共享,成為家庭或團隊共用的資源。
擴充套件上還有一個「密碼產生器」的功能,當要註冊新的網路服務時,可以使用它產生一組新的高強度密碼。
結語
最終選擇了使用自架 bitwarden 作為密碼管理器。從架設至今已超過一年多,目前尚未遇到任何異常狀況。如果你也在考慮為團隊挑選可共用帳號的密碼管理器,bitwarden 會是一個可以考慮的選項。