Vaultwarden: L'alternativa open source a Bitwarden per l'installazione locale

Vaultwarden è un'implementazione server leggera dell'API Bitwarden Client sviluppata in Rust.

Introduzione: Che cos'è Vaultwarden?

Questa alternativa open source è specificamente progettata per scenari di self-hosting in cui i server ufficiali Bitwarden sarebbero troppo impegnativi in termini di risorse. Precedentemente noto come "bitwarden_rs", Vaultwarden offre una compatibilità quasi completa con tutti i client Bitwarden ufficiali.

La cosa speciale di Vaultwarden è che è completamente gratuito, richiede considerevolmente meno risorse di sistema rispetto al server ufficiale Bitwarden e supporta ancora tutte le funzionalità importanti. È la soluzione perfetta per gli individui esperti di tecnologia, le famiglie e le piccole imprese che vogliono mantenere le loro password completamente sotto il proprio controllo.

Metodi di installazione alternativi

Oltre all'installazione Docker descritta in dettaglio in questo articolo, ci sono diverse altre opzioni di installazione per Vaultwarden:

  • binari precostruiti: Binari precostruiti per vari sistemi operativi
  • Servizio sistemato: Servizio di sistema diretto senza contenitori
  • Pacchetti di terze parti: Pacchetti comunitari per diverse distribuzioni (AUR, Homebrew, ecc.)
  • Costruzione del codice sorgente: Compilazione manuale dal codice sorgente Rust
  • Alternative per contenitori: Podman come alternativa a Docker
  • Distribuzioni cloud: Kubernetes, Docker Swarm o soluzioni specifiche per il cloud

In questo articolo, ci concentreremo sull'installazione basata su Docker in quanto è la più semplice da implementare e disponibile su tutte le piattaforme. Per altri metodi di installazione troverete Istruzioni dettagliate nel Wiki ufficiale di Vaultwarden.

Vantaggi di Vaultwarden

Vantaggi tecnici

  • Basso consumo di risorse: Consumo di RAM e CPU significativamente inferiore rispetto al server ufficiale Bitwarden
  • Piena compatibilità: Funziona con tutti i client Bitwarden ufficiali (estensioni browser, app mobili, applicazioni desktop)
  • Sviluppo attivo: Aggiornamenti regolari e forte supporto della community
  • Basato sulla ruggine: Elevate prestazioni e sicurezza dello storage
  • Pronto per l'uso in banchina: Facile containerizzazione e implementazione

funzionalità

  • Vault personale (Vault personale)
  • Invia (scambio di file sicuro)
  • Allegati
  • Icone del sito web
  • Chiave API personale
  • organizzazioni
  • Autenticazione a due fattori
  • Accesso di emergenza
  • Backend dell'amministratore

Protezione e sicurezza dei dati

  • Controllo completo dei dati: Tutti i dati rimangono sui tuoi server
  • Nessuna dipendenza da fornitori terzi: Nessun rischio di guasti del servizio o perdite di dati da fornitori esterni
  • Open source: Codice trasparente che può essere verificato dalla comunità
  • Facilità di conformità: Ideale per le aziende con severi requisiti di protezione dei dati

Svantaggi di Vaultwarden

Sfide tecniche

  • Auto-hosting richiesto: Richiede un certo know-how tecnico per l'installazione e la manutenzione
  • Responsabilità propria: Backup, aggiornamenti e sicurezza devono essere gestiti da soli
  • Nessun sostegno pubblico: Supporto solo da parte della comunità, non da parte di Bitwarden Inc.
  • Requisito HTTPS: L'interfaccia Web funziona solo tramite HTTPS o localhost

Sforzo di manutenzione

  • Aggiornamenti periodici: Deve essere fatto manualmente
  • Gestione del backup: Richiede la tua strategia di backup
  • monitoraggio: Il monitoraggio del server è di tua responsabilità

Istruzioni dettagliate per l'installazione

1. Installazione su Linux (Ubuntu/Debian)

prerequisiti

Questi passaggi installano tutti i componenti Docker necessari per Vaultwarden su un sistema Ubuntu / Debian, sui sistemi esistenti con Docker già in esecuzione questo passaggio può essere saltato:

# Sistema di aggiornamento - Assicura che tutti i pacchetti siano aggiornati sudo apt update & & sudo apt upgrade -y # Installare Docker - La piattaforma contenitore che esegue Vaultwarden sudo apt install -y docker.io docker-compose # Avviare e attivare il servizio Docker - Assicura che Docker si avvii automaticamente all'avvio di sudo systemctl # Aggiungere utenti al gruppo Docker - Consente di eseguire comandi Docker senza sudo # IMPORTANTE: Dopo questo comando devi disconnetterti e accedere di nuovo! sudo usermod -aG docker $UTENTE

Installazione passo-passo

Fase 1: Creare una struttura di directory Qui creiamo la struttura delle cartelle per Vaultwarden e i suoi dati:

# Crea directory di lavoro - Salva tutti i file di configurazione mkdir -p /opt/vaultwarden # Creare una directory di dati - Qui è dove Vaultwarden salva il database e i file # IMPORTANTE: Questa directory deve essere sottoposta a backup regolarmente! mkdir -p ./vw-data

Fase 2: Creare un file Docker Compose Il file Docker Compose definisce le modalità di esecuzione di Vaultwarden:

nano docker-compose.yml

Includi i seguenti contenuti e personalizzali con #GRAZIE AL CAMBIAMENTO Valori selezionati per il tuo ambiente:

Versione: "3.8" servizi: vaultwarden: immagine: vaultwarden/server:ultimo nome_container: riavvio di vaultwarden: Ambiente a meno che non sia stato fermato: # GRAZIE AL CAMBIAMENTO: Sostituisci con il tuo dominio o indirizzo IP DOMAIN: "https://tuo-dominio.de" # GRAZIE AL CAMBIAMENTO: Creare un token di amministrazione sicuro (min. 32 caratteri) # Generalo con: openssl rand -hex 32ls ADMIN_TOKEN: "YourSecureAdminToken123" # Abilita WebSocket per la sincronizzazione dal vivo WEBSOCKET_ENABLED: "vero" # SICUREZZA: Dopo la configurazione iniziale, impostare su "falso"! SIGNUPS_ALLOWED: volumi "veri": # Memorizzazione persistente dei dati - MAI eliminare! - porte ./vw-data/:/data/: # Mappatura dei porti: Porto ospite: Porto del contenitore # 127.0.0.1 si lega solo a localhost (più sicuro) - "127.0.0.1:8080:80" - "127.0.0.1:3012:3012"

Fase 3: Avvia Vaultwarden Questo comando scarica l'immagine di Vaultwarden e avvia il contenitore in background:

# Avviare il contenitore in modalità staccata (corre in background) docker-compose up -d # Controllare lo stato - dovrebbe visualizzare "Up" docker-compose ps # Visualizza i log (se si verificano problemi) docker-compose logs vaultwarden

Fase 4: Configurare Nginx Reverse Proxy (opzionale) È necessario un proxy inverso per HTTPS e funzionalità avanzate. Qui installiamo Nginx con certificati SSL automatici:

# Nginx e Certbot per i certificati SSL installano sudo apt install nginx certbot python3-certbot-nginx # Creare una configurazione Nginx per Vaultwarden sudo nano /etc/nginx/sites-available/vaultwarden

Configurazione di Nginx (regolare "your-domain.de" sul proprio dominio):

# Server di inoltro HTTP-to-HTTPS { lista 80; nome_server ihr-domain.de; # GRAZIE AL CAMBIAMENTO: Il tuo dominio restituisce 301 https://$nome_server$request_uri; } # Server di configurazione HTTPS { elenco 443 ssl http2; server_name dein-domain.de; # GRAZIE AL CAMBIAMENTO: Il tuo dominio # Percorsi dei certificati SSL (impostati automaticamente da Certbot) ssl_certificate /etc/letsencrypt/live/your-domain.de/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.de/privkey.pem; # Posizione principale dell'applicazione / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $regime; } # Connessioni WebSocket per la posizione di sincronizzazione dal vivo /notifiche/hub { proxy_pass http://127.0.0.1:3012; proxy_set_header Aggiornamento $http_upgrade; proxy_set_header Connessione "upgrade"; } }

Fase 5: Creare un certificato SSL e attivare Nginx

# Abilita pagina Nginx sudo ln -s /etc/nginx/sites-available/vaultwarden /etc/nginx/sites-enabled/ # Prova configurazione Nginx sudo nginx -t # Creare certificato SSL (sostituire "your-domain.de") sudo certbot --nginx -d ihr-domain.de # Avviare Nginx e abilitare l'avvio automatico sudo systemctl abilitare nginx sudo systemctl riavviare nginx

Quindi, l'installazione sotto Linux è già completa, Continuare alla sezione Configurazione.

2. Installazione su Windows

prerequisiti

  1. Docker Desktop per Windows scaricare e installare da: https://docs.docker.com/desktop/windows/install/
  2. Git per Windows Installazione (opzionale, per una gestione più semplice)

Installazione passo-passo

Fase 1: Crea directory di lavoro**

Il file system di Windows richiede percorsi leggermente diversi da Linux, non dimenticare di regolarli di conseguenza:

:: Creare una directory di lavoro sull'unità D mkdir D:\vaultwarden cd D:\vaultwarden :: Creare una directory di dati per l'archiviazione persistente :: IMPORTANTE: Esegui regolarmente il backup di questa directory! mkdir vw-data

Fase 2: Creare un file Docker Compose Crea un file chiamato docker-compose.yml (con un editor come Notepad++ o VS Code):

Importanti modifiche per Windows:

Versione: "3.8" servizi: vaultwarden: immagine: vaultwarden/server:ultimo nome_container: riavvio di vaultwarden: Ambiente a meno che non sia stato fermato: # Per l'installazione locale di Windows - cambiare DOMAIN per uso esterno: "http://localhost:8080" # GRAZIE AL CAMBIAMENTO: Generare un token di amministrazione sicuro # PowerShell: -join ((1..32) ?? ForEach {'{0:X}' -f (Get-Random -Max 16)}) ADMIN_TOKEN: "YourSecureAdminToken123" WEBSOCKET_ENABLED: "vero" # Impostare su "falso" dopo la configurazione iniziale! SIGNUPS_ALLOWED: volumi "veri": # Sintassi del percorso di Windows con forwardslash - porte ./vw-data/:/data/: # Localhost Binding per uso locale - "127.0.0.1:8080:80" - "127.0.0.1:3012:3012"

Fase 3: Avvia Vaultwarden Ora aprite PowerShell o Prompt dei comandi come amministratore nella directory Vaultwarden:

:: Contenitore di avvio (scarica automaticamente l'immagine) docker-compose up -d :: Controllare lo stato - dovrebbe visualizzare "Up" docker-compose ps :: In caso di problemi: Visualizza i registri docker-compose logs vaultwarden

Fase 4: Configurare Windows Firewall (opzionale) Se vuoi rendere disponibile il tuo nuovo Vaultwarden sulla rete:

:: Creare una regola firewall per la porta 8080 netsh advfirewall firewall aggiungere il nome della regola="Vaultwarden" dir=in action=allow protocol=TCP localport=8080

Fase 5: Crea servizio Windows (opzionale) Per l'avvio automatico con Windows, ad esempio, utilizzare NSSM (Non-Sucking Service Manager):

  1. Scarica NSSM: https://nssm.cc/scaricare e decomprimere
  2. Creare un servizio (PowerShell in qualità di amministratore):
# Regolare il percorso NSSM cd C:\nssm-2.24\win64 # Installa il servizio .\nssm.exe installa VaultwardenService # Imposta eseguibile (Docker Desktop deve essere installato) .\nssm.exe set VaultwardenService Application "C:\Program Files\Docker\Docker\Docker Desktop.exe" # Imposta la directory di lavoro .\nssm.exe imposta VaultwardenService AppDirectory "C:\vaultwarden" # Avviare il ritardo (in modo che Docker Desktop inizi per primo) .\nssm.exe set VaultwardenService AppExit Riavvio predefinito .\nssm.exe set VaultwardenService DependOnService Docker Desktop Service # Avvia il servizio .\nssm.exe Avvia VaultwardenService

Questo completa anche l'installazione su Windows, Continuare alla sezione Configurazione.

3. Installazione su macOS

prerequisiti

# Installare Homebrew (se non già disponibile) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # Docker install brew install --cask docker # Avviare Docker Desktop aperto /Applicazioni/Docker.app

Installazione passo-passo

Fase 1: Crea directory di lavoro macOS utilizza strutture di percorso simili a Unix, quindi simili a Linux:

# Creare una directory di lavoro nella home directory mkdir -p ~/vaultwarden cd ~/vaultwarden # Creare una directory per i dati Vaultwarden # IMPORTANTE: Backup regolare - tutte le password sono memorizzate qui! mkdir vw-data

Fase 2: Creare un file Docker Compose Utilizza un editor di testo come nano, vim o TextEdit:

# Creare file con nano (consigliato per l'uso terminale) nano docker-compose.yml

Configurazione specifica per macOS:

Versione: "3.8" servizi: vaultwarden: immagine: vaultwarden/server:ultimo nome_container: riavvio di vaultwarden: Ambiente a meno che non sia stato fermato: # Per uso locale - cambiare dominio per uso esterno DOMAIN: "http://localhost:8080" # GRAZIE AL CAMBIAMENTO: Genera un token sicuro # Terminale: openssl rand -hex 32 ADMIN_TOKEN: "YourSecureAdminToken123" WEBSOCKET_ENABLED: "vero" # Disattiva dopo l'installazione per motivi di sicurezza! SIGNUPS_ALLOWED: "vero" # Specifico per macOS: Imposta il fuso orario TZ: Volumi "Europa/Berlino": # Percorso macOS (Tilde non è supportato da Docker, quindi percorso relativo) - porte ./vw-data/:/data/: # Localhost binding per la sicurezza - "127.0.0.1:8080:80" - "127.0.0.1:3012:3012"

Fase 3: Avvia Vaultwarden

# Avviare i contenitori in background docker-compose up -d # Controllare lo stato (dovrebbe mostrare "up" e "healthy") docker-compose ps # Controllare i registri per i problemi docker-compose logs -f vaultwarden

Fase 4: Configurare macOS Firewall (opzionale) Se macOS Firewall è abilitato:

# Controlla lo stato corrente del firewall sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate # Consenti ai docker di connessione in entrata sudo /usr/libexec/ApplicationFirewall/socketfilterfw --aggiungi /Applications/Docker.app/Contents/MacOS/Docker sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /Applications/Docker.app/Contents/MacOS/Docker

Fase 5: Avvio automatico con macOS (LaunchAgent) Per avviare automaticamente Vaultwarden all'avvio, viene creato un file LaunchAgent:

# Creare la directory LaunchAgent (se non disponibile) mkdir -p ~/Library/LaunchAgents # Creare il file LaunchAgent nano ~/Library/LaunchAgents/com.vaultwarden.plist

Configurazione di LaunchAgent (personalizza il nome utente):

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-/Apple//DTD PLIST 1.0//IT" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.vaultwarden</string> <key>ProgramArguments</key> <array> <!-- ZWINGENDEN Percorso per docker-compose (che docker-compongono) --> <string>/usr/local/bin/docker-compose</string> <string>up</string> <string>-d</string> </array> <key>WorkingDirectory</key> <!--- Inserisci il tuo nome utente --> <string>/Users/yourusername/vaultwarden</string> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> <key>StandardOutPath</key> <string>/tmp/vaultwarden.stdout</string> <key>StandardErrorPath</key> <string>/tmp/vaultwarden.stderr</string> </dict> </plist>

Attivare LaunchAgent:

# LaunchAgent caricare e attivare il carico launchctl ~/Library/LaunchAgents/com.vaultwarden.plist # Controllare lo stato launchctl list ?? grep vaultwarden # In caso di modifiche: Ricarica LaunchAgent launchctl scarica ~/Library/LaunchAgents/com.vaultwarden.plist carica il launchctl ~/Library/LaunchAgents/com.vaultwarden.plist

Fase 6: Integrazione Homebrew (opzionale) Per un'integrazione macOS ancora più pulita, è possibile utilizzare i servizi Homebrew:

# Installazione di servizi homebrew (se non disponibili) rubinetto birra homebrew / servizi # Creare un semplice servizio di wrapper brew services start docker # In alternativa: Avviare vaultwarden direttamente tramite il comando Docker alias vaultwarden-start="cd ~/vaultwarden && docker-compose up -d" alias vaultwarden-stop="cd ~/vaultwarden && docker-compose down" alias vaultwarden-logs="cd ~/vaultwarden && docker-compose logs -f" # Salvare gli alias in modo permanente in .zshrc o .bash_profile echo 'alias vaultwarden-start="cd ~/vaultwarden && docker-compose up -d"' >> ~/.zshrc echo 'alias vaultwarden-stop="cd ~/vaultwarden && docker-compose down"' >> ~/.zshrc echo 'alias vaultwarden-logs="cd ~/vaultwarden && docker-compose logs -f" >> ~/.zshrc

E Zack, e' cosi' che puo' andare veloce. Installazione completata. Ora diamo un'occhiata alla configurazione in dettaglio nella prossima sezione.

Configurazione e gestione avanzate

Primi passi: Il pannello di amministrazione

Il pannello di amministrazione è l'interfaccia di gestione centrale per il nuovo server Vaultwarden:

  1. accesso: Vai a https://domain.de/admin (oppure http://localhost:8080/admin solo con configurazione locale)
  2. autenticazione: Inserisci il token di amministrazione che hai definito nel file Docker Compose
  3. Impostazioni iniziali importanti:
    • Configurazione SMTP: Richiesto per le notifiche via e-mail e 2FA via e-mail
    • Impostazioni del dominio: Deve corrispondere al tuo URL effettivo
    • Registrazione dell'utente: Dopo la configurazione iniziale si prega di disattivare per motivi di sicurezza! (Puoi invitare comunque)
    • Percorsi di backup: Definire le directory per i backup automatici

Altre frasi sul messaggio di errore relativo all'admin_token visualizzato in giallo sopra:

La sicurezza è il be-all e end-all, soprattutto quando si tratta di cose sensibili come il tuo nuovo gestore di password. Per molto tempo è stato ADMIN_TOKEN in Vaultwarden disponibile solo in testo semplice, non la soluzione più sicura, come tutti sappiamo. Non ti preoccupare, è finita! Dalla versione 1.28.0+ è possibile hash il token correttamente e quindi rendere la vostra istanza ancora più sicuro.

Perche' l'avresti fatto?

Immagina che qualcuno abbia accesso al tuo config.json o le variabili d'ambiente. Se il ADMIN_TOKEN Questa persona ha accesso diretto al tuo server Vaultwarden. Con un token hashed, questo è praticamente impossibile, dal momento che la password originale non può essere ricostruita dall'hash. Ottimo, vero?

Vaultwarden ora utilizza Argon2, un algoritmo hash specificamente progettato per la crittografia delle password e considerato molto sicuro. Un token hashed è chiamato PHC String (Concorso di hashing di password).

Ok, e come faccio a creare l'hash?

Il modo più semplice per farlo è direttamente tramite la funzione integrata di Vaultwarden stessa. Hai due opzioni:

1. Il modo più semplice: hash di vaultwarden

Vaultwarden viene fornito con il proprio piccolo strumento che ti dà il PHC String generato. La cosa migliore? Ci sono due preset: il Di default di Bitwarden e il Raccomandazioni OWASP. Le raccomandazioni OWASP sono le più sicure delle due, ma entrambe rappresentano un miglioramento significativo rispetto al testo normale.

Per creare l'hash, è sufficiente immettere il comando appropriato. Presumo che si esegue Vaultwarden come descritto sopra nel Docker e chiamare il contenitore vwcontainer, Basta sostituirlo con il nome del tuo contenitore.

Con Bitwarden Defaults (predefinito):

docker exec -it vwcontainer /vaultwarden hash
# o in alternativa direttamente tramite il binario:

./hash di vaultwarden

Con le raccomandazioni OWASP (consigliato):

docker exec -it vwcontainer /vaultwarden hash --preset owasp
# o in alternativa direttamente tramite il binario:

./vaultwarden hash --preimpostato owasp

Il comando chiede due volte per una password e poi sputa il finito PHC String Spegni. È sufficiente copiarlo nella configurazione.

Importante: Se hai già salvato le impostazioni tramite l'interfaccia di amministrazione, le variabili di ambiente vengono ignorate. Quindi devi anche aggiornare la password tramite l'interfaccia di amministrazione!

2. Il modo fai-da-te: argon2 CLI

Se preferisci prenderlo nelle tue mani, puoi anche argon2-CLI Utilizzare lo strumento che è disponibile sulla maggior parte delle distribuzioni Linux. Qui è necessario specificare manualmente i parametri per le impostazioni Bitwarden o OWASP.

Con i default di Bitwarden:

echo -n "YourMegaSecretPassword" ?? argon2 "$(openssl rand -base64 32)" -e -id -k 65540 -t 3 -p 4

Con le raccomandazioni OWASP:

echo -n "YourMegaSecretPassword" ?? argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1

Semplice YourMegaSecretPassword Sostituisci con la password desiderata. Il terminale vi darà il PHC String indietro.

Cosa devo fare con la stringa PHC?

Se si dispone della stringa, è possibile utilizzarla nella configurazione Docker. Il modo più semplice per farlo è attraverso le variabili d'ambiente nel tuo docker-compose.yml Fascicolo. E molto importante: Dopodiché, non accedi più con il token stesso, ma con il tuo password, che hai inserito quando hai creato l'hash.

Attenzione: In nessun caso elabora manualmente il config.json. Questo può portare rapidamente a problemi. Invece, è meglio utilizzare l'interfaccia di amministrazione per aggiornare le impostazioni.

E se vedi ancora il fastidioso avviso che il tuo token non è sicuro, allora hai salvato le impostazioni una volta tramite l'interfaccia di amministrazione, o la configurazione non è del tutto corretta. In questo caso, controllare il Documentario sulla sostituzione variabile in Docker-Compose oppure i suggerimenti direttamente nel Github Vaultwarden Repo.

Pronti? Ecco, allora. Ecco quanto è facile rendere il tuo server Vaultwarden molto più sicuro.

Crea il primo utente

La configurazione iniziale di un account amministratore:

  1. registrazione: Vai a https://domain.de (pagina principale)
  2. Crea un account: Clicca su "Crea account" - funzionerà solo se SIGNUPS_ALLOWED: "vero" è impostato
  3. Dati di accesso sicuri:
    • Utilizza un indirizzo email valido (importante per 2FA e recupero)
    • Scegli una password principale forte e unica (almeno 12 caratteri, caratteri speciali, numeri)
  4. E-mail di conferma: Se la verifica e-mail è attivata, clicca sul link di conferma
  5. Importante: Dopo aver creato il primo account di amministrazione, dovresti assolutamente SIGNUPS_ALLOWED in data "falso" Preparatelo!
Interfaccia di amministrazione di Vaultwarden dopo l'installazione

Creare organizzazioni e gruppi

Vaultwarden supporta le organizzazioni a condividere le password in team o famiglie.

Creare un'organizzazione:

  1. Accedi all'interfaccia web di Vaultwarden
  2. Clicca su "Nuova organizzazione" → "Crea organizzazione"
  3. Nomi indicati (ad esempio "Family Mustermann" o "Company XY")
  4. Scegli un tipo di organizzazione (famiglia o azienda)

Attivare i gruppi:

I gruppi devono essere abilitati esplicitamente in Vaultwarden da una variabile d'ambiente nel file Docker Compose:

ambiente: # Abilita la funzionalità di gruppo ORG_GROUPS_ENABLED: "vero"

Dopo l'attivazione, puoi anche creare gruppi:

  1. Selezionare l'organizzazione → "Gestione" → "Gruppi"
  2. "Nuovo gruppo" → Dare nomi (ad esempio "Admin", "Utenti")
  3. Definire i diritti di accesso e assegnare i membri

Riscossioni e controlli degli accessi:

Le collezioni organizzano le voci del Vault all'interno di un'organizzazione:

  1. "Gestisci" → "Collezioni" → "Nuova collezione"
  2. Definire i diritti di accesso per gruppo/utente:
    • Solo lettura: Può visualizzare e utilizzare le password
    • Lettura/Scrittura: Può modificare le voci
    • Gestisci: Accesso completo, inclusa la cancellazione

Impostare l'autenticazione a due fattori (2FA/MFA)

Vaultwarden supporta vari metodi 2FA, che dovrebbero essere attivati per la massima sicurezza.

Metodi 2FA supportati:

  • Codici e-mail: Metodo più semplice, il codice viene inviato via e-mail
  • TOTP (OTP basato sul tempo): Autenticatore di Google, Authy, Microsoft Authenticator
  • duo: Servizio professionale 2FA con notifiche push
  • YubiKey: Autenticazione basata su hardware
  • FIDO2 WebAuthn: Chiavi hardware moderne (YubiKey 5, SoloKey, ecc.)

Configurare TOTP (Google Authenticator):

  1. Impostazioni dell'account → "Sicurezza" → "Accesso in due fasi"
  2. Selezionare "Authenticator App"
  3. Scansiona il codice QR con l'app Authenticator
  4. Inserire il codice a 6 cifre per la conferma
  5. Salva il codice di recupero in modo sicuro!

Configurare la chiave hardware (FIDO2):

Ulteriori variabili d'ambiente devono essere impostate per le chiavi hardware:

ambiente: # Abilita FIDO2 WebAuthn FIDO2_ENABLED: "vero" # Dominio per FIDO2 (deve corrispondere esattamente al tuo dominio) DOMINIO: "https://domain.de"

Forza 2FA a livello globale (funzione Enterprise):

Vaultwarden offre opzioni per forzare 2FA per tutti gli utenti:

ambiente: # Disattiva la funzione 2FA Remember (forza 2FA ogni volta che accedi) DISABLE_2FA_REMEMBER: "vero" # Abilita politiche organizzative ORG_EVENTS_ENABLED: "vero"

Best practice per la sicurezza

Pannello di amministrazione sicuro esclusivamente per l'accesso locale:

ambiente: # Pannello di amministrazione accessibile solo da alcuni IP ADMIN_ALLOWED_IPS: "192.168.1.0/24,10.0.0.0/8" # Timeout della sessione di amministrazione (in secondi) ADMIN_SESSION_LIFETIME: "3600"

Controllo della registrazione dell'utente:

ambiente: # Disattiva dopo l'installazione! SIGNUPS_ALLOWED: "falso" # Solo gli inviti da account esistenti consentono INVITATIONS_ALLOWED: "vero" # Lista bianca del dominio per le registrazioni SIGNUPS_DOMAINS_WHITELIST: "mycompany.de,confidencewuerdig.com"

Configurazione e-mail per 2FA e inviti:

Le impostazioni SMTP sono essenziali per l'email 2FA e gli inviti degli utenti:

ambiente: # Server SMTP (esempio: Gmail) SMTP_HOST: "smtp.gmail.com" SMTP_FROM: "vaultwarden@ihr-domain.de" SMTP_PORT: SMTP_SECURITY "587": "starttls" SMTP_USERNAME: "il tuo-email@gmail.com" # Password dell'app richiesta su Gmail! SMTP_PASSWORD: "Password della tua app"

Tentativi di accesso non riusciti:

ambiente: # Abilita registrazione estesa EXTENDED_LOGGING: "vero" # Login non riusciti log LOG_LEVEL: "avvertimento" # File di registro (facoltativo) LOG_FILE: "/data/vaultwarden.log"

Funzionalità di sicurezza avanzate

Configurare l'accesso di emergenza:

L'accesso di emergenza consente a persone fidate di accedere al Vault in caso di emergenza:

  1. Impostazioni account → Accesso di emergenza
  2. Aggiungere una persona di fiducia tramite indirizzo e-mail
  3. Definire i tempi di attesa (ad es. 7 giorni)
  4. Seleziona il tipo di accesso: "Mostra solo" o "Accesso completo"

Rapporti sullo stato di salute di Vault:

Vaultwarden fornisce analisi di sicurezza integrate:

  • Password deboli: Identifica le password non sicure
  • Password riutilizzate: Trova credenziali duplicate
  • password compromesse: Controlli nel database HaveIBeenPwned
  • Siti web non sicuri: Avverte contro i siti HTTP con i dati di accesso

Fail2Ban per la protezione della forza bruta:

I sistemi Linux dovrebbero configurare Fail2Ban:

# Fail2Ban installare sudo apt installare fail2ban # Crea filtro vaultwarden sudo nano /etc/fail2ban/filter.d/vaultwarden.conf

Configurazione di Fail2Ban:

[Definizione] failregex = ^.*Nome utente o password non è corretto\. Prova di nuovo. PI: <HOST>\. Nome utente:.*$ ignoreregex =
# Configurazione della prigione sudo nano /etc/fail2ban/jail.d/vaultwarden.conf
[vaultwarden] enabled = true port = 80.443 filter = vaultwarden action = iptables-allports[name=vaultwarden] logpath = /opt/vaultwarden/vw-data/vaultwarden.log maxretry = 3 bantime = 14400 findtime = 14400

Monitoraggio e manutenzione

Attuare la verifica dello stato di salute:

servizi: vaultwarden: # ... altre configurazioni healthcheck: prova: ["CMD", "curl", "-f", "http://localhost:80/alive"] intervallo: 30s timeout: 10s si riprova: 3 inizio_periodo: anni '40

Impostare la rotazione dei log:

ambiente: # Limite di log LOG_LEVEL: "avvertimento" # Dimensione massima del file di registro LOG_FILE: "/data/vaultwarden.log"

Configurazione di Logrotate:

sudo nano /etc/logrotate.d/vaultwarden
/opt/vaultwarden/vw-data/vaultwarden.log { settimanalmente missingok ruota 52 comprimi notifempty crea 644 root postrotate docker-compose -f /opt/vaultwarden/docker-compose.yml riavvia vaultwarden endscript }

Clienti Bitwarden e strumenti compatibili

Estensioni del browser

Tutte le estensioni ufficiali del browser Bitwarden funzionano perfettamente con Vaultwarden:

browser basati su Chrome/Chromium

Firefox

Safari

  • nome: Bitwarden per Safari
  • installazione: Mac App Store → Scarica Bitwarden
  • specificità: Richiede l'app desktop come base

Configurazione dell'estensione del browser:

Dopo l'installazione devi puntare l'estensione al tuo server Vaultwarden:

  1. Installare e aprire l'estensione
  2. Fare clic sull'icona Impostazioni (ingranaggio)
  3. Modificare l'URL del server in: https://domain.de (oppure http://localhost:8080 con configurazione locale)
  4. Accedi con le tue credenziali Vaultwarden

App per dispositivi mobili

androide

Diverse opzioni sono disponibili qui:

App ufficiale Bitwarden:

F-Droid alternativa:

  • nome: Bitwarden (open source)
  • Scarica: Repository di F-Droid
  • vantaggio: Completamente open source, nessun servizio Google richiesto

iOS/iPadOS

Configurazione delle app per dispositivi mobili:

  1. Installare e aprire l'app
  2. Al momento della registrazione, tocca Self-hosted o Enterprise
  3. Inserire l'URL del server: https://domain.de
  4. Accedi con l'account Vaultwarden
  5. Abilita lo sblocco biometrico nelle impostazioni dell'app (consigliato)

Applicazioni desktop

finestre

  • Scarica: https://bitwarden.com/download/
  • Formati disponibili: .exe-Installer, Microsoft Store, Cioccolatoso, Winget
  • Installazione tramite Winget: Installazione di winget Bitwarden.Bitwarden

macOS

  • Scarica: Mac App Store o direttamente da bitwarden.com
  • Installazione tramite Homebrew: brew install --cask bitwarden
  • Caratteristiche: Integrazione con Touch ID, integrazione con l'estensione Safari

Linux

Molteplici opzioni di installazione disponibili:

  • AppImage: Universalmente operabile su tutte le distribuzioni
  • Pacchetto .deb: Per i sistemi basati su Debian/Ubuntu
  • Snap: snap install bitwarden
  • Flatpak: flatpak installa flathub com.bitwarden.desktop
  • AUR (Arch Linux): yay -S bitwarden

Interfaccia a riga di comando (CLI)

Bitwarden CLI è anche un potente strumento per l'automazione e lo scripting:

Installazione:

# Via npm (Node.js richiesto) npm install -g @bitwarden/cli # Tramite Snap snap install bw # Via Chocolatey (Windows) choco installare bitwarden-cli

Configurazione e utilizzo:

# Configurazione dei server bw config server https://her-domain.de # Accedi bw login your-email@domain.de # Sblocca vault (restituisce token di sessione) esporta BW_SESSION=$(bw sbloccare --raw) # Elementi dell'elenco Elementi dell'elenco bw # Recuperare la password per il sito specifico bw ottenere la password github.com # Create new entry bw create item '{"type":1,"name":"example","login":{"username":"test@example.com","password":"password segreta"}}'

Strategie di backup

script di backup automatico (Linux/macOS)

#!/bin/bash BACKUP_DIR="/backup/vaultwarden" DATA=$(data +%Y%m%d_%H%M%S) # Crea directory di backup mkdir -p $BACKUP_DIR # Contenitore di arresto docker-comporre arresto vaultwarden # Backup dei dati tar -czf $BACKUP_DIR/vaultwarden_backup_$DATE.tar.gz ./vw-data/ # Avvio contenitore docker-comporre avvio vaultwarden # Elimina i vecchi backup (più vecchi di 30 giorni) trova $BACKUP_DIR -nome "vaultwarden_backup_*.tar.gz" -mtime +30 -cancella

Impostare questo script come un cronjob:

# Modifica crontab crontab -e # Backup giornaliero alle 2:00 0 2 * * * /path/to/backup-script.sh

Raccomandazioni di sicurezza

1. Autenticazione forte

  • Utilizza sempre token di amministrazione complessi
  • È anche meglio abilitare l'autenticazione a due fattori per tutti gli account
  • Disabilita la registrazione dopo l'installazione e invita invece gli utenti

2. Sicurezza della rete

  • Utilizza sempre HTTPS in produzione
  • Limita l'accesso tramite regole firewall
  • Implementa fail2ban per la protezione della forza bruta

3. Aggiornamenti di sistema

# Aggiornamenti regolari del contenitore docker-compose pull docker-compose up -d # Aggiornamenti di sistema sudo apt update & & sudo apt upgrade

Risoluzione dei problemi

Problemi e soluzioni comuni

Problema: L'interfaccia web non si carica

# Controlla i tronchi dei container docker-compose logs vaultwarden # Controllare i conflitti di porta netstat -tulpn ?? grep :8080

Problema: L'estensione del browser non si connette

  • Controlla l'URL del server nelle impostazioni dell'estensione
  • Assicura che HTTPS sia abilitato (ad eccezione di localhost)
  • Controlla le impostazioni del firewall

Problema: L'email non funziona

  • Controllare le impostazioni SMTP nel pannello di amministrazione
  • Controllare i registri per gli errori di autenticazione SMTP
  • Utilizzare le password dell'app specifiche del provider di posta elettronica

conclusione

Vaultwarden è un'ottima alternativa per chiunque voglia controllare completamente la propria gestione delle password. Con un basso consumo di risorse e la piena compatibilità con tutti i clienti Bitwarden, fornisce una soluzione professionale per le imprese private e piccole.

L'impostazione una tantum richiede una comprensione tecnica, ma i benefici a lungo termine in termini di protezione dei dati, controllo e risparmio sui costi compensano più che altro lo sforzo. Con le istruzioni di installazione fornite e le raccomandazioni di sicurezza, nulla ostacola una configurazione di auto-hosting di successo.

Nota importante: Non dimenticare mai di eseguire backup regolari e mantenere aggiornata l'installazione. Con una tale configurazione, la sicurezza delle tue password è interamente di tua responsabilità!

Ulteriori risorse


Questo articolo è stato compilato con le informazioni della documentazione ufficiale Vaultwarden e le esperienze della comunità. Stato: agosto 2025