はじめに
Vaultwardenは、Rustで記述されたBitwarden Client APIと互換性のあるオープンソースのパスワードマネージャーサーバーです。公式Bitwardenサービスよりもリソース消費が少なく、自宅サーバーで安全にパスワードを管理したいユーザーに最適なソリューションを提供します。公式のBitwardenクライアント(デスクトップ、モバイル、ブラウザ)と完全に互換性があるため、既存のワークフローをそのまま維持できます。
自宅でホストできるBitwarden互換パスワードマネージャー「Vaultwarden」を動かしてみた!
— Maki@Sunwood AI Labs. (@hAru_mAki_ch) November 9, 2024
普通に使いやすい!
これは会社にも是非導入したい https://t.co/lt8Ve97BqT pic.twitter.com/yvXQb3Lx43
🎯 主要機能
Vaultwardenは、Bitwarden Client APIのほぼ完全な実装を提供し、以下の機能を備えています。
- 個人用Vault: パスワード、クレジットカード情報、メモなどの個人情報の安全な保管。
- Send: セキュアなパスワード共有機能。
- 添付ファイル: パスワードエントリへのファイル添付機能。
- ウェブサイトアイコン: ウェブサイトのファビコン表示機能。
- 個人APIキー: API経由でのVaultwardenへのアクセスを制御するためのキー。
- 組織管理: 組織アカウント、コレクション、パスワード共有、メンバーロール、グループ、イベントログ、管理者パスワードリセット、ディレクトリコネクタ、ポリシー管理など、大規模なチームでのパスワード管理をサポートします。
- 多要素認証(MFA)/二要素認証(2FA): Authenticatorアプリ, メール, FIDO2 WebAuthn, YubiKey, Duoなど、様々な認証方法をサポートし、セキュリティを強化します。
- 緊急アクセス: 緊急時に指定したユーザーにVaultへのアクセスを許可する機能。
- Vaultwarden管理バックエンド: サーバーの管理、設定変更を行うための管理画面。
- 修正版Web Vaultクライアント: コンテナにバンドルされたWeb Vaultクライアント。
💻 技術スタック
- プログラミング言語: Rust
- データベース: SQLite (デフォルト) 、PostgreSQL、MySQL
- コンテナ化: Docker, Podman
- パッケージマネージャー: Cargo
🚀 ユースケース
- 個人: 自分のパスワードを安全に管理したい個人ユーザー。
- 家族: 家族でパスワードを共有したい家庭。
- 小規模組織: 従業員間でのパスワード管理を簡素化したい小規模組織。
- 開発者: Bitwarden APIを利用したアプリケーション開発のテスト環境として。
📦 インストール方法
Vaultwardenは主にDockerまたはPodmanイメージを使用してインストールします。ghcr.io, docker.io, quay.ioからイメージを取得できます。コミュニティが提供するパッケージも存在しますが、最新バージョンや設定方法が異なる可能性があります。
🔧 使用方法
Docker/Podman CLIによるインストール
docker pull vaultwarden/server:latest
docker run --detach --name vaultwarden \
--env DOMAIN="https://vw.domain.tld" \
--volume /vw-data/:/data/ \
--restart unless-stopped \
--publish 80:80 \
vaultwarden/server:latest
/vw-data/
ディレクトリは永続的なデータ保存に使用されます。必要に応じてパスを変更してください。docker
をpodman
に置き換えることでPodmanを使用することもできます。
Docker Composeによるインストール
docker-compose.yml
ファイルを作成し、以下の設定でVaultwardenコンテナを実行します。
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vw.domain.tld"
volumes:
- ./vw-data/:/data/
ports:
- 80:80
HTTPSの使用を強く推奨します。Let's EncryptなどのSSL証明書を取得するか、mkcertなどのツールで自己署名証明書を生成して設定してください。リバースプロキシを使用することも可能です。
📈 パフォーマンスと特徴
- 軽量: 公式Bitwardenサーバーと比較してリソース消費が少なく、低スペックのサーバーでも動作します。
- セキュリティ: Rustの高い安全性と、多要素認証のサポートにより、高いセキュリティレベルを実現します。
- オープンソース: ソースコードが公開されており、自由に修正・再配布できます。
- コミュニティサポート: 活発なコミュニティがあり、サポートが受けやすいです。
🌟 まとめ
Vaultwardenは、安全で手軽にパスワードを管理できる自己ホスト型のBitwarden互換サーバーです。Rustによる高い信頼性と、Dockerによる容易な導入、そして豊富な機能により、個人から小規模組織まで幅広いユーザーに適したソリューションと言えます。ただし、データ損失のリスクを理解し、定期的なバックアップを実施することが重要です。
リポジトリ
原点