當前位置:
首頁 > 知識 > 使用 Bitwarden 和 Podman 管理你的密碼

使用 Bitwarden 和 Podman 管理你的密碼

使用 Bitwarden 和 Podman 管理你的密碼


通過使用一個強密碼而??不是許多弱密碼,這可以使你更安全。

-- Eric Gustavsson(作者)

在過去的一年中,你可能會遇到一些試圖向你推銷密碼管理器的廣告。比如 LastPass 、 1Password 或 Dashlane 。密碼管理器消除了記住所有網站密碼的負擔。你不再需要使用重複或容易記住的密碼。相反,你只需要記住一個可以解鎖所有其他密碼的密碼。

通過使用一個強密碼而??不是許多弱密碼,這可以使你更安全。如果你有基於雲的密碼管理器(例如 LastPass、1Password 或 Dashlane),你還可以跨設備同步密碼。不幸的是,這些產品都不是開源的。幸運的是,還有其他開源替代品。


開源密碼管理器

替代方案包括 Bitwarden、 LessPass 或 KeePass 。Bitwarden 是一款 開源密碼管理器 ,它會將所有密碼加密存儲在伺服器上,它的工作方式與 LastPass、1Password 或 Dashlane 相同。LessPass 有點不同,因為它專註於成為無狀態密碼管理器。這意味著它根據主密碼、網站和用戶名生成密碼,而不是保存加密的密碼。另一方面,KeePass 是一個基於文件的密碼管理器,它的插件和應用具有很大的靈活性。

這三個應用中的每一個都有其自身的缺點。Bitwarden 將所有東西保存在一個地方,並通過其 API 和網站介面暴露給網路。LessPass 無法保存自定義密碼,因為它是無狀態的,因此你需要使用它生成的密碼。KeePass 是一個基於文件的密碼管理器,因此無法在設備之間輕鬆同步。你可以使用雲存儲和 WebDAV 來解決此問題,但是有許多客戶端不支持它,如果設備無法正確同步,你可能會遇到文件衝突。

本文重點介紹 Bitwarden。


運行非官方的 Bitwarden 實現

有一個名為 bitwarden_rs 的伺服器及其 API 的社區實現。這個實現是完全開源的,因為它可以使用 SQLite 或 MariaDB/MySQL,而不是官方伺服器使用的專有 Microsoft SQL Server。

有一點重要的是要認識到官方和非官方版本之間存在一些差異。例如, 官方伺服器已經由第三方審核 ,而非官方伺服器還沒有。在實現方面,非官方版本缺少 電子郵件確認和採用 Duo 或郵件碼的雙因素身份驗證 。

讓我們在 SELinux 中運行伺服器。根據 bitwarden_rs 的文檔,你可以如下構建一個 Podman 命令:

$ podman run -d
--userns=keep-id
--name bitwarden
-e SIGNUPS_ALLOWED=false
-e ROCKET_PORT=8080
-v /home/egustavs/Bitwarden/bw-data/:/data/:Z
-p 8080:8080
bitwardenrs/server:latest

這將下載 bitwarden_rs 鏡像並在用戶命名空間下的用戶容器中運行它。它使用 1024 以上的埠,以便非 root 用戶可以綁定它。它還使用 :Z 更改卷的 SELinux 上下文,以防止在 /data 中的讀寫許可權問題。

如果你在某個域下託管它,建議將此伺服器放在 Apache 或 Nginx 的反向代理下。這樣,你可以使用 80 和 443 埠指向容器的 8080 埠,而無需以 root 身份運行容器。


在 systemd 下運行

Bitwarden 現在運行了,你可能希望保持這種狀態。接下來,創建一個使容器保持運行的單元文件,如果它沒有響應則自動重新啟動,並在系統重啟後開始運行。創建文件 /etc/systemd/system/bitwarden.service:

[Unit]
Description=Bitwarden Podman container
Wants=syslog.service
[Service]
User=egustavs
Group=egustavs
TimeoutStartSec=0
ExecStart=/usr/bin/podman run "bitwarden"
ExecStop=-/usr/bin/podman stop -t 10 "bitwarden"
Restart=always
RestartSec=30s
KillMode=none
[Install]
WantedBy=multi-user.target

現在使用 sudo 啟用並啟動該服務:

$ sudo systemctl enable bitwarden.service && sudo systemctl start bitwarden.service
$ systemctl status bitwarden.service
bitwarden.service - Bitwarden Podman container
Loaded: loaded (/etc/systemd/system/bitwarden.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2019-07-09 20:23:16 UTC; 1 day 14h ago
Main PID: 14861 (podman)
Tasks: 44 (limit: 4696)
Memory: 463.4M

成功了!Bitwarden 現在運行了並將繼續運行。


添加 LetsEncrypt

如果你有域名,強烈建議你使用類似 LetsEncrypt 的加密證書運行你的 Bitwarden 實例。Certbot 是一個為我們創建 LetsEncrypt 證書的機器人,這裡有個 在 Fedora 中操作的指南 。

生成證書後,你可以按照 bitwarden_rs 指南中關於 HTTPS 的部分來 。只要記得將 :Z 附加到 LetsEncrypt 來處理許可權,而不用更改埠。



照片由 CMDR Shane 拍攝,發表在 Unsplash 上。



via: https://fedoramagazine.org/manage-your-passwords-with-bitwarden-and-podman/

作者: Eric Gustavsson 選題: lujun9972 譯者: geekpi 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


點擊「了解更多」可訪問文內鏈接

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux技術 的精彩文章:

為什麼說 Kubernetes 是一輛翻斗車
什麼是 DevSecOps?

TAG:Linux技術 |