5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Posted at

はじめに

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による容易な導入、そして豊富な機能により、個人から小規模組織まで幅広いユーザーに適したソリューションと言えます。ただし、データ損失のリスクを理解し、定期的なバックアップを実施することが重要です。

リポジトリ

原点

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?