🐶

Vaultwarden: 自宅で安全にパスワードを管理するBitwarden互換サーバー

2024/11/10に公開

はじめに

Vaultwardenは、Rustで記述されたBitwarden Client APIと互換性のあるオープンソースのパスワードマネージャーサーバーです。公式Bitwardenサービスよりもリソース消費が少なく、自宅サーバーで安全にパスワードを管理したいユーザーに最適なソリューションを提供します。公式のBitwardenクライアント(デスクトップ、モバイル、ブラウザ)と完全に互換性があるため、既存のワークフローをそのまま維持できます。

🎯 主要機能

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/ ディレクトリは永続的なデータ保存に使用されます。必要に応じてパスを変更してください。dockerpodmanに置き換えることで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による容易な導入、そして豊富な機能により、個人から小規模組織まで幅広いユーザーに適したソリューションと言えます。ただし、データ損失のリスクを理解し、定期的なバックアップを実施することが重要です。

リポジトリ

https://github.com/Sunwood-ai-labs/vaultwarden-docker-compose

原点

https://github.com/dani-garcia/vaultwarden

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

Discussion