Tropic Host

Vaultwarden: mi ez, és hogyan telepíthető VPS-re

6 perc olvasás
Tropic
Vaultwarden: mi ez, és hogyan telepíthető VPS-re

Language: hu

Vaultwarden: saját jelszókezelő telepítése VPS-re

A Vaultwarden lehetővé teszi, hogy a jelszavaidat a saját szervereden tárold, és szinkronizáld őket a számítógéped, a telefonod és a böngésződ között. Működik a hivatalos Bitwarden-alkalmazásokkal és -bővítményekkel, amelyekben a saját szervered címét adod meg.

Az alábbiakban áttekintjük, milyen VPS-re van szüksége a Vaultwardennek, hogyan futtatható Ubuntu rendszeren Docker Compose segítségével, hogyan tiltható le a nyílt regisztráció, hogyan engedélyezhető a HTTPS, és hogyan állíthatók be a biztonsági mentések.

Vaultwarden öt lépésben

A minimális indítási terv:

  1. Hozz létre egy Ubuntuval futó VPS-t, és irányíts rá egy aldomaint, például a vault.example.com címet.
  2. Telepítsd a Dockert és a Docker Compose-t.
  3. Futtasd a Vaultwardent a Caddyval együtt az automatikus HTTPS-hez.
  4. Hozd létre az első fiókot, majd tiltsd le a nyílt regisztrációt.
  5. Engedélyezd a kétfaktoros hitelesítést, a frissítéseket és a biztonsági mentéseket.

Személyes trezorhoz vagy kis család számára a beépített SQLite-adatbázis elegendő. Külön PostgreSQL-szerverre általában nincs szükség.

Mi a Vaultwarden?

A Vaultwarden a Bitwarden API-jának nem hivatalos, Rust nyelven írt szerverimplementációja, amelyet saját üzemeltetésű telepítésre terveztek. Kompatibilis a hivatalos Bitwarden-kliensekkel: a webes felülettel, a mobil- és asztali alkalmazásokkal, a böngészőbővítményekkel és a CLI-vel.

A trezor adatai a felhasználó eszközén titkosítva vannak, mielőtt a szerverre kerülnek. A VPS a titkosított adatbázist szinkronizálja, de nem ismeri a fő jelszót, és annak elvesztése esetén nem tudja helyreállítani.

A Vaultwarden nem hivatalos Bitwarden-termék. A frissítésekért, a rendelkezésre állásért, a HTTPS-ért, a biztonsági mentésekért és a VPS védelméért személyesen a tulajdonos felel.

Vaultwarden és Bitwarden: mi a különbség?

ParaméterBitwarden CloudVaultwarden
SzerverA Bitwarden infrastruktúrájaSaját VPS vagy otthoni szerver
AlkalmazásokBitwarden-kliensekUgyanezek a kliensek Self-hosted módban
KarbantartásA szolgáltató végziA tulajdonos végzi
Biztonsági mentések feletti kontrollA szolgáltatás korlátozzaTeljes
BeállításFiók regisztrációjaDomain-, Docker- és VPS-konfiguráció

A Vaultwarden azoknak megfelelő, akik szeretnék kézben tartani a szerveroldalt, és készek frissíteni a Linuxot, valamint ellenőrizni a biztonsági mentéseket. A felhőszolgáltatás praktikusabb, ha nem szeretnél adminisztrációval foglalkozni. A saját üzemeltetés önmagában nem teszi biztonságossá a rendszert — a felelősség a tulajdonosra száll.

Vaultwarden szerverkövetelményei

Személyes használathoz ésszerű kezdőkonfiguráció:

  • 1 vCPU;
  • 1–2 GB RAM;
  • 10–20 GB SSD vagy NVMe;
  • Ubuntu 24.04 LTS;
  • nyilvános IP-cím és domain;
  • nyitott 80-as és 443-as port.

Ez gyakorlati tartalék az Ubuntu, a Docker, a Caddy és a frissítések számára, nem pedig a projekt szigorú minimuma. Több tucat felhasználó, sok melléklet vagy több konténer esetén jobb legalább 2 GB RAM-ot választani.

A Vaultwarden telepítése VPS-re

Ez a példa az Ubuntu 24.04-et és a vault.example.com aldomaint használja. Minden fájlban cseréld le a saját címedre.

1. Állítsd be a DNS-t és készítsd elő az Ubuntut

Hozz létre egy A DNS-rekordot, amely a VPS IPv4-címére mutat. Ezután csatlakozz SSH-n keresztül:

ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Ne zárd be a jelenlegi SSH-munkamenetet addig, amíg nem ellenőrizted, hogy egy új kapcsolat működik.

2. Telepítsd a Dockert és a Docker Compose-t

Add hozzá a hivatalos Docker-tárolót:

apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
  -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc

tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

apt update
apt install -y docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin
docker compose version

3. Hozd létre a konfigurációt

mkdir -p /opt/vaultwarden
cd /opt/vaultwarden

Hozd létre a compose.yaml fájlt:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.example.com"
      SIGNUPS_ALLOWED: "true"
    volumes:
      - ./vw-data:/data

  caddy:
    image: caddy:2-alpine
    container_name: vaultwarden-caddy
    restart: unless-stopped
    depends_on:
      - vaultwarden
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-data:/data
      - ./caddy-config:/config

Hozd létre a Caddyfile fájlt:

vault.example.com {
    reverse_proxy vaultwarden:80
}

Kívülről csak a Caddy érhető el. A Vaultwarden-konténer a Docker-hálózaton belül hozzáférhető, az adatok pedig az /opt/vaultwarden/vw-data könyvtárban tárolódnak. A jelenlegi beállításban nincs szükség külön WebSocket-portra.

4. Indítsd el a Vaultwardent

docker compose up -d
docker compose ps
docker compose logs --tail=100 caddy

Nyisd meg a https://vault.example.com címet. A Caddy automatikusan TLS-tanúsítványt szerez, ha a DNS már a VPS-re mutat, és a 80-as, illetve 443-as port elérhető. Ha az oldal nem nyílik meg, ellenőrizd a DNS-t, a tűzfalat, valamint azt, hogy más webszerver nem használja-e ezeket a portokat.

5. Hozz létre fiókot és tiltsd le a regisztrációt

Regisztráld az első fiókot. Használj hosszú, egyedi fő jelszót, és őrizz meg róla egy vészhelyzeti másolatot a Vaultwarden rendszeren kívül: a szerver adminisztrátora nem tudja visszaállítani vagy helyreállítani a fő jelszót.

A regisztráció után módosítsd a következőt a compose.yaml fájlban:

SIGNUPS_ALLOWED: "false"

Alkalmazd a beállítást:

docker compose up -d

Mások ezután nem tudnak fiókot létrehozni. Új felhasználó hozzáadásához ideiglenesen engedélyezheted a regisztrációt, vagy beállíthatod a meghívásokat.

A Bitwarden alkalmazás csatlakoztatása

Nem kell külön Vaultwarden-klienst telepítened. A Bitwarden alkalmazás vagy bővítmény bejelentkezési képernyőjén válaszd a Self-hosted lehetőséget, és add meg:

https://vault.example.com

Ezt a címet használd a számítógépen, a telefonon és a böngészőben. Migráláshoz importálj exportot a korábbi jelszókezelődből. Az átvitel után azonnal töröld a titkosítatlan CSV- vagy JSON-fájlt, és ne küldd el e-mailben vagy nyilvános linken keresztül.

A Vaultwarden biztonságos konfigurációja

Az indítás után hajts végre néhány lépést:

  • engedélyezd a TOTP-t vagy a WebAuthn-t, és a helyreállítási kódokat külön tárold;
  • tartsd letiltva a SIGNUPS_ALLOWED beállítást;
  • használj SSH-kulcsokat, és rendszeresen frissítsd az Ubuntut;
  • ne tedd közzé a Vaultwarden-konténer belső portját;
  • ne futtass kétes konténereket ugyanazon a VPS-en;
  • ellenőrizd, hogy a biztonsági mentések visszaállíthatók-e.

Az /admin panel személyes trezorhoz általában felesleges. Ha engedélyezed, használj hosszú, Argon2-hash formájú tokent, és ahol lehetséges, korlátozd a hozzáférést IP-cím vagy VPN alapján. A sima szöveges ADMIN_TOKEN tárolása nem ajánlott.

Frissítés előtt készíts biztonsági mentést, majd futtasd:

cd /opt/vaultwarden
docker compose pull
docker compose up -d

A szervert rendszeresen frissíteni kell: a Bitwarden-kliensek egymástól függetlenül jelennek meg, ezért egy nagyon régi Vaultwarden-verzió elveszítheti velük a kompatibilitást.

A Vaultwarden biztonsági mentése

A fő SQLite-adatbázis a vw-data/db.sqlite3 fájlban található, a mellékletek pedig külön fájlokként vannak tárolva. Ne másolj futó adatbázist a szokásos cp paranccsal: az éppen zajló írás inkonzisztenssé teheti a másolatot.

Biztonságos pillanatképet a beépített paranccsal készíthetsz:

docker exec vaultwarden /vaultwarden backup

Az adatkönyvtárban megjelenik egy külön db_.sqlite3 fájl. Mentsd el vele együtt az attachments és sends könyvtárakat, a config.json fájlt, ha létrejött, valamint az rsa_key fájlokat is.

Az ugyanazon a VPS-en tárolt biztonsági mentés nem véd a szerver törlése vagy a lemez meghibásodása ellen. Automatikusan küldj másolatokat egy másik eszközre vagy elkülönített objektumtárolóba, lehetőleg további titkosítással. Időnként végezz teszt-visszaállítást.

Milyen VPS-t válassz a Vaultwardenhez?

Egy 2 GB RAM-mal rendelkező alap Linux VPS elegendő személyes vagy családi trezorhoz. Tartalékot biztosít az Ubuntu, a Docker, a Caddy, a frissítések és az automatikus biztonsági mentések számára.

A Vaultwardent futtathatod a tropic.host belépő szintű VPS-én, majd később növelheted az erőforrásokat, ha további saját üzemeltetésű szolgáltatásokat adsz a szerverhez. Egy jelszókezelőnél a stabil hálózat, az állandó nyilvános cím és a megbízható lemez fontosabb, mint a további CPU-magok.

Otthoni szerver is használható, de ekkor neked kell biztosítanod a külső hozzáférést, a HTTPS-t, a stabil áramellátást és a hibák utáni helyreállítást. A VPS általában egyszerűbb, ha a trezornak bármilyen hálózatból működnie kell.

Összegzés

A Vaultwarden kényelmes, saját üzemeltetésű jelszókezelő azok számára, akik Bitwarden-klienseket szeretnének használni, miközben a szerveroldalt saját infrastruktúrájukon tartják. A kezdéshez elegendő egy kis VPS, egy domain, a Docker Compose és a Caddy.

A fő felelősség a telepítés után kezdődik: tiltsd le a regisztrációt, engedélyezd a 2FA-t, frissítsd a konténereket, és tarts ellenőrzött biztonsági mentéseket a szerveren kívül.

FAQ

Telepíthető a Vaultwarden domain nélkül?

Technikailag használhatsz helyi címet, de a webes trezor biztonságos HTTPS-környezetet igényel. Több eszközről való hozzáféréshez egyszerűbb domaint és TLS-tanúsítványt használni.

Mennyi RAM-ra van szüksége a Vaultwarden számára?

Egy vagy néhány felhasználóhoz általában elegendő 1 GB RAM. A 2 GB-os VPS kényelmesebb tartalékot biztosít a rendszer, a Docker, a Caddy és a frissítések számára.

Működik a Vaultwarden a Bitwarden mobilalkalmazásával?

Igen. A bejelentkezési képernyőn válassz saját üzemeltetésű szervert, és add meg a Vaultwarden-példány teljes HTTPS-címét.

Mi történik, ha a VPS átmenetileg nem érhető el?

A korábban szinkronizált adatok általában megmaradnak a kliens helyi, titkosított gyorsítótárában. A szinkronizálás, az új eszközön való bejelentkezés és a változások fogadása azonban nem működik a szerver helyreállításáig.

Visszaállítható az elfelejtett fő jelszó az /admin felületen keresztül?

Nem. Az adminisztrátor kezelheti a szervert és a fiókokat, de nem rendelkezik a felhasználó trezorának visszafejtési kulcsával. A fő jelszót és a helyreállítási kódokat külön kell tárolni.