LastPass無料版が3月中旬よりデバイス制限がかかるので、そろそろLastPassから離れたいため、何かパスワード管理のオープンソースがないのか調べてみたら、Bitwardenが良さそうなので、いつもながら、Dockerでセルフホスティングしてみた。
作業でやることは、ほぼ、こちら↓の記事と似たような感じです
Bitwarden
公式はこちらです。
セルフホスティングしないのであれば、アカウント作成して利用したほうが楽です
導入準備
- Docker環境が整備されているサーバーがあること(docker-compose)
- 独自ドメインのDNS設定が出来ること
- メール送信用SMTPがあること (Gmail利用可)
docker-compose
私の環境では、すでにnginx-proxyとLetsEncrypt用のコンテナが常時起動しているので、bitwardenのdocker-compose.ymlは下記のような記述となってます。
2021年5月現在、bitwardenrsが非推奨となり、vaultwardenへ変更となってます
ほぼ、下記のGitHubを参考にさせていただきましたが、なぜか、.envファイルが読み込めなかったので、そのままdocker-compose.yml内へ記述しました
起動
無事にdocker-composeのビルドに成功し、LetsEncryptの証明書も取得出来たら、独自ドメインで設定したサイトへアクセスします
下図のような画面が現れたら成功です。おめでとうございます!copy as markdownの表記はスクリーンショット時に不意に入ってしまったので気にしないで
このまま、メールアドレスと、マスターパスワードを入力し、アカウント作成することで直ぐに利用が出来るようになります。
LastPassからの移行
予め、LastPassにログインし、データをエクスポートしておきます
そして、Bitwardenへログイン後、ツールから、LastPass(csv)形式でインポートするだけです
セキュリティ
環境変数は下記を参考にすると良い
- アカウント作成後、以降アカウント作成する必要がなければ、下記をfalseにする
SIGNUPS_ALLOWED=false
INVITATIONS_ALLOWED=false
- Admin Tokenを記述するとhttps://yourhost/adminにてadmin管理モードが使用になり、細かい設定が可能となる
- nginx-proxyでhtpasswdで認証をかける
- 必要以外はサービスを止める
LDAP化
職場等で大人数で利用する場合は、アカウントをLDAP認証出来るようですが、今回は自分及び家族くらいの利用なので、導入はしておりませんので参考まで。
オンラインサービスを利用すると、改悪されたりサービス終了、データ流出の心配がある一方、セルフホスティングでは、完全に自分の管理次第でパスワード管理がおそろかになってしまうので、一長一短ではありますね。