Vaultwarden 1.36.0: アップグレードガイド
セルフホスティングを行うということは、あなた自身がセキュリティチームになることを意味します。
クラウドサービスでは、企業がユーザーが気づく前に脆弱性を修正します。Vaultwardenの場合、リスクは自己責任となります。アップデートを怠ると、既知の脆弱性にさらされることになります。
Vaultwarden 1.36.0では、2つの重要な領域が修正されています: • 管理パネルの認証。 • セッション・トークンの取り扱い。
管理パネルは一般的な攻撃対象です。多くのユーザーが公開サブドメイン上で運用しています。プロキシレベルで /admin パスをブロックしていない場合、リスクが生じます。
1.36.0における主な改善点:
• サーバーサイドのレート制限:アプリが内部でレート制限を処理するようになりました。これにより、NginxやCaddyの設定のみに依存する必要がなくなります。攻撃者が偽のIPヘッダーを使用して制限を回避することを防ぎます。
• セッション・セキュリティの向上:サーバーがすべてのAPIコールにおいてトークンの有効期限をチェックするようになりました。これにより、盗まれたトークンが本来の期限を超えて使用されるのを防ぎます。
• 依存関係の更新:OpenSSLおよびtower-httpの修正により、DoS(サービス拒否)攻撃のリスクが軽減されます。
データを失わずにアップグレードする方法:
データベースを適切にバックアップする。 単にファイルをコピーするだけでは不十分です。破損を避けるため、コンテナ内のSQLiteバックアップコマンドを使用してください。 実行:docker exec vaultwarden sqlite3 /data/db.sqlite3 '.backup /data/db_backup.sqlite3'
バックアップを検証する。 新しいファイルに対して整合性チェックを実行してください。「ok」と表示されない場合は、作業を続行しないでください。
アトミックなアップグレード手法を使用する。 最初にコンテナを停止しないでください。停止するとダウンタイムが発生します。代わりに、古いイメージが動作している間に新しいイメージをプルし、それからサービスを再作成します。 実行: docker compose pull vaultwarden docker compose up -d vaultwarden
IPヘッダーを設定する。 レート制限を確実に機能させるために、プロキシが使用しているヘッダーをVaultwardenに伝えます。環境変数に以下を追加してください: IP_HEADER=X-Forwarded-For
セットアップのセキュリティ強化:
• 平文の ADMIN_TOKEN の使用を停止してください。代わりに argon2 ハッシュを使用してください。 • リバースプロキシを介して、/admin パスをローカルネットワークのみに制限してください。 • 利用者が自分だけの場合は、SIGNUPS_ALLOWED を false に設定してください。
アップグレード自体は5分で終わりますが、適切な準備には10分かかります。バックアップを省略しないでください。
