Bitwarden è un gestore di password gratuito e open source che archivia informazioni sensibili in un archivio crittografato. È sviluppato in C# utilizzando .NET Core e ASP.NET Core, e il suo database si basa su T-SQL/SQL Server.
Bitwarden è un servizio cloud accessibile tramite diverse applicazioni client, il che lo rende multipiattaforma: tramite web, app desktop (Windows, macOS, Linux), app mobili, estensioni per browser (Chrome, Firefox, Safari, Edge, Opera, Vivaldi, Brave, Tor) o tramite interfaccia a riga di comando (CLI).
Uno dei principali motivi per utilizzare Bitwarden è evitare i gestori di password di terze parti, dove i dati sensibili vengono archiviati su server esterni. Con Bitwarden puoi invece ospitare il servizio sul tuo server sicuro, mantenendo il pieno controllo dei tuoi dati.
Bitwarden è composto da un gruppo di container, ciascuno contenente un componente funzionale separato, come il database o il server web. Pertanto, per installare ed eseguire Bitwarden è necessario un sistema di containerizzazione, ovvero Docker.
Open source
Basato sullo standard di crittografia AES a 256 bit
Supporto per l’autenticazione a due fattori (2FA)
Sistema di verifica e auditing delle password
Supporto per autenticazione biometrica
Possibilità di ospitare il server localmente
Applicazioni client multipiattaforma su tutti i principali sistemi operativi
Questa guida utilizza comandi per sistemi operativi di tipo UNIX, in particolare Debian/Ubuntu, spesso impiegati per il deploy di applicazioni server.
Prima di installare e configurare Bitwarden, assicurati che tutti i pacchetti di sistema siano aggiornati:
sudo apt update
sudo apt upgrade
Se il server è nuovo, installa alcuni strumenti di base:
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Successivamente, assicurati di avere Docker e Docker Compose installati per gestire i container di Bitwarden.
Aggiungi la chiave GPG ufficiale di Docker, utilizzata per firmare i pacchetti:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Aggiungi quindi il repository Docker per ottenere la versione più recente:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Aggiorna nuovamente il sistema:
sudo apt update
Infine, installa Docker e Docker Compose:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose
Per migliorare la sicurezza, crea un utente dedicato con permessi limitati.
Crea la directory per Bitwarden:
sudo mkdir /opt/bitwarden
Crea l’utente:
sudo adduser bitwarden
Assegna i permessi corretti alla directory:
sudo chmod -R 700 /opt/bitwarden
sudo chown -R bitwarden:bitwarden /opt/bitwarden
Consenti all’utente Bitwarden di eseguire comandi Docker:
sudo usermod -aG docker bitwarden
Passa all’utente Bitwarden e spostati nella directory di installazione:
su bitwarden
cd /opt/bitwarden
Anche se non hai esperienza con Docker, gli sviluppatori di Bitwarden hanno fornito uno script di installazione automatizzato.
Scaricalo e rendilo eseguibile:
curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh && chmod 700 bitwarden.sh
Esegui lo script:
./bitwarden.sh install
Durante l’installazione, ti verranno richieste diverse informazioni, come:
Il nome di dominio per il tuo server Bitwarden
Il nome del database
Se desideri utilizzare Let’s Encrypt per ottenere un certificato SSL gratuito
Ti verrà inoltre richiesto di inserire un ID di installazione e una chiave, che puoi generare sul sito ufficiale di Bitwarden.
Sebbene opzionale, è consigliato configurare un server SMTP per gestire i messaggi di login e amministrazione. Modifica il file ./bwdata/env/global.override.env e aggiungi i seguenti parametri:
globalSettings__mail__smtp__host=smtp.gmail.com
globalSettings__mail__smtp__port=587
globalSettings__mail__smtp__ssl=true
globalSettings__mail__smtp__username=tuo_email@gmail.com
globalSettings__mail__smtp__password=tua_password
adminSettings__admins=tuo_email@gmail.com
Se conosci già Docker, puoi usare un server email containerizzato come docker-mailserver, ottimo per questo tipo di configurazione. In alternativa, puoi utilizzare un server pubblico come Gmail (anche se è meno sicuro):
globalSettings__mail__replyToEmail=tuo_email@gmail.com
globalSettings__mail__smtp__host=smtp.gmail.com
globalSettings__mail__smtp__username=tuo_email
globalSettings__mail__smtp__password=tua_password
globalSettings__mail__smtp__ssl=true
globalSettings__mail__smtp__port=587
globalSettings__mail__smtp__useDefaultCredentials=false
globalSettings__disableUserRegistration=true
Dopo la configurazione, Bitwarden invierà notifiche tramite il tuo account Gmail. Assicurati di attivare l’opzione “consenti app meno sicure” nel tuo account, altrimenti Google bloccherà la connessione.
Se utilizzi un altro servizio di posta, consulta i suoi parametri SMTP (host, porta, SSL, ecc.) e impostali in modo analogo. Se i messaggi non vengono inviati correttamente, utilizza un verificatore SMTP online per testare e regolare la configurazione.
Avvia il server utilizzando lo stesso script:
./bitwarden.sh start
Apri un browser e accedi al server tramite il suo IP o dominio. Per aprire il pannello di amministrazione, aggiungi /admin all’URL.
La pagina ti chiederà l’indirizzo email impostato nel file global.override.env. Il server SMTP invierà un link di accesso senza password a quell’indirizzo.
Da qui, puoi utilizzare qualsiasi client Bitwarden (desktop, web o mobile) per connetterti al tuo server e gestire in modo sicuro le tue credenziali.
Se si verificano problemi o desideri reinstallare Bitwarden, arresta completamente il servizio:
./bitwarden.sh stop
Elimina la directory dei dati:
rm -r ~/bwdata
E reinstalla se necessario:
./bitwarden.sh install
L’installazione di Bitwarden è semplice, grazie allo script automatizzato fornito dagli sviluppatori. Una volta configurato, puoi proteggere i tuoi dati sensibili con questo potente gestore di password, utilizzando DNS, SSL e SMTP a seconda delle tue esigenze. Per ulteriori dettagli e suggerimenti pratici, consulta la documentazione ufficiale di Bitwarden.