W dzisiejszych czasach zarządzanie hasłami jest kluczowe dla bezpieczeństwa zarówno firm, jak i użytkowników indywidualnych. Jednym z najpopularniejszych narzędzi do przechowywania haseł jest Bitwarden, który oferuje zarówno wersję chmurową, jak i możliwość samodzielnego hostowania. Jednak dla użytkowników poszukujących lżejszej i bardziej wydajnej alternatywy powstał Vaultwarden – open-source’owa implementacja serwera Bitwarden, zoptymalizowana pod kątem minimalnego zużycia zasobów.
W tym artykule szczegółowo omówimy, czym jest Vaultwarden, jak działa, w jaki sposób przechowywane są w nim hasła oraz czy jest on niezależnym rozwiązaniem.
Czym jest Vaultwarden?
Vaultwarden (dawniej bitwarden_rs) to lekka implementacja serwera Bitwarden, napisana w języku Rust. Jego główną zaletą jest to, że zużywa znacznie mniej zasobów niż oficjalny serwer Bitwarden, co czyni go idealnym rozwiązaniem dla użytkowników, którzy chcą samodzielnie hostować własny menedżer haseł na niskim budżecie lub w środowisku o ograniczonej mocy obliczeniowej.
Vaultwarden oferuje pełną kompatybilność z oficjalnymi aplikacjami Bitwarden, co oznacza, że użytkownicy mogą korzystać z tej samej aplikacji mobilnej, rozszerzenia przeglądarkowego oraz interfejsu webowego, co w przypadku standardowego Bitwarden.
Jak korzystać z Vaultwarden?
1. Instalacja Vaultwarden
Vaultwarden można uruchomić na wielu platformach, w tym:
- Serwerach dedykowanych i VPS,
- Lokalnych maszynach (np. Raspberry Pi),
- Dockerze, co jest najpopularniejszym rozwiązaniem.
Przykładowa instalacja przy użyciu Dockera:
docker run -d --name vaultwarden \
-v /path/to/data:/data \
-p 80:80 \
-e ADMIN_TOKEN="your_admin_token" \
--restart always \
vaultwarden/server:latest
Po uruchomieniu Vaultwarden można zalogować się do panelu administracyjnego i skonfigurować użytkowników oraz politykę przechowywania haseł.
Jak przesyłane są hasła do Vaultwarden?
Podobnie jak Bitwarden, Vaultwarden korzysta z end-to-end encryption (E2EE), co oznacza, że:
- Hasła są szyfrowane po stronie klienta (np. aplikacja mobilna, przeglądarka) przed wysłaniem ich na serwer.
- Serwer przechowuje zaszyfrowane dane, ale nigdy nie ma dostępu do rzeczywistej treści haseł.
- Klucz deszyfrujący znajduje się wyłącznie po stronie użytkownika.
Wszystkie hasła są szyfrowane za pomocą algorytmu AES-256, a klucze kryptograficzne są dodatkowo zabezpieczane PBKDF2 w celu zwiększenia odporności na ataki brute-force.
W jaki sposób hasła są przechowywane na serwerze?
Vaultwarden przechowuje zaszyfrowane dane w bazie SQLite (domyślnie) lub w bazie PostgreSQL, jeśli użytkownik zdecyduje się na bardziej zaawansowaną konfigurację. W plikach serwera nigdy nie znajdują się odszyfrowane hasła.
Przykładowa struktura katalogu Vaultwarden:
/data
|-- db.sqlite3 # Główna baza danych (SQLite)
|-- rsa_key.pem # Klucz publiczny dla użytkowników
|-- config.json # Konfiguracja serwera
Dzięki temu podejściu, nawet jeśli ktoś uzyska dostęp do bazy danych, nie będzie w stanie odczytać haseł bez znajomości klucza deszyfrującego.
Czy Vaultwarden jest niezależny?
Tak, Vaultwarden jest całkowicie niezależnym rozwiązaniem i nie wymaga dostępu do chmury Bitwarden. Można go hostować na dowolnym serwerze, a dostęp do danych jest w pełni kontrolowany przez użytkownika.
Najważniejsze różnice między Vaultwarden a oficjalnym Bitwarden Server:
Cecha | Vaultwarden | Bitwarden Server |
---|---|---|
Język programowania | Rust | C# |
Zużycie zasobów | Niskie | Wysokie |
Kompatybilność | Pełna z klientami Bitwarden | Pełna |
Obsługa Docker | Tak | Tak |
Wymaga licencji? | Nie | Tak (wersja enterprise) |
Dlaczego warto wybrać Vaultwarden?
- Niskie wymagania sprzętowe – idealne dla małych serwerów lub Raspberry Pi.
- Pełna kontrola nad danymi – nie musisz polegać na chmurze Bitwarden.
- Kompatybilność – możesz korzystać z aplikacji Bitwarden, ale na własnym serwerze.
- Brak opłat – Vaultwarden jest darmowy, podczas gdy Bitwarden Server wymaga licencji w przypadku wersji Enterprise.
Ciekawostki o Vaultwarden
- Vaultwarden był pierwotnie znany jako „bitwarden_rs”, ale zmienił nazwę, aby uniknąć konfliktów z oficjalnym Bitwarden.
- Został napisany w języku Rust, co sprawia, że jest znacznie bardziej wydajny niż oryginalny Bitwarden Server.
- Wspiera WebSockets, dzięki czemu zmiany w bazie haseł mogą być synchronizowane w czasie rzeczywistym na różnych urządzeniach.
- Użytkownicy mogą dodawać własne metody uwierzytelniania (np. dwuskładnikowe logowanie przez TOTP lub klucze U2F/FIDO2).
- Można go hostować nawet na serwerach z 512 MB RAM, podczas gdy oficjalny Bitwarden Server wymaga co najmniej 2 GB RAM.
Podsumowanie
Vaultwarden to świetna alternatywa dla Bitwarden Server dla tych, którzy chcą samodzielnie zarządzać swoimi hasłami w sposób bezpieczny i niezależny. Dzięki niskim wymaganiom systemowym, pełnej kompatybilności z Bitwarden i end-to-end encryption, Vaultwarden stanowi idealne rozwiązanie zarówno dla firm, jak i użytkowników indywidualnych.