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:
- Hozz létre egy Ubuntuval futó VPS-t, és irányíts rá egy aldomaint, például a
vault.example.comcímet. - Telepítsd a Dockert és a Docker Compose-t.
- Futtasd a Vaultwardent a Caddyval együtt az automatikus HTTPS-hez.
- Hozd létre az első fiókot, majd tiltsd le a nyílt regisztrációt.
- 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éter | Bitwarden Cloud | Vaultwarden |
|---|---|---|
| Szerver | A Bitwarden infrastruktúrája | Saját VPS vagy otthoni szerver |
| Alkalmazások | Bitwarden-kliensek | Ugyanezek a kliensek Self-hosted módban |
| Karbantartás | A szolgáltató végzi | A tulajdonos végzi |
| Biztonsági mentések feletti kontroll | A szolgáltatás korlátozza | Teljes |
| Beállítás | Fiók regisztrációja | Domain-, 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 enableNe 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 version3. Hozd létre a konfigurációt
mkdir -p /opt/vaultwarden
cd /opt/vaultwardenHozd 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:/configHozd 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 caddyNyisd 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 -dMá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.comEzt 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_ALLOWEDbeá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 -dA 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 backupAz 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.
